Skip to content

fix(communities): name what the Join dialog is doing instead of "Working…" - #2822

Merged
baxen merged 1 commit into
mainfrom
join-dialog-busy-labels
Nov 6, 2026
Merged

baxen merged 1 commit into
mainfrom
join-dialog-busy-labels

Conversation

@matt2e

@matt2e matt2e commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

The Join dialog's primary button showed one busy label, "Working…", for three different operations. The rest of the app names the operation ("Checking…", "Connecting…", "Publishing…"), so each step now does too. The idle labels are unchanged.

Labels

Step Idle Busy
Destination lookup Continue Connecting…
Access (claim / join) Continue Joining…
Profile, mode="profile" Save profile Saving…
Profile, publish Publish profile & open Publishing…
Profile, keeps the existing profile Continue Joining…

"Connecting…" pairs with the lookup's error and, once #2821 lands, with the Cancel next to it. The lookup is the busy state a user actually sees for long; a profile save finishes almost at once.

Before and after

Both panels run the same scripted actions at the same times against the built app and the in-process fixture relay, with each write held about 5 s so the busy label is visible. Left: main at 72ce32889. Right: this PR at b605e956a. Scene 1 is the lookup ("Working…" → "Connecting…"), scene 2 the access step joining a community ("Working…" → "Joining…"), scene 3 publishing the profile ("Working…" → "Publishing…"), after which the community opens on both sides.

Chromium

sbs2-chromium.mp4

WebKit

sbs2-webkit.mp4

Key frames from the Chromium video, lookup and access step:

Lookup hold, the access step, the join hold: Working… on the left, Connecting… and Joining… on the right

Profile step through the opened community:

The profile step, the publish hold, the community opens: Working… on the left, Publishing… on the right

Tests

  • The assertions that pinned "Working…" now assert the step's label: "Publishing…" in the three profile-verification cases and "Joining…" in the held-claim case of native-join.test.tsx. All four fail against main's dialog and pass with the change. No test on main holds a lookup, so "Connecting…" is asserted only once fix(communities): let Cancel, × and Escape leave a Join lookup and name the host that didn't answer #2821 lands.
  • 42/42 in the three dialog test files; full Vitest 18,830 passed with one unrelated timezone-dependent failure that passes alone. tsc, lint, design:check and biome are clean.
  • "Working…" remains only in ActivityTranscript.tsx, which is unrelated.

Relation to #2821

Independent. Whichever lands second has a small rebase in CommunityDialog.tsx and native-join.test.tsx; if #2821 lands first, this PR is rebuilt by cherry-picking its original commit, which also pins "Connecting…".

🤖 Generated with Claude Code

@matt2e
matt2e marked this pull request as ready for review November 6, 2026 15:18
@matt2e
matt2e requested a review from a team as a code owner November 6, 2026 15:18
@matt2e
matt2e force-pushed the look-up-community-cant-be-escaped branch from 6f0c228 to 5c5b887 Compare November 6, 2026 15:29
…ing…"

While a step runs, the Join dialog's primary button said "Working…" for
every step. It now names the operation, as the rest of the app does
("Checking…", "Connecting…", "Publishing…"):

| Step                                | Idle                   | Busy        |
| destination lookup                  | Continue               | Connecting… |
| access (claim / join)               | Continue               | Joining…    |
| profile, mode "profile"             | Save profile           | Saving…     |
| profile, publish (not keepsProfile) | Publish profile & open | Publishing… |
| profile, keeps existing profile     | Continue               | Joining…    |

Each step's idle and busy labels are now one pair chosen per step. The
idle labels are unchanged. The submitted-lookup status line, "Finding
your community…", is unchanged; the button beside it reads
"Connecting…".

Tests assert the busy label for the step they hold:

- native-join: the publish-verification cases pinned "Working…" and
  now expect "Publishing…".
- native-join: the late-claim case already holds a claim and now also
  expects "Joining…".
- All 4 cases fail against the previous production code and pass with
  this change.

No test holds a destination lookup, so "Connecting…" is not asserted.
No test holds a profile-mode save, which is synchronous, or a
keeps-profile join, so "Saving…" and that "Joining…" are not asserted
either. docs/buzz-help.md does not mention the label.

Validation: CommunityDialog, CommunityLanding and native-join tests
(42 passed); tsc --noEmit, pnpm lint, pnpm design:check, and biome
check on the changed files. The full Vitest run passed 18,830 tests
with 1 failure outside this change: AgentConfigHistory, which depends
on the GMT+11 local timezone and passes alone with TZ=UTC.

Signed-off-by: mtoohey <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
@matt2e
matt2e force-pushed the join-dialog-busy-labels branch from ff21d16 to b605e95 Compare November 6, 2026 15:34
@matt2e
matt2e changed the base branch from look-up-community-cant-be-escaped to main November 6, 2026 15:37
@baxen
baxen merged commit 90852ef into main Nov 6, 2026
3 checks passed
@baxen
baxen deleted the join-dialog-busy-labels branch November 6, 2026 20:20
cheng-block added a commit to cheng-block/buzz-app that referenced this pull request Nov 6, 2026
…ions-literal-markdown

* upstream/main: (38 commits)
  fix(composer): let Option+Up/Down switch conversations from an empty composer (block#2832)
  fix(reactions): Scope timed reactions to the selected video (block#2796)
  fix(communities): name what the Join dialog is doing instead of "Working…" (block#2822)
  docs(agents): explain the per-conversation MCP cost of Claude agents (block#2683)
  fix(avatars): keep unsaved avatar drafts and focus, and validate the URL late (block#2714)
  fix(agents): offer stream and forum connection setup only to channel members (block#2749)
  Describe Attention as what the agent does, not its tools (block#2865)
  Let a local Codex agent join its owner's huddle by voice (block#2321)
  ci: give the native job room for a cold Rust cache (block#2867)
  fix(pairing): refuse unknown communities natively and name the requesting process (block#2835)
  Add per-interest Attention pause and management controls (block#2847)
  feat(drafts): show where unsent drafts wait (block#2853)
  feat(agents): let app-hosted agents read their owner's channels and members (block#2745)
  NEXUS-4271: Expose installed plugin status (block#2754)
  fix(menu): stop clipping lifecycle actions behind a hidden scrollbar (block#2716)
  feat(agents): give approved external apps the selected agent's full Buzz tools (block#2707)
  AIDA-2549: Keep Claude settings drafts in sync (block#2841)
  fix(channels): keep a channel's side panels open when returning to it (block#2838)
  fix(builderlab): clarify remote-agent account availability (block#2764)
  fix(sidebar): rename Remove from Team to Close conversation (block#2845)
  ...

Signed-off-by: Cheng Peng <[email protected]>
Co-authored-by: Cursor <[email protected]>
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.

3 participants