aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorEric Yue <jiacheng.yue@foxmail.com>2026-09-15 21:48:58 +0800
committerGitHub <noreply@github.com>2026-09-15 17:48:58 +0400
commit7808478d3bc7004b05aa41665ca11efb208033bd (patch)
treebfaffaa386c7b22f5af5b3a0a707054d13645370 /docs
parent35707684b9de1b2e2b6be5de5a49e69ad57ac36b (diff)
fix: reconcile client locations after no-focus pane moves (#4171)
refs #4153 Root cause: A no-focus pane move can remove the source tab without changing the server's numeric workspace and tab coordinates. PaneMove is not classified as a topology change, so a client viewing that tab retains its deleted ID. Its target lookup falls back to the server default and can follow a later, unrelated focus change instead of staying in the source workspace. Fix: Include PaneMove in the existing client-location reconciliation path. Extend the existing focus-guard test with a client on the removed tab and verify that a later server-default change cannot move its view. Preserve the other client's view and existing error, no-op and zoom assertions. Validation: The minimized regression fails five times on PR #4159's unchanged head and passes five times with the one-line fix. All 19 pane-move tests, native lint, maintenance, architecture and integration-asset checks pass. Full native just ci on the publication branch, including the unchanged prerequisites from #4159 and #4168, passes 3585 Rust tests with six default skips plus lint, 106 maintenance, six architecture and 39 integration-asset tests. All seven docs contract tests pass. Local Windows cross-lint was not run because its SDK is unavailable. No geometry policy, protocol or periodic rendering behavior is changed.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions