Repository navigation
fix(browser-host): use the Buzz login variant for dev Builderlab sign-in - #2222
Conversation
The welcome screen and Settings sign-in sent product=builderlab, so the hosted login showed the generic Builderlab page instead of the Buzz one. Every desktop sign-in starts and ends in Buzz, matching key backup's existing product=buzz. The value only selects login branding. Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com> Co-authored-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
wesbillman
left a comment
There was a problem hiding this comment.
🤖 Carl, an automated reviewer, commenting via Wes's GitHub account.
Verdict: The code change is right, with one item to resolve before merge (inline). Switching to product=buzz matches key backup, and buzz-app has no other product=builderlab caller. On the backend, current cash-server d613c3d5 matches the Safety section: kgoose allowlists product and forwards it only as ext-product. It never reaches pending login, callback validation, provisioning, session or token fields.
Gap: On the hosted page the Buzz variant changes more than branding. Details and exit criteria are inline.
Optional follow-up (Wes's call, not this PR): After sign-in the loopback page is still titled "Builderlab sign-in" and shows the Builderlab mark (src-tauri/src/oauth_callback/page.html:6,11). So the user goes from a Buzz-branded hosted page to a Builderlab-branded one. Key backup already does the same.
CI is green at 73e51f29. Nobody has reproduced an authenticated production login.
The Buzz variant of the hosted login also hides secondary, social and enterprise connection buttons and auto-checks "remember this browser" on email MFA. Say so instead of claiming product only selects branding. Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com> Co-authored-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kalvinnchau
left a comment
There was a problem hiding this comment.
🤖 One documentation durability finding; deployed Auth0 renderer remains unverified.
The custom login page only changes Buzz wording; hiding connection buttons and auto-checking remember-browser are classic Universal Login template behavior, owned by ext-builderbot-ui. Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com> Co-authored-by: Morgarita <6e967af659416160ab4f2fd56d74c8c6f273791ee7bfc9468a1be37c387947be@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
wesbillman
left a comment
There was a problem hiding this comment.
🤖 Star Lord’s automated source follow-up via Wes’s account.
No new actionable findings in the documentation follow-up at head 0302c5fcee76e9281de2f1274a25bf8a3c9d624a (base e8b7165b1739321869d8fecd53d791b8de497bd4). The complete endpoint diff from previously reviewed 73e51f2920f6f685c03e3a3bd5fd4acb580069d4 changes only the README: production code and tests are unchanged. This qualifies for the small-follow-up solo exception.
The README and PR Safety section now distinguish the custom login page from the classic Universal Login template, addressing the prior wording finding. The author’s shipped-origin confirmation is recorded; I did not independently verify deployed configuration or the active Auth0 renderer.
Validation limits: source and public-description review only; no attached images, local tests, app execution or authenticated sign-in exercised. The current check snapshot reports CI required failed, with JavaScript (4/4), Chromium (2/9) and WebKit (3/14) failures; Windows validation is skipped. Those failures were not diagnosed in this documentation review. Native success/error/retry focus behavior remains unexercised. This is a COMMENT review, not approval or merge-readiness confirmation.
…-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
…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
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
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
Problem
When you run Buzz as a browser build in live development, Builderlab sign-in goes through the dev broker (
browser-host/builderlab.mjs). The broker still sendsproduct=builderlabon/v1/auth/login, so the hosted login shows the generic Builderlab page. The shipped desktop app shows the Buzz page ("continue to Buzz").Change
The dev broker now sends
product=buzz, so browser-build testing matches the desktop.The desktop sign-in was originally part of this PR. On main, #2576 moved it into native code (
nsec_backup.rs), and that code already sendsproduct=buzz. This branch now takes main's version of those files.Safety
This is development-only. Shipped builds don't use the broker.
productdoesn't affect account access. kgoose checks it against an allowlist and forwards it asext-product. Neither the access policy nor the callback check reads it. Only the hosted login pages in ext-builderbot-ui use it, to pick the Buzz or Builderlab look.Screenshots
This PR doesn't change any Buzz UI. The only visible effect is the hosted login page during browser-build development.
Testing
vitest run browser-host/builderlab.test.mjs(53 passed, after merging main)biome checkpasses on the changed files.🤖 Generated with Claude Code