Stopped marking persistent bash sessions as permanently broken when the JavaScript abort or timeout race wins. Stopped the Rust descendant kill-wave helper once no cancellation targets remain so later commands are not swept into old cancels. Fixes #1347