Repository navigation
Show one working indicator while a message's live activity shows - #2851
Merged
Merged
Conversation
Since #2454 the conversation's working indicator stayed up for an agent even when the live activity bubble under the triggering message already showed that agent working. Solo chats and DMs showed two indicators for one turn: the bubble with its step, and bare dots at the end. A replacement registration can now say the mounted row is the agent's working indicator (presence), not only its step details. The accessory's live bubble claims presence; recorded update history does not. The conversation indicator and the timeline's live-agent list drop agents a live bubble presents, and keep their dots beside recorded history, as #2454 intended. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Signed-off-by: Logan Johnson <loganj@squareup.com>
Review follow-up: the timeline's live-agent list must drop a presented agent too, or the previous reply stacks onto a hidden indicator. Docs now state the bubble rule before the dots rule. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Signed-off-by: Logan Johnson <loganj@squareup.com>
MessageRow gives a thread's root row no thread root, so its live bubble registered under the channel scope while it shows in the thread panel. The thread's indicator then kept a second cue, and the channel's could lose its own. Register the shared presentation under the conversation the bubble shows in. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Signed-off-by: Logan Johnson <loganj@squareup.com>
Review follow-up: every entry the live bubble renders is in its bubble, so the per-entry check was always true. The shared registration now implies presence. The stacking regression registers presence through the conversation's activity store, as production does. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Signed-off-by: Logan Johnson <loganj@squareup.com>
The journey asserted the thread tail's working dots alongside the message's live bubble, the duplicate this branch removes. Assert that the tail shows none and check reduced-motion dots on the bubble. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Logan Johnson <loganj@squareup.com>
loganj
force-pushed
the
loganj/one-working-indicator
branch
from
November 6, 2026 20:17
b3946f3 to
bb22592
Compare
loganj
marked this pull request as ready for review
November 6, 2026 20:46
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
mahanti
approved these changes
Nov 6, 2026
Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Logan Johnson <loganj@squareup.com>
This comment has been minimized.
This comment has been minimized.
baxen
approved these changes
Nov 6, 2026
baxen
left a comment
Collaborator
There was a problem hiding this comment.
🤖 Reviewed at 433182b for bugs and critical tech debt; found none. Checked the thread-root scope change (shownIn) against the conversation-wide ActivityIndicatorPresentation store and MessageRow's useThreadAgents reader, and that presence registers only while a bubble entry is shown. Merges cleanly with main. Locally: 14 related vitest files (499 tests) and local-agent-activity.spec.mjs on Chromium (10/10) pass.
johnmatthewtennant
added a commit
that referenced
this pull request
Nov 6, 2026
Co-authored-by: Simone <0828be588d5c9c4d092c5b1cf01761d5aef63d6b104807fd8e8284d517dd1a99@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * origin/main: (22 commits) feat(agents): squircle agent avatar previews (#2879) fix(todos): show Todos read-only without Canvas write access (#2799) fix(unread): leave mentions that arrive during catch-up unread (#2801) Show one working indicator while a message's live activity shows (#2851) fix(agents): ask before deleting a team (#2820) fix(dialog): keep stepped dialog cards top-anchored during crossfade (#2893) feat(attention): Interest titles, summaries and named people, and Activity and pause fixes (#2860) fix(messages): Enter on the outside-mention prompt invites again (#2897) feat(agents): keep open agent transcripts current while the agent works (#2844) perf(solo): render a sidebar chat row only when it changes (#2505) fix(solo): restore agent selection during slow background reads (#2751) feat(search): preview unread thread replies in cmd+k (#2743) fix(plugins): suggest SSH when a private HTTPS clone needs credentials (#2455) 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) ... Signed-off-by: John Tennant <jtennant@squareup.com> # Conflicts: # src/bundled/agents/AgentAvatarPicker.tsx # src/bundled/agents/AgentCreate.module.css
johnmatthewtennant
added a commit
that referenced
this pull request
Nov 6, 2026
Co-authored-by: Simone <0828be588d5c9c4d092c5b1cf01761d5aef63d6b104807fd8e8284d517dd1a99@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * origin/main: (22 commits) feat(agents): squircle agent avatar previews (#2879) fix(todos): show Todos read-only without Canvas write access (#2799) fix(unread): leave mentions that arrive during catch-up unread (#2801) Show one working indicator while a message's live activity shows (#2851) fix(agents): ask before deleting a team (#2820) fix(dialog): keep stepped dialog cards top-anchored during crossfade (#2893) feat(attention): Interest titles, summaries and named people, and Activity and pause fixes (#2860) fix(messages): Enter on the outside-mention prompt invites again (#2897) feat(agents): keep open agent transcripts current while the agent works (#2844) perf(solo): render a sidebar chat row only when it changes (#2505) fix(solo): restore agent selection during slow background reads (#2751) feat(search): preview unread thread replies in cmd+k (#2743) fix(plugins): suggest SSH when a private HTTPS clone needs credentials (#2455) 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) ... Signed-off-by: John Tennant <jtennant@squareup.com> # Conflicts: # src/bundled/agents/AgentCreate.module.css
wpfleger96
added a commit
that referenced
this pull request
Nov 6, 2026
…ion-and-status * origin/main: feat(agents): team instructions history and agent/team config tools (#2848) test(plugin-manager): use an immutable git socket fixture (#2665) fix(attention): show the attention toggle when an agent has nothing yet (#2907) fix(agents): stream the remote agent introduction 1.5× faster (#2902) fix(relay): stop holding a watched public channel that a read after a reconnect leaves out (#2889) feat(agents): squircle agent avatar previews (#2879) fix(todos): show Todos read-only without Canvas write access (#2799) fix(unread): leave mentions that arrive during catch-up unread (#2801) Show one working indicator while a message's live activity shows (#2851) fix(agents): ask before deleting a team (#2820) fix(dialog): keep stepped dialog cards top-anchored during crossfade (#2893) feat(attention): Interest titles, summaries and named people, and Activity and pause fixes (#2860) fix(messages): Enter on the outside-mention prompt invites again (#2897) feat(agents): keep open agent transcripts current while the agent works (#2844) perf(solo): render a sidebar chat row only when it changes (#2505) fix(solo): restore agent selection during slow background reads (#2751) feat(search): preview unread thread replies in cmd+k (#2743) fix(plugins): suggest SSH when a private HTTPS clone needs credentials (#2455) # Conflicts: # src/features/agents/team-ops.ts
1 of 3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
•••row at the end of the conversation. This started with Keep agent coordination history readable after work finishes #2454.•••row at the end comes back when that live activity is gone: when collapsed progress history takes over the work, or when no message shows the agent at all.Details
presence). Only the live activity under a message (theActivityAccessorybubble) does this.TypingIndicatorand the timeline's live-agent list (useLiveConversationAgents, which also decides whether the previous reply stacks onto the indicator) skip agents with presence. Recorded history still owns only step details, so the dots stay beside it.MessageRowreads for reply summaries keeps its scope.docs/agents.mdanddocs/buzz-help.mdnow describe the one-indicator rule.Known limits (unchanged from before #2454)
Tests
ActivityAccessory.test.tsx: live activity plus the conversation indicator render exactly one working indicator. A thread's first message, with realMessageRowprops, replaces the thread's indicator. The handoff to recorded history brings the dots back.ChannelTimeline.viewport.test.tsx: the previous reply does not stack onto a hidden indicator.typing-presentation.test.tsx: presence and details-only registrations are separate.local-agent-activity.spec.mjs("local agent receipt, work and failure agree…"): this journey asserted the thread tail's working dots next to the message's live bubble, which is the duplicate this PR removes. It now asserts that the tail shows no indicator and checks the reduced-motion dots on the bubble. Before the change the journey failed in CI in both engines atb4f40f4d0. The full file passes locally in Chromium and WebKit (34/34) atb3946f389. No browser journeys added or removed.buzz-review-completed
🤖 Generated with Claude Code