Skip to content

Align Bestie messaging with the shared conversation workspace - #2614

Merged
mahanti merged 7 commits into
mainfrom
bestie-chat-panels
Nov 5, 2026
Merged

mahanti merged 7 commits into
mainfrom
bestie-chat-panels

Conversation

@mahanti

@mahanti mahanti commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Bestie replaced its entire DM timeline when a reply was opened. It now uses the shared conversation-tab workspace: the DM stays mounted beside resizable thread tabs, with existing placement, move/rename/close controls and retained drafts when the side pane collapses. Profile and GitHub panels use the same workspace and Bestie-scoped history. Back/Forward restores addressed content; explicit Close retires its visits and preserves surviving editor focus.

Bestie selection, canonical DM admission, creation, sending, and saved drafts retain their existing owners. The workspace now supplies the existing ForwardMessageProvider so main and thread message actions can open the shared forwarding dialog; ChannelsPage remains its dialog owner. No shared message, panel, forwarding, or design-system implementation changed.

Checked head: eac213604618e90b3c271cac4094c6bdd5e73d1d (forwarding repair in e6153e79b, plus main through 3ce52cefc).

Validation:

  • All 18 Bestie browser cases passed in Chromium and WebKit, covering geometry, both themes, narrow/wide layouts, enlarged text, draft/DOM retention, focus, history, agent tabs API, pointer feedback, and forwarding action-to-dialog integration.
  • 155 related Bestie and forwarding unit tests passed across 12 files. Mandatory pre-commit and pre-push hooks passed.
  • The new forwarding regression failed on the previous code in both engines because Forward message was absent. With the provider restored, both the main-message toolbar and thread-message More menu open the separate shared dialog and address the selected message.
  • One browser journey was added for this repair; none removed. It covers real floating-action/menu interaction and thread-portal context reaching a separately mounted dialog owner. Shared forwarding policy and send/recovery cases remain with their existing unit tests.
  • Independent review found no blockers in the forwarding repair. Prior history/focus fixes were independently reviewed and checked separately.
  • Current-head hosted CI run 42090615911 passed, including all 23 browser shards, the required aggregate, and advisory flake checks. All 45 applicable hosted/external checks passed; Windows native validation was skipped as configured.

Addressed P2 feedback: bounded workspace height; shared messages tab-state key; scoped application Close All handling; retained inline-panel state on collapse; pointer-drag feedback; Close All focus restoration; restored forwarding context for main and thread messages.

