Repository navigation
Introduce opt-in first-agent setup - #2804
Merged
Merged
Conversation
Show a rotating creation shortcut and keep the first-agent welcome local to its verified pinned DM. Scope saved agent inventory to the current owner and community before projecting choices. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
Keep the sidebar lifecycle case aligned with the approved unassigned label. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
Retain main's Bestie conversation workspace and dock while forwarding the local first-agent welcome. Reconcile navigation fixtures with the creation invitation and preserve Personal space fallback labels. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
Preserve main's timeline recovery and viewport filling alongside the local first-agent welcome. Enable Bestie only for fresh local installs; retain saved choices and implicit Off for existing profiles. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
Keep navigation fixtures opted in while established installs retain\nBestie's former default. Match app composition's declaration check\nto the fresh-install default. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
Preserve the first-agent welcome alongside the shared Bestie DM launchers, actions menu, settings and member controls. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
Keep native pointer activation on the stable dock control when its decorative avatar changes during a press. Cover the pointer boundary with a controlled rotation in both browser engines. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
tellaho
approved these changes
Nov 9, 2026
tellaho
left a comment
Contributor
There was a problem hiding this comment.
🤖 Princess Donut, approving on behalf of tho at their explicit request. Adversarial source review of b16c750 found no actionable blockers, including comparison against #2291 plugin-default preservation and an independent welcome/navigation pass. No new runtime tests were performed; integrated native acceptance, welcome layout, and protected custom-avatar validation remain deferred as documented.
Combine the approved Bestie invitation with the current Activity sidebar and Workflows dock expectations. No additional feature changes. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
Use the existing Activity startup barrier rather than an optional Bestie tab in the community-scoped navigation fixture. Preserve legacy Off. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
Keep the incoming pinned-plugin update guidance alongside the approved fresh-install Bestie defaults. No additional product edits. Co-authored-by: goose <[email protected]> Signed-off-by: Clay Delk <[email protected]>
matt2e
added a commit
that referenced
this pull request
Nov 10, 2026
## Summary On the Bestie page, ⌘F (Ctrl+F) opened nothing and ⌘K (Ctrl+K) had no "Search conversation with <name>" row. `PageSearch` only recognised a `conversation` navigation target as the current conversation, and the Bestie page is a `page` target that presents the promoted Bestie DM. `PageSearch` now derives the current channel from the conversation target's channel, or, on the Bestie page, from the shell's Bestie projection via `useBestieConversation` (provided by `AppShell` above it). That channel drives the ⌘F guard, the scoped search and ⌘K's "This conversation" row. Other `page` targets still open nothing with ⌘F. The header menu is out of scope. ## Before / after Left is `main` (58116b8), right is this branch. The fixture runs on Linux, so the shortcuts show as Ctrl+F and Ctrl+K. Both sides start on an ordinary DM with Ada, where Ctrl+F already works, then switch to the Bestie page ("Bestie · Pollen"). https://github.com/user-attachments/assets/c4871a39-f5d1-4c28-bca7-ce4b87db5e2e  Ctrl+F on the Bestie page: main opens nothing (left); the fix opens a search scoped to Pollen that finds "gym" (right).  Ctrl+K on the Bestie page: main shows only Recent activity (left); the fix adds a "Search conversation with Pollen" row under This conversation (right). ## Commits - b5135e9 `fix(search): make Command F search the Bestie conversation` — `PageSearch` takes the current conversation from the conversation target or, on the Bestie page, from `useBestieConversation`; tests for ⌘F and the ⌘K row scoped to the Bestie DM, and for ⌘F opening nothing on another page; Bestie README and Buzz help updated. - 2ea0ff5 `refactor(search): name the Bestie page check and cover other conversations` — adds `isBestiePage(target)` next to `BESTIE_PAGE` in `bestie-context.ts`, makes `useBestieConversation` require a session explicitly, and tests that ⌘F on another DM with a Bestie DM present scopes to that DM. - 86f4ffc `docs(bestie): mention Command K's conversation row on the Bestie page` — Buzz help mentions the ⌘K "Search conversation with" row. ## Testing - Typecheck and lint pass. - PageSearch, BestieNavigation and ChannelInventory suites: 119/119. - Full `vitest run`: 20,060 passed, 27 skipped, 0 failed. - Still to do: the native-app run that `AGENTS.md` requires (agent, then human). The reproduction and recording used a browser fixture with a device-local Bestie choice. ## Related PRs Open PRs #2775 and #2804 touch `bestie-context.ts` only cosmetically and do not conflict with this change. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: mtoohey <[email protected]> Signed-off-by: Matt Toohey <[email protected]> Co-authored-by: Claude Opus 5.5 <[email protected]>
damienrj
added a commit
that referenced
this pull request
Nov 10, 2026
…rminal-font-picker * 'main' of https://github.com/block/buzz-app: (168 commits) Unify Membership sharing and live roster updates (#3147) fix(activity): show one working cue per agent request (#3166) Introduce opt-in first-agent setup (#2804) fix(codex): drop the security-review sign-in prompt from harness defaults (#3188) feat(releases): publish desktop download manifest (#3154) fix(mcp): preserve current attachments across edits (#2937) fix(agents): call the Claude and Codex first-run download "the integration" (#3165) chore(goose): bump bundled goose-acp to v1.58.1 (#3161) Revert "ci: use larger GitHub runners for Rust and browser journeys (#3090)" (#3180) Show Goose's unset thinking level as Default, not Off (#3124) ci(release): publish stable and beta desktop releases from v tags (#3150) fix(messages): end the New messages hold when no repair can sample (#3169) fix(search): make Command F search the Bestie conversation (#3084) fix(plugins): keep failed update checks on the plugin's Settings row instead of a toast (#3088) Show single-agent Stop on the activity bubble (#3140) fix: support explicit hosted browser origins (#3149) fix: keep Codex tool namespace descriptions bounded (#3128) fix(messages): show "New messages" in channels longer than one page (#3071) Keep shared agent guidance generic (#3134) fix(typing): a thread reply also ends the agent's channel-level typing (#3148) ... Signed-off-by: damienrj <[email protected]> # Conflicts: # src-tauri/Cargo.toml
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.
Why
People with no agents need a clear place to start without being sent into setup at launch. The pinned Bestie destination should introduce agents first, then explain Bestie after creation.
What
How
Reuse the shared agent creation form, saved Bestie choice and canonical DM. A device-local receipt binds the welcome to the first verified DM for that account, community and agent. A measured timeline intro holds the welcome outside real message rows. It publishes no message, starts no model turn and adds no unread state or message actions. Existing-agent choices and replacements do not create a welcome.
Reuse the plugin settings stores and existing local-install detection. Save resolved Bestie choices through those owners; native default snapshots remain best effort. A deliberate settings reset uses the current On default. A new device, profile, or cleared browser storage counts as fresh, even for an older account.
Risk
The inventory correction affects all consumers of the shared saved-agent library on native and development-broker hosts. It changes no stored identities, membership or credentials and adds no relay reads. The welcome adds a presentation slot to the shared timeline; ordinary history, drafts, sending and threads keep their existing owners.
Main integration: merge commit
f06f8d8ebrings in main at345d938c9without rewriting feature commits. It preserves the local welcome alongside main’s shared Bestie DM launchers, Huddle, actions menu, settings and member controls. Both file conflicts are resolved, and GitHub reports the pushed head as mergeable. Human acceptance of this integrated/defaults build remains pending.Testing
d3d69aaa2in an isolated worktree. Main now binds that chord to Previous conversation; this PR does not change either contract. Across the initial five-file run and a full rerun of the two corrected files, 82 of 84 distinct cases pass. This was not one fully green 84-case run. No test retries or exclusions were added.bin/pnpm exec vitest run src/plugins/storage.test.ts src/plugins/storage.desktop.test.ts src/plugins/storage-imports.test.ts src/plugins/manager.test.ts(50 tests);bin/cargo test -p buzzodz-plugins(133 tests);bin/pnpm typecheck; andbin/pnpm test:browser tests/browser/plugin-defaults.spec.mjs --project chromium --project webkit --no-deps(10 cases). This is focused macOS evidence, not Linux CI parity.b16c75099: TypeScript, all selected unit tests, design checks and whole-workspace Clippy. DCO passed; hosted CI for this head remains pending.b16c75099keeps rotating decorative artwork out of pointer hit testing, so its stable dock tab receives the press. Independent review found no blockers. Focused command:bin/pnpm exec playwright test --config tests/browser/playwright.ci.config.mjs tests/browser/sidenav-polish.spec.mjs --project chromium --project webkit --no-deps --workers=2(20/20, macOS; not Linux CI parity). No navigation assertions, retries or timeout limits were weakened.42690878853onf06f8d8etested synthetic merge6988d0fagainst incoming mainac8d5fe1. The Bestie lost-click failure is addressed above. Both Chromium composer-growth React Add complete reaction toggles to the message menu #185 errors also reproduce on a clean exact-baseac8d5fe1and on6988d0f, using the unchanged two cases in both engines: Chromium fails both; WebKit passes both. This is focused macOS baseline evidence, not Linux parity or a fix. The separate composer defect remains outside this PR; current-head hosted CI is pending.bin/pnpm exec vitest run src/bundled/bestie src/features/messages/ChannelTimeline.viewport.test.tsx src/app/shell/BestieNavigation.test.tsx src/app/entity-navigation.test.tsx src/plugins/storage.test.ts src/bundled/readmes.test.ts --maxWorkers=2. This covers both parents’ welcome/history and DM-control behavior; it is not browser/native acceptance.60abd17c0makes Bestie explicitly On in active-navigation fixtures and updates the declared-default expectation. All 51 tests passed withbin/pnpm exec vitest run src/app/entity-navigation.test.tsx src/app/pages.integration.test.mjs src/bundled/readmes.test.ts src/plugins/storage.test.ts. A stale Vitest file-module cache caused the separate README failure; documented--clearCacherestored the unchanged contract. No assertions or hook checks were bypassed.Generated with Goose