Revert #23969: a tab opened to the side starts its open on the right
Reverts #23969 (squash c8f5d31a). The tree is base with #23969's diff inverted exactly (7 files, +38/ā348). Nothing else changes.
Why: #23969 merged on a same-model review. The different-model review that followed (Codex at xhigh) said BLOCK:
- Hidden while selected.
OutboundTab.hidesignoresshownByPaneonce a surface or name is marked.LinkOpener.movemarks the tab before it awaits the move, so if the user selects that tab in the gap, the selected tab disappears from the strip. Selection, Cmd-W and tab indexes can then go stale. - No departure check.
finish(moved: true)releases the hold after 2 s regardless. IfTabMovesacknowledges before the source pane's snapshot drops the tab, the tab reappears in the left strip, the same race #23969 set out to fix. - Raw-id keys. Holds are keyed by tab id or surface alone, so an agent or provisional id reused while a hold is active is hidden too.
- Tests miss these. The tests mutate the snapshot directly and complete at once. They cover none of the cases above.
Before this PR: a tab opened to the side first shows on the right, with those edge cases. After: back to the behaviour before #23969, where the tab plays its open animation for about 100 ms in the left pane's strip and then moves right. A re-land with the fixes and a different-model review before merge follows.
Leo-ask: ask-f6988c508c
Leo-ask: ask-35d63f0002
Leo: "the animation for opening up a new tab starts off in the left pane, and it doesn't start off at the right"
No capture: an exact revert to the state before #23969; the before-and-after behaviour is described in #23969.
Agent session: cosmic-gray
š¤ Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Reverts #23969, restoring the previous behavior where a tab opened to the side plays its open animation in the left pane's strip for about 100 ms before moving right.
The revert is exact: #23969's diff inverted, so nothing else changes. It restores the state before that PR, which a different-model review blocked after merge for edge cases (OutboundTab hiding a tab a user selected mid-move, a 2 s hold released without confirming the source pane dropped the tab, and holds keyed by raw ids that can hide a reused id). The feature will be re-landed with those fixed and re-reviewed.