Skip to content

Reveal tab sources in channel timelines - #3220

Draft
jawspeak wants to merge 2 commits into
block:mainfrom
jawspeak:jaw/show-tab-source
Draft

jawspeak wants to merge 2 commits into
block:mainfrom
jawspeak:jaw/show-tab-source

Conversation

@jawspeak

@jawspeak jawspeak commented Nov 10, 2026 •

Copy link
Copy Markdown

Why

Thread tabs hide their source-channel link and menu action when that channel is already open. The existing action can also open another thread instead of revealing the original in the timeline.

What

Show the source link and Show original message in channel/chat action for current-channel threads too. Reveal the verified top-level original while retaining the thread tab, draft and Back/Forward history. Show a failure with Retry when the source cannot be found.

How

Reuse the shared link Button, tab menu, navigation controller and bounded message seeker. Prefer the thread reader’s verified root, and resolve unresolved ancestry through the existing exact reader. The explicit timeline destination preserves ordinary message-link behavior, ignores provisional hints and cancels obsolete resolutions.

Risk

This changes shared conversation-tab navigation in Channels and Activity. Existing channel availability checks and history limits still apply. No relay schema, native host or dependency changes.

Testing

Added one browser journey and removed none. It covers real focus, virtualized positioning, a retained main-pane draft, Back/Forward and repeated activation after reselecting the thread. The cold-history Activity journey now verifies timeline focus and return to its original tab. Existing Activity scroll-restoration cases retain their assertions; their live-event barrier now uses a relay summary after releasing held history.

The repeated-source browser assertion, verified-root owner assertion and stale-menu owner assertion all failed before their fixes and passed afterward. Independent agent review found no remaining blockers. Inspected source-link screenshots in light/wide and dark/narrow layouts; browser checks cover both themes at 800px and 1440px with enlarged text.

Deferred: native desktop acceptance and human testing. To try: open a thread, type a draft, move its tab to the main pane, select In #channel, then use Back/Forward and repeat the source action after reselecting the thread. The original should be focused in the timeline, and the draft should survive.

Generated with Codex

jawspeak and others added 2 commits November 10, 2026 12:49
Keep the source action available in the current channel and reveal the verified top-level original while preserving retained tabs and navigation history.

Co-authored-by: jaw-gpt56sol <ea4d48fe3c0a6de67bdc4128679b983e511642f2579429941cfcdf0eede927fb@buzz.block.builderlab.xyz>
Signed-off-by: Jonathan Andrew Wolter <44742+jawspeak@users.noreply.github.com>
Use the reader-verified original when the selected reply is no longer available. Resolve unresolved selections without trusting a link hint.

Co-authored-by: jaw-gpt56sol <ea4d48fe3c0a6de67bdc4128679b983e511642f2579429941cfcdf0eede927fb@buzz.block.builderlab.xyz>
Signed-off-by: Jonathan Andrew Wolter <44742+jawspeak@users.noreply.github.com>

This branch has not been deployed

No deployments
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.

1 participant