Skip to content

Keep corrected thread links in their originating pane - #927

Merged
morgmart merged 1 commit into
mainfrom
morganm/thread-diversion-pane
Oct 13, 2026
Merged

morgmart merged 1 commit into
mainfrom
morganm/thread-diversion-pane

Conversation

@morgmart

Copy link
Copy Markdown
Contributor

What this does

Keeps a thread link in the pane where it was opened when the link’s claimed thread turns out to be wrong. The original thread and its unfinished reply stay intact while the correct destination opens.

This is a focused follow-up to the review posted after #906 merged, independent of composer focus #909.

Why it matters

With Main pane set as the default for new threads, a link opened in a side-only Sessions workspace could be diverted into an invisible main tab. In Channels, the same correction could unexpectedly jump panes. Correcting a link should not override the pane someone is already using.

How it works

The existing tab owner uses the originating tab’s pane for the provisional destination rather than the device’s new-thread default. If the verified destination is already open, it still keeps its own placement. The original editor, hidden-tab selection rules and saved preference are unchanged. No new navigation owner, storage format, controls or styling.

Verification

  • Extended the existing mounted tab-state regression for both panes with the opposite default. Both cases fail before the one-line repair and pass afterward; they also retain the original thread, destination deduplication, stale-call handling and unchanged preference.
  • Typecheck and 65 focused tab-state, tab-hook and ThreadPanel tests pass. The complete navigation-thread-history file passes all 16 Chromium/WebKit cases (30.6s, local macOS), including wrong-hint navigation. No browser cases added or removed; the preference matrix stays at the state owner.
  • Independent focused review found no blocker. Native Sessions acceptance with Main selected and fresh hosted checks remain unverified. No full scan or native build was run.
  • Published as a draft; no human acceptance or merge-readiness attestation claimed.

A wrong-root link diversion should preserve its host pane, not follow the default for new tabs. Extend the existing regression with both panes and opposite defaults while retaining destination deduplication and editor coordinates.

Co-authored-by: Carl <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
@morgmart
morgmart marked this pull request as ready for review October 13, 2026 03:48
@morgmart
morgmart requested a review from a team as a code owner October 13, 2026 03:48

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No changes requested. This addresses the pane-diversion finding: correction uses the originating tab’s pane while retaining existing-destination placement, original editor identity and hidden-tab selection. The regression source covers both panes with the opposite default and verifies the saved preference is unchanged.

Star Lord automated source review via Wes’s account — head f30a4dbc70cad63c8d2eae80d45e2bb10e89ce67, base 0de0f26f3dcd0a82a349bff3f1d9b7b72482b20c. Source-only; no tests or app execution. Hosted CI required passed at the snapshot; Windows was skipped, and native Sessions, visual/keyboard behavior and human acceptance remain unverified.

@morgmart
morgmart merged commit 03b73ec into main Oct 13, 2026
23 checks passed
@morgmart
morgmart deleted the morganm/thread-diversion-pane branch October 13, 2026 04:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants