Skip to content

Polish Compact messages and conversation appearance settings - #2863

Merged
mahanti merged 3 commits into
mainfrom
am-1106-dense-message
Nov 6, 2026
Merged

mahanti merged 3 commits into
mainfrom
am-1106-dense-message

Conversation

@mahanti

@mahanti mahanti commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Compact message density now uses consistent avatars and text hierarchy across timelines, threads, and nested replies. Rows have a quieter full-width hover fill, actions stay at the trailing edge, grouped timestamps appear in the left gutter on hover or keyboard focus, and thinking/tool previews use reaction-sized capsules.

Appearance groups conversation preferences together, embeds the density-aware preview in that group, and hides message-width selection while Compact uses the full conversation width. Default retains its saved width preference. Default reaction spacing is preserved. Thread-root actions can nest below the header and disappear when the root scrolls out of view; timeline clipping and bottom-edge keyboard access remain intact.

Validation

  • Full message-actions-floating browser file: 26 passes across Chromium and WebKit on the refreshed main base.

  • Regression evidence: the focused offscreen-root case failed in both engines before the repair and passed afterward; the existing timeline scroll contract also passes.

  • Two browser cases added, none removed. They exercise real pointer hit testing, native top-layer placement, menus, and scroll geometry that DOM tests cannot prove.

  • Production components exercised with synthetic data for the attached screenshots. Appearance density switching restores the width control in Default.

  • Mandatory pre-commit and pre-push hooks passed, including TypeScript, related unit tests, design-system guards, and destination checks.

  • Hosted CI passed for 57dc06fcf: run 42276701653, 62 jobs successful and one expected skip. Required CI and DCO checks passed.

Remaining acceptance

Native integration verification and explicit final human acceptance have not been recorded in this chat. No buzz-review-completed attestation is claimed. The scratch playground and temporary screenshot route are excluded.

The existing screenshot comment documents commit d94e3e3c1, before the embedded-preview follow-up; no new assets were requested or uploaded for that follow-up.

@mahanti

mahanti commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Screenshots captured and reviewed by Arjun’s AI agent for commit d94e3e3c140d17d33c817f7f19fbd52d467d2372.

These show the actual updated production components with isolated synthetic fixture data, not a native acceptance run. No live accounts, real conversations, identifying avatars, or external publication were used for the captures.

  1. Compact messages: full-width hover and trailing toolbar, grouped timestamp, timeline/thread avatar parity, and reaction-sized thinking/tool previews.
  2. Appearance: conversation preferences grouped with the density-aware preview; message width disabled while Compact uses full width.

Native integration and explicit final human acceptance remain pending.

Compact message hover, grouped timestamp, avatars, and activity capsules; synthetic fixture

Appearance settings with Compact selected and width control disabled; isolated production component

@mahanti
mahanti marked this pull request as ready for review November 6, 2026 19:03
@mahanti
mahanti requested a review from a team as a code owner November 6, 2026 19:03

@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 compact-mode timestamp regression identified by static tracing.