Human acceptance: Arjun confirmed the original workspace on 528a703d7, then explicitly confirmed both restored forwarding paths on e6153e79b on November 5, 2026. The subsequent main integration imports the upstream durable-approval type fix (#2650); the accepted forwarding implementation and regression are unchanged. No live messages were sent during agent verification.

Current CI follow-up: the first forwarding run encountered main's unrelated durable-approval create scope type mismatch. The upstream fix is integrated. TypeScript, all 18 Bestie browser cases, 155 related unit tests, and mandatory hooks passed afterward; the resulting current-head hosted checks also passed.

buzz-review-completed

mahanti and others added 2 commits November 5, 2026 09:15
Co-authored-by: bmo <a7b504d9a2bfe905589e9ac237d7d8d023b8d10547060ec9618e6487b55d756c@buzz.block.builderlab.xyz>
Signed-off-by: Arjun Mahanti <[email protected]>
Co-authored-by: bmo <a7b504d9a2bfe905589e9ac237d7d8d023b8d10547060ec9618e6487b55d756c@buzz.block.builderlab.xyz>
Signed-off-by: Arjun Mahanti <[email protected]>
@mahanti

mahanti commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Synthetic fixture captures of the updated production Bestie conversation/workspace components. Disposable identities and messages only; no live account data.

Checked head: b44f0ed. The depicted feature source is identical to capture commit bab0ce2.

  1. Wide light mode: the main DM and thread remain visible with separate unsent drafts.
  2. Wide dark mode: the same shared tab/split workspace.
  3. Narrow dark mode: the thread uses the full-width overlay while retaining its reply draft.

Browser fixture evidence only; human native/live-account acceptance remains pending.

Bestie main DM and thread in light mode with separate drafts

Bestie shared split workspace in dark mode

Narrow Bestie thread overlay with retained reply draft

@mahanti
mahanti marked this pull request as ready for review November 5, 2026 14:38
@mahanti
mahanti requested a review from a team as a code owner November 5, 2026 14:38

@kalvinnchau kalvinnchau left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🤖 Five actionable findings covering workspace sizing and tab integration.

@mahanti
mahanti marked this pull request as draft November 5, 2026 15:34
Co-authored-by: bmo <a7b504d9a2bfe905589e9ac237d7d8d023b8d10547060ec9618e6487b55d756c@buzz.block.builderlab.xyz>
Signed-off-by: Arjun Mahanti <[email protected]>
@mahanti

mahanti commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

🤖 P2 follow-up captures at b9ad353, using the updated production components with disposable synthetic data.

  1. Narrow multiline DM/thread in an 884px block host: the reply editor stays fully inside the viewport after pane motion settles.
  2. Pointer drag between panes: the shared title preview and insertion indicator are visible.

These are browser fixture captures. Native menu execution and human acceptance remain pending.

Narrow block host keeps the full reply editor in view with multiline history

Real pointer drag shows the shared preview and insertion indicator

@mahanti
mahanti marked this pull request as ready for review November 5, 2026 15:41

@kalvinnchau kalvinnchau left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🤖 One additional focus-restoration issue remains.

Co-authored-by: bmo <a7b504d9a2bfe905589e9ac237d7d8d023b8d10547060ec9618e6487b55d756c@buzz.block.builderlab.xyz>
Signed-off-by: Arjun Mahanti <[email protected]>
@mahanti
mahanti marked this pull request as draft November 5, 2026 15:59
@mahanti
mahanti marked this pull request as ready for review November 5, 2026 16:07
@mahanti
mahanti marked this pull request as draft November 5, 2026 18:02
@mahanti
mahanti marked this pull request as ready for review November 5, 2026 18:30

@kalvinnchau kalvinnchau left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🤖 One forwarding regression found.

@mahanti
mahanti marked this pull request as draft November 5, 2026 18:56
@mahanti

mahanti commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Forwarding restored at e6153e7: the Bestie message action opens the existing shared dialog. Capture uses disposable synthetic identities and messages in the maintained production-component fixture; no live account data. The browser regression also covers the thread message More menu.

Bestie message opens the shared forwarding dialog

@mahanti
mahanti marked this pull request as ready for review November 5, 2026 19:22
@mahanti
mahanti merged commit 1843fc4 into main Nov 5, 2026
46 checks passed
@mahanti
mahanti deleted the bestie-chat-panels branch November 5, 2026 21:34
wpfleger96 added a commit that referenced this pull request Nov 5, 2026
…-service

* origin/main:
  fix(sidebar): highlight collapsed sections with unread channels (#2539)
  perf(threads): isolate thread rows inside the scroller (#2462)
  perf(messages): skip the glass on closed message action bars (#2461)
  perf(threads): measure long-thread scrolling in browsers and the macOS app (#2460)
  docs(threads): set scrolling requirements and targets for long threads (#2459)
  fix(composer): seed required recipients in saved briefs (#2667)
  fix: preserve agent activity ownership and remove Solo composer gap (#2613)
  feat(agents): open agent card links in Create agent (#2662)
  Align Bestie messaging with the shared conversation workspace (#2614)
  feat(messages): add a compact message density (#2547)
  fix(dialog): limit footer click-through to the gradient gutter (#2545)
  fix(channels): put the huddle launcher after the other header tools (#2660)
  feat(drafts-sent): bundle Drafts & sent for everyone (#2644)
  feat(identity): one Builderlab sign-in, the native NIP-FI session (#2576)
  fix(agents): let people dismiss connection setup cards (#2631)
  AIDA-2425: Preserve links beside pasted images (#2520)
  feat(activity): show reactions to your messages in Activity (#2638)

# Conflicts:
#	docs/identity.md
#	src-tauri/src/federated_identity/agent/mod.rs
#	src-tauri/src/federated_identity/mod.rs
#	src-tauri/src/federated_identity/tests.rs
#	src/bundled/codex/runtime.ts
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