fix(connections): synchronize background connection pane state - #2547
Conversation
a6befa2 to
c3215fc
Compare
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Thanks for the report and the diagnosis, both were exact. I pushed a commit on top that keeps your fix's behaviour and moves it to the ownership boundary, plus a second bug the investigation turned up in the same place. Why more than the one line
A workspace can reach the window with no phase change to follow at all. And a session can be replaced under an unchanged phase. A database switch on a reconnect-based engine hits What the commit doesNothing paints before the phase is final.
That key is what lets Measured, because the fix depends on itProbes built with
TestsYour test is kept and the suite is extended to six cases, each asserting the final phase and the cached render state together: background connect succeeds, connect fails, session lost, reconnect, repeated connected events, and a workspace adopted with a live session. Reverting only the sync in An adversarial review caught two regressions in my own first draft, both fixed here:
No screenshots: the bug needs two connections and a background connect completing while another is selected, which is not something a still frame shows. The regression suite is the evidence instead. |
Purpose
Closes #2545
Fix the case where a workspace that finishes connecting in the background remains stuck on the
Preparing the sessionscreen when selected later.Changes and intent
applyPhase()path for the selected workspace.NSWindow, completes the background connection, selects it, and verifies thatMainContentView.onAppearactivates the coordinator and installs command actions.CHANGELOG.md.Success criteria
coordinator.isActivatedandcommandActions.TableProTestsin 1,517 suites with-testLanguage en -testRegion US.audit-refactor-healthandgit diff --check.A full run under the local Korean system locale exposed 153 existing assertions that compare localized output directly with English strings. The same full test target passed when the test language and region were pinned to English. The focused regression test and adjacent suites also passed independently.