quickControls={
<>
{stackPrevious && showTime && (
{stackPrevious && showTime && !flat && (

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.

🤖 [P3] Preserve keyboard timestamps for custom-rendered compact rows

With Compact density enabled, keyboard-navigating into an agent-audience or execution-failure row no longer shows its timestamp. AgentsMessageRow supplies both stackPrevious and renderMessage (lines 1745–1747): this !flat condition suppresses keyboardMessageTime, while the replacement continuationTime is excluded by !renderMessage at line 1107. Those custom rows have no other timestamp in their render. Default density retains the previous behavior.

Preserve the action-bar timestamp for custom renders, for example with stackPrevious && showTime && (!flat || renderMessage), and extend the keyboard-time browser case to cover Compact agent rows. Established by static tracing; this specific path was not runtime-reproduced.

@mahanti
mahanti merged commit 134f010 into main Nov 6, 2026
66 checks passed
@mahanti
mahanti deleted the am-1106-dense-message branch November 6, 2026 20:37
wpfleger96 added a commit that referenced this pull request Nov 6, 2026
…leanup

* origin/main:
  feat(terminal): add an Option as Meta key setting on macOS (#2850)
  fix(agents): restrict workflow requests in bb-block only (#2518)
  fix(dialogs): Enter presses the highlighted button in every dialog (#2782)
  Polish Compact messages and conversation appearance settings (#2863)
  fix(composer): let Option+Up/Down switch conversations from an empty composer (#2832)
  fix(reactions): Scope timed reactions to the selected video (#2796)
  fix(communities): name what the Join dialog is doing instead of "Working…" (#2822)
  docs(agents): explain the per-conversation MCP cost of Claude agents (#2683)
  fix(avatars): keep unsaved avatar drafts and focus, and validate the URL late (#2714)
  fix(agents): offer stream and forum connection setup only to channel members (#2749)
  Describe Attention as what the agent does, not its tools (#2865)
  Let a local Codex agent join its owner's huddle by voice (#2321)
  ci: give the native job room for a cold Rust cache (#2867)
  fix(pairing): refuse unknown communities natively and name the requesting process (#2835)
  Add per-interest Attention pause and management controls (#2847)
  feat(drafts): show where unsent drafts wait (#2853)

# Conflicts:
#	.github/workflows/release.yml
morgmart added a commit that referenced this pull request Nov 6, 2026
…-buzz-branding

* origin/main: (385 commits)
  fix(communities): let Cancel, × and Escape leave a Join lookup and name the host that didn't answer (#2821)
  fix(agents): let watches hear public channels the agent is not in (#1854)
  Preview and send Drafts & sent in place, with a shared count bubble (#2833)
  feat(terminal): add an Option as Meta key setting on macOS (#2850)
  fix(agents): restrict workflow requests in bb-block only (#2518)
  fix(dialogs): Enter presses the highlighted button in every dialog (#2782)
  Polish Compact messages and conversation appearance settings (#2863)
  fix(composer): let Option+Up/Down switch conversations from an empty composer (#2832)
  fix(reactions): Scope timed reactions to the selected video (#2796)
  fix(communities): name what the Join dialog is doing instead of "Working…" (#2822)
  docs(agents): explain the per-conversation MCP cost of Claude agents (#2683)
  fix(avatars): keep unsaved avatar drafts and focus, and validate the URL late (#2714)
  fix(agents): offer stream and forum connection setup only to channel members (#2749)
  Describe Attention as what the agent does, not its tools (#2865)
  Let a local Codex agent join its owner's huddle by voice (#2321)
  ci: give the native job room for a cold Rust cache (#2867)
  fix(pairing): refuse unknown communities natively and name the requesting process (#2835)
  Add per-interest Attention pause and management controls (#2847)
  feat(drafts): show where unsent drafts wait (#2853)
  feat(agents): let app-hosted agents read their owner's channels and members (#2745)
  ...

# Conflicts:
#	src/bundled/builderlab/README.md
#	src/bundled/builderlab/oauth/browser.test.ts
#	src/bundled/builderlab/oauth/browser.ts
wpfleger96 added a commit that referenced this pull request Nov 6, 2026
…ion-and-status

* origin/main: (37 commits)
  fix(browser-host): use the Buzz login variant for dev Builderlab sign-in (#2222)
  refactor(plugin-manager): move distributor values into build settings (#2649)
  fix(communities): let Cancel, × and Escape leave a Join lookup and name the host that didn't answer (#2821)
  fix(agents): let watches hear public channels the agent is not in (#1854)
  Preview and send Drafts & sent in place, with a shared count bubble (#2833)
  feat(terminal): add an Option as Meta key setting on macOS (#2850)
  fix(agents): restrict workflow requests in bb-block only (#2518)
  fix(dialogs): Enter presses the highlighted button in every dialog (#2782)
  Polish Compact messages and conversation appearance settings (#2863)
  fix(composer): let Option+Up/Down switch conversations from an empty composer (#2832)
  fix(reactions): Scope timed reactions to the selected video (#2796)
  fix(communities): name what the Join dialog is doing instead of "Working…" (#2822)
  docs(agents): explain the per-conversation MCP cost of Claude agents (#2683)
  fix(avatars): keep unsaved avatar drafts and focus, and validate the URL late (#2714)
  fix(agents): offer stream and forum connection setup only to channel members (#2749)
  Describe Attention as what the agent does, not its tools (#2865)
  Let a local Codex agent join its owner's huddle by voice (#2321)
  ci: give the native job room for a cold Rust cache (#2867)
  fix(pairing): refuse unknown communities natively and name the requesting process (#2835)
  Add per-interest Attention pause and management controls (#2847)
  ...

# Conflicts:
#	docs/buzz-help.md
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.

2 participants