mirror of
https://github.com/stablyai/orca.git
synced 2026-10-26 00:03:55 +00:00
The paint guard was failing about two runs in three, and after the merge every run, for a reason that has nothing to do with painting. It staged its full-screen check in a tab it had opened AFTER a reconnect — which is exactly the tab an unrelated session-sync bug destroys on the NEXT reconnect. Two independent failures were riding on one assertion, and the one that fired was not the one the spec is for. Running top in the ORIGINAL tab fixes it. That tab predates every reconnect, so it is in the host snapshot and survives. No assertion changed, none were weakened, and the new-tab case simply moves after the full-screen case rather than before it — it still opens its tab after a reconnect, which is the regression it exists to cover. Five consecutive runs pass at ~13s, against three in eleven before. The bug itself is not swept up. ssh-reconnect-tab-destruction.spec.ts records it as a fixme with the mechanism written down: session-merge spreads the host tab list over the local one, so a local tab missing from the host snapshot has no surviving branch, and the upload that would have put it there is dropped rather than deferred inside the 1s window after a snapshot apply. It is worse than a vanishing tab — the tab bar keeps rendering it, correctly titled, while the terminal slice has dropped it and no pane manager exists, so the user clicks a selected tab that never paints, with no error and no recovery, while the process runs on untouched. fixme rather than a workaround because waiting for the upload would hide it, and a user opening a tab right after a reconnect has no such signal to wait on. It is pre-existing: none of the four files in that path is touched by this branch, and nothing in the merge range touches them either. Also lifts openTerminalTab into a shared helper, since both specs need it and the group argument it must pass is the kind of thing worth stating once.