镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

feat(agents): move version history into settings - #2374

Merged
tellaho merged 26 commits into
mainfrom
tho/agent-config-history
Nov 5, 2026
Merged

tellaho merged 26 commits into
mainfrom
tho/agent-config-history

Conversation

@tellaho

@tellaho tellaho commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Category: improvement
User Impact: Agent settings and instructions now share a compact version feed, with changes and restore actions in a dialog.

Problem: Separate history tabs and inline diffs make it difficult to inspect an agent’s saved configuration without losing the surrounding settings.

Solution: Put Previous versions in Agent details as one chronological feed. Open each revision in a compact dialog, mark current versions with an accent dot and a matching Current pill, and preserve the underlying list through navigation.

File changes

docs/buzz-help.md
Document where to find versions, current markers and restore actions.

docs/navigation-history-behavior.md
Document version-dialog traversal, dismissal and pending-write behavior.

src/bundled/agents/AgentDetails.tsx
Place Previous versions in the existing Agent details settings group.

src/bundled/agents/AgentTabs.test.tsx
Cover version restoration, missing-type fallback tabs, and guarded draft/pending-save navigation.

src/bundled/agents/AgentTabs.tsx
Use the existing tab guard for version-address requests and retain first-render Settings restoration.

src/bundled/agents/AgentsPage.test.tsx
Cover version-route dismissal and agent-scoped presentation; preserve the base default-tab expectations.

src/bundled/agents/AgentsPage.tsx
Connect version selection to the page’s existing navigation owner.

src/bundled/agents/routes.test.ts
Cover valid and invalid version addresses and scope preservation.

src/bundled/agents/routes.ts
Encode version selection within the existing agent route.

src/bundled/channels/useChannelTabState.test.tsx
Reproduce and cover profile Close after Back across ordinary, Activity and transcript version addresses.

src/bundled/channels/useChannelTabState.ts
Keep one profile tab identity across its version addresses and retire its version visits when explicitly closed.

src/bundled/channels/useConversationTabs.test.tsx
Verify profile content, drafts and scroll survive version selection.

src/bundled/channels/useConversationTabs.tsx
Pass the stable profile content identity to its panel.

src/bundled/profiles/ProfilePanel.test.tsx
Verify Activity/transcript opening state and mounted profile content survive version-address changes.

src/bundled/profiles/ProfilePanel.tsx
Wire owned-agent version inspection through profile navigation.

src/features/agents/AgentConfigHistory.module.css
Keep rows compact and style the current dot and pill with shared tokens.

src/features/agents/AgentConfigHistory.test.tsx
Cover dialog/current states, missing revisions, pagination, restore feedback and keyboard dismissal.

src/features/agents/AgentConfigHistory.tsx
Open version details in Dialog and simplify row labels and timestamps.

src/features/agents/AgentConfigHistoryRow.test.tsx
Cover the combined feed, first-render expansion and retained history pages.

src/features/agents/AgentConfigHistoryRow.tsx
Compose both tracks into one counted, chronological disclosure.

src/features/agents/agent-config-history.test.ts
Verify retained pages invalidate when identity, head or history version changes.

src/features/agents/agent-config-history.ts
Bound retained history to two artifacts per session reader.

src/features/agents/history-presentation.test.ts
Cover Back/Forward, explicit dismissal, scope and stale callbacks.

src/features/agents/history-presentation.ts
Adapt version selection to the existing navigation controller.

src/features/agents/tabs.test.tsx
Verify history is available in Settings instead of a separate History tab.

src/features/agents/tabs.tsx
Contribute the history disclosure to existing Settings content.

src/features/panels/PanelCard.tsx
Accept the host’s stable content identity.

src/features/panels/PanelView.tsx
Preserve the mounted profile while its inspector address changes.

src/features/profiles/target.test.ts
Cover profile version addresses and their shared profile identity.

src/features/profiles/target.ts
Parse version fragments without changing profile identity.

src/shared/design-system/DESIGN.md
Document embedded settings disclosure framing and content insets.

src/shared/design-system/styles/settings-group.css
Align embedded disclosure fills and following dividers with the group frame.

tests/fixtures/design-system/ui/componentSpecimens.tsx
Show the embedded disclosure and following preference row together.

Validation

  • Head f64c73fc9, rebased onto 6516d061f: TypeScript and all 245 tests across eight affected test files pass. Conflict coverage preserves main’s Activity/transcript requests and the history draft/close guards.
  • Removed the unused showRevisions layout; revert, pagination/retry and missing-revision tests now mount the production combined feed and dialog.
  • Mandatory push hooks: passed at this head, including the complete related-test selection (336.62s), TypeScript and design guards, with BUZZ_TEST_WORKERS=2.
  • Prior native checks at 92fd8a00e covered open/Back/Forward/Close, agent browsing, and Keep editing with an unsaved instruction draft. The earlier light/dark captures below document the unchanged history layout.

Taylor retested f64c73fc9, including the Activity/transcript navigation integration, and confirmed it passed. No live revert was submitted. Fresh native acceptance, native rebuild, other accents and enlarged-text checks remain deferred.

Reproduction steps

  1. Open one of your synced agents and select Settings.
  2. Expand Previous versions in Agent details. Settings and Instructions appear together, newest first, with timestamps aligned right and dots on each track’s current version.
  3. Open a current Settings revision. Its title includes the Current pill and there is no restore action.
  4. Open an older valid revision. Its changes and Revert to this action appear in the dialog.
  5. Use Back and Forward, then Close. The list stays expanded at its existing scroll position; Close retires the dialog’s restoration visit.

Screenshots

Real running-product captures, cropped to the relevant rows and Settings dialog.

State Light Dark
Collapsed Previous versions Collapsed Previous versions in light mode Collapsed Previous versions in dark mode
Expanded version feed Expanded version feed in light mode Expanded version feed in dark mode
Current version dialog Current version dialog in light mode Current version dialog in dark mode

@tellaho tellaho added the buzz-review-completed Agent review and human UI testing recorded label Nov 4, 2026
@tellaho

tellaho commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Adversarial review — Princess Donut (AI agent), posted on Taylor's behalf at exact head a9e4e5372 (base 1d9f64bb9). Not an approval. Carl owns the fixes; resolution column will be updated as they land.

# Severity Finding Evidence Resolution
1 High New duplicate "Identity" tab for agents whose type has no settings tab. details = settingsContent ?? … and AgentTabs always passes settingsContent, so the new ` detailsbranch unshifts anagent:settingstab (relabeled Identity) rendering the entire Agent details panel again — and it becomes the default-selected tab. Hitstype === undefined(plugin disabled) and any type without arole: "settings"tab, local or hosted. The fallback was only needed for the ProfilePanelagentSectionscaller that passes nosettingsContent`.
2 High showSettings silently discards unsaved section drafts. The new effect calls setTab("agent:management") directly, bypassing the dirty/pendingSave "Discard changes?" guard and onDiscard. Any transition into a version address while a draft is dirty (Forward onto a version visit, a buzz://plugin?id=buzz.agents…&route.revision=… link to the open agent) drops it. Probe: type in the Instructions draft, rerender with showSettings → Settings selected, no alertdialog, returning to Identity shows "Saved" (draft lost). AgentTabs.tsx#L74-L76 Open
3 Medium Agents page: version presentation isn't scoped to the routed agent. agentHistoryActive/agentHistoryRoute read the route without checking route.agent === selected.pubkey. After closing a version dialog the entry stays {agent: A, revision: ""}; locally browsing to agent B (browse() only sets state) gives B active=true → B opens forced onto Settings with Previous versions expanded (and finding 2 applies). AgentsPage.tsx#L508-L527, #L279-L280 Open
4 Medium Activity-addressed owned profiles remount and lose their opening. For buzz:profile?agent=…&tab=activity, profileHistoryTarget appends #versions; profileActivityViewKey then returns undefined (exact-match on the unfragmented URL), so opening flips activity→info, the OwnedAgentProfile key changes and it remounts — defeating the scroll/state preservation this PR added for that path — and transcript targets lose transcript. The new scroll test only covers buzz:agent-profile: targets. Probe: profileActivityViewKey(profileHistoryTarget(activityTarget)) → undefined while profilePanelKey → the agent. ProfilePanel.tsx#L113-L115, #L160-L163, target.ts#L56-L68 Open
5 Medium (plausible, needs a test) Closing a profile tab may not retire its retained version visits. Tab close collects detailVisits(channelId, entry.target) by exact target, but entry.target is now whichever fragment address is current. Sequence: T#versions → open T#version=X → Back (X retained as Forward, per the documented contract) → close the tab. Only T#versions visits match; T#version=X survives, so Forward can resurrect the closed profile with its dialog — contrary to "explicit Close retires it". Suggest matching on panelContentTarget and adding a close-after-Back case. useChannelTabState.ts#L874-L882, ChannelsPage.tsx#L1128-L1133 Open
6 Low Combined feed implies a complete chronology it doesn't have. Tracks paginate independently, but rows are merged and sorted globally; with one track partially loaded, its unloaded revisions are silently absent between the other track's older rows, and gap/Load older notes render only after the list. Consider an inline boundary (or stop the merged list at the oldest fully-covered timestamp). AgentConfigHistoryRow.tsx#L82-L99 Open
7 Nit AgentConfigVersionRow sets layout via inline style on the shared Button; prefer a module class (feature-owned layout) per the design guide. AgentConfigHistory.tsx AgentConfigVersionRow Open

Checked and fine: route validation (agentRoute accepts only revision: "" or settings|instructions/<64-hex>); stale dismiss after navigating away only retires matching visits and never hijacks the current entry; version dialog initial focus lands on Close, not Revert to this, so a deep link can't revert on Enter; preventClose during revert; refused/uncertain reverts keep the dialog open with the error; history cache is per session reader, keyed by channel/d/head/version and capped at two artifacts.

Probe tests were scratch-only and removed; no branch changes from me.

@tellaho tellaho removed the buzz-review-completed Agent review and human UI testing recorded label Nov 4, 2026
@tellaho

tellaho commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Addressed the five behavior findings from the adversarial review in separate commits at 92fd8a00e:

Finding Resolution
1. Duplicate fallback Identity a9b300261: management content no longer creates or fills a fallback Identity tab. Missing/disabled types retain their base tabs; host-only Identity contains its existing controls. Restored the five Reply-first expectations that had exposed this regression.
2. Unsaved draft loss 2d0a45d02: version-address requests use the existing dirty/pending-save/saving tab guard. Keep editing preserves the draft; Discard runs onDiscard. Covered split and unsplit editors, pending host changes and in-flight saves.
3. A’s history applied to B 1af1bbf43: apply route presentation only when its agent matches the selected agent. B retains its normal default tab and collapsed disclosure.
4. Activity/transcript remount db7f371d6: valid version addresses retain the same Activity/transcript opening, mounted content, scroll and one-time transcript request. Unknown fragments retain strict matching.
5. Closed profile returns via Forward 92fd8a00e: reproduced before fixing all three opening forms (ordinary profile, Activity and transcript). The existing close collector now retires all valid version aliases for that opening, preserving channel/scope boundaries and unrelated targets.

Validation at this head: 231 tests across all seven affected test files and TypeScript pass. Mandatory push hooks: passed, including the complete related-test selection (318.31s), TypeScript and design guards, with BUZZ_TEST_WORKERS=2. Before-fix regressions reproduced each defect; the finding-5 assertion specifically received the resurrected version target after Back → Close → Forward.

Running native app: open/Back/Forward/Close retains the profile container and expanded list; browsing A → B restores B’s normal tab and collapsed history. Forward with an unsaved instruction draft prompts; Keep editing retains the same field and content. The temporary edit was restored without saving. A WebView refresh was required to load the final modules after HMR.

Optional incomplete-timeline presentation and inline Button layout cleanup remain deferred. The timeline change needs a product UX decision; these fixes restore existing behavior without adding UX. Existing light/dark captures still describe the unchanged appearance. Native rebuild, enlarged text and other accents remain deferred.

The PR remains draft. Removed the review-completed label and description attestation because the behavior fixes need reviewer confirmation and Taylor’s retest.

@tellaho

tellaho commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Fix check — Princess Donut (AI agent), posted on Taylor's behalf at exact head 92fd8a00e (descends from the reviewed a9e4e5372). Scope: only the five findings from the adversarial review. This is not a new full review and not an approval.

# Finding Status How I verified it
1 Duplicate fallback Identity tab ✅ Fixed (a9b300261) I reran my original base-vs-head probe (type undefined, empty settingsHost). Head now shows [Memory, Settings] with Memory selected, matching base. The history-only fallback now applies only when no settingsContent is passed, and the host-only Identity tab no longer includes management content.
2 showSettings lost unsaved drafts ✅ Fixed (2d0a45d02) I reran my probe with a dirty draft and showSettings flipped on. Discard changes? appears, and Keep editing leaves Identity selected with Saved draft intact. The effect now goes through the same requestTab guard the tab bar uses, so dirty, pending-save and saving states all apply.
3 A's version state applied to B ✅ Fixed (1af1bbf43) Read the code: route params feed the presentation only when routedAgent === selected.pubkey. When B is selected, opening a version still replaces the base and pushes the version, so it can't take over the history. Carl's new A→B regression checks B's default tab and collapsed disclosure.
4 Activity/transcript profiles remounted ✅ Fixed (db7f371d6) Probe: profileActivityViewKey(…#versions) now returns the agent, profileActivityTranscript holds across #version=…, and an unknown fragment (#bogus) still returns undefined, so strict matching holds. Transcript requests are now keyed by the base address.
5 Close after Back left version visits retained ✅ Fixed (92fd8a00e) Read the code: detailVisits compares profileHistoryBase addresses only for profile targets. The new test drives a real memory navigation controller through version → Back → dismiss → Forward for all three opening forms. It also checks that malformed fragments, another profile, a GitHub #versions URL and another channel are not retired.

My temporary tests were deleted; the worktree is clean at 92fd8a00e. I did not rerun the full suite because CI covers it, and run 41760984496 was still pending when I checked. The two optional low items (timeline gaps, inline Button layout) stay deferred as Carl noted.

@tellaho tellaho added the buzz-review-completed Agent review and human UI testing recorded label Nov 4, 2026
@tellaho
tellaho marked this pull request as ready for review November 4, 2026 15:32
@tellaho
tellaho requested a review from a team as a code owner November 4, 2026 15:32
tellaho and others added 21 commits November 4, 2026 12:44
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Keep version labels and counts on one line with consistent small text, reduce entry spacing, and square embedded settings disclosure hover corners.

Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Use matching caption text and inline controls, reduce vertical gaps, and highlight the full version row within the settings content inset.

Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Extend embedded settings disclosures through the group inset while retaining horizontal padding inside the trigger and expanded content.

Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Show each version's changes and eligible restore action in the shared Dialog. Preserve the expanded Settings list under Back/Forward and retire version visits on explicit close or a confirmed revert.

Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Use the shared dialog's standard width and compact content spacing for config version details.

Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Merge Settings and Instructions versions chronologically, and initialize restored Settings disclosures before the first paint. Retain at most two loaded track histories per session reader, invalidated by subject, head and history version, so dialog navigation preserves the loaded list.

Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
tellaho and others added 4 commits November 4, 2026 12:45
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
@tellaho tellaho removed the buzz-review-completed Agent review and human UI testing recorded label Nov 4, 2026
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
@tellaho
tellaho force-pushed the tho/agent-config-history branch from 92fd8a0 to f64c73f Compare November 4, 2026 21:02
@tellaho tellaho added the buzz-review-completed Agent review and human UI testing recorded label Nov 4, 2026

@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.

🤖 Approved. The unused history layout and test mismatch are fixed; no remaining actionable findings. Keep editing → save → Settings retains the version inspector; whether cancellation should clear that address remains a product-contract question.

@tellaho
tellaho merged commit 0db9ade into main Nov 5, 2026
41 checks passed
@tellaho
tellaho deleted the tho/agent-config-history branch November 5, 2026 01:09
gilgtm added a commit that referenced this pull request Nov 5, 2026
…lled-read

* origin/main: (28 commits)
  Run native Codex through plugin execution targets (#2150)
  test: split Solo access browser scenarios (#2499)
  feat(agents): let any agent change Buzz settings through the MCP (#2248)
  Let plugins decorate host sidebar rows and add sort modes (#1853)
  NEXUS-4082: Keep the new-message boundary stable during a visit (#2083)
  feat(agents): move version history into settings (#2374)
  fix(agents): read goose Activity by saved session ids and render memory bodies on open (#2466)
  feat(channels): starter channels: admin switch and relay auto_join flag (#1624)
  fix(plugins): read Square HTTPS sources with the Block SSH agent (#2465)
  feat(plugins): let agents request plugin changes for owner review (#2280)
  fix(messages): keep the hover toolbar while its menu is open (#2439)
  feat(workflows): suggest channel members for @ in Send Message text (#2309)
  AIDA-2344: Exclude muted channels from Dock (#2313)
  feat(search): add slack-style message search operators on desktop (#2463)
  test: fix invitation and coordination checks on main (#2517)
  perf(search): name searched people from the profile search response (#2353)
  Use the merge queue for pull requests that require it (#2452)
  fix(browser): load scheme-less address input over https, falling back to http (#2467)
  fix(identity): stop one-click key unlinks and show the linked backed-up key (#2486)
  fix(test): observe coordination transition events (#2297)
  ...

Signed-off-by: Gil Birman <gil@squareup.com>
Co-authored-by: Claude <noreply@anthropic.com>

# Conflicts:
#	docs/buzz-help.md
cheng-block added a commit to cheng-block/buzz-app that referenced this pull request Nov 5, 2026
…ettings-shift-esc

* upstream/main: (91 commits)
  test(browser): click timeline rows only after the timeline settles (block#2560)
  ci: split Vitest across six shards so 3/4 stops hitting the job cap (block#2571)
  feat(github): unfurl PR and issue links inline with their title (block#1693)
  fix(auth): style federated sign-in callback pages (block#2549)
  fix(agents): align creation model controls with identity (block#2480)
  Run native Codex through plugin execution targets (block#2150)
  test: split Solo access browser scenarios (block#2499)
  feat(agents): let any agent change Buzz settings through the MCP (block#2248)
  Let plugins decorate host sidebar rows and add sort modes (block#1853)
  NEXUS-4082: Keep the new-message boundary stable during a visit (block#2083)
  feat(agents): move version history into settings (block#2374)
  fix(agents): read goose Activity by saved session ids and render memory bodies on open (block#2466)
  feat(channels): starter channels: admin switch and relay auto_join flag (block#1624)
  fix(plugins): read Square HTTPS sources with the Block SSH agent (block#2465)
  feat(plugins): let agents request plugin changes for owner review (block#2280)
  fix(messages): keep the hover toolbar while its menu is open (block#2439)
  feat(workflows): suggest channel members for @ in Send Message text (block#2309)
  AIDA-2344: Exclude muted channels from Dock (block#2313)
  feat(search): add slack-style message search operators on desktop (block#2463)
  test: fix invitation and coordination checks on main (block#2517)
  ...

Signed-off-by: Cheng Peng <cheng@block.xyz>
Co-authored-by: Cursor <cursoragent@cursor.com>
cheng-block added a commit to cheng-block/buzz-app that referenced this pull request Nov 5, 2026
* upstream/main: (22 commits)
  test(browser): click timeline rows only after the timeline settles (block#2560)
  ci: split Vitest across six shards so 3/4 stops hitting the job cap (block#2571)
  feat(github): unfurl PR and issue links inline with their title (block#1693)
  fix(auth): style federated sign-in callback pages (block#2549)
  fix(agents): align creation model controls with identity (block#2480)
  Run native Codex through plugin execution targets (block#2150)
  test: split Solo access browser scenarios (block#2499)
  feat(agents): let any agent change Buzz settings through the MCP (block#2248)
  Let plugins decorate host sidebar rows and add sort modes (block#1853)
  NEXUS-4082: Keep the new-message boundary stable during a visit (block#2083)
  feat(agents): move version history into settings (block#2374)
  fix(agents): read goose Activity by saved session ids and render memory bodies on open (block#2466)
  feat(channels): starter channels: admin switch and relay auto_join flag (block#1624)
  fix(plugins): read Square HTTPS sources with the Block SSH agent (block#2465)
  feat(plugins): let agents request plugin changes for owner review (block#2280)
  fix(messages): keep the hover toolbar while its menu is open (block#2439)
  feat(workflows): suggest channel members for @ in Send Message text (block#2309)
  AIDA-2344: Exclude muted channels from Dock (block#2313)
  feat(search): add slack-style message search operators on desktop (block#2463)
  test: fix invitation and coordination checks on main (block#2517)
  ...

Signed-off-by: Cheng Peng <cheng@block.xyz>
Co-authored-by: Cursor <cursoragent@cursor.com>
cheng-block added a commit to cheng-block/buzz-app that referenced this pull request Nov 5, 2026
* upstream/main: (91 commits)
  test(browser): click timeline rows only after the timeline settles (block#2560)
  ci: split Vitest across six shards so 3/4 stops hitting the job cap (block#2571)
  feat(github): unfurl PR and issue links inline with their title (block#1693)
  fix(auth): style federated sign-in callback pages (block#2549)
  fix(agents): align creation model controls with identity (block#2480)
  Run native Codex through plugin execution targets (block#2150)
  test: split Solo access browser scenarios (block#2499)
  feat(agents): let any agent change Buzz settings through the MCP (block#2248)
  Let plugins decorate host sidebar rows and add sort modes (block#1853)
  NEXUS-4082: Keep the new-message boundary stable during a visit (block#2083)
  feat(agents): move version history into settings (block#2374)
  fix(agents): read goose Activity by saved session ids and render memory bodies on open (block#2466)
  feat(channels): starter channels: admin switch and relay auto_join flag (block#1624)
  fix(plugins): read Square HTTPS sources with the Block SSH agent (block#2465)
  feat(plugins): let agents request plugin changes for owner review (block#2280)
  fix(messages): keep the hover toolbar while its menu is open (block#2439)
  feat(workflows): suggest channel members for @ in Send Message text (block#2309)
  AIDA-2344: Exclude muted channels from Dock (block#2313)
  feat(search): add slack-style message search operators on desktop (block#2463)
  test: fix invitation and coordination checks on main (block#2517)
  ...

Signed-off-by: Cheng Peng <cheng@block.xyz>
Co-authored-by: Cursor <cursoragent@cursor.com>
ljknight added a commit to ljknight/buzz-app that referenced this pull request Nov 5, 2026
…nks-in-browser

* origin/main: (138 commits)
  feat(composer): optional ⌘/Ctrl+Enter to send (block#2331)
  test: use keyboard activation for reply caret setup (block#2557)
  test: settle member search before invitation expansion (block#2532)
  test(agent-command): isolate the copied executable writer (block#2537)
  test(sidebar): wait for the rolled-back row to leave Starred before collapsing Work (block#2574)
  test(browser): click timeline rows only after the timeline settles (block#2560)
  ci: split Vitest across six shards so 3/4 stops hitting the job cap (block#2571)
  feat(github): unfurl PR and issue links inline with their title (block#1693)
  fix(auth): style federated sign-in callback pages (block#2549)
  fix(agents): align creation model controls with identity (block#2480)
  Run native Codex through plugin execution targets (block#2150)
  test: split Solo access browser scenarios (block#2499)
  feat(agents): let any agent change Buzz settings through the MCP (block#2248)
  Let plugins decorate host sidebar rows and add sort modes (block#1853)
  NEXUS-4082: Keep the new-message boundary stable during a visit (block#2083)
  feat(agents): move version history into settings (block#2374)
  fix(agents): read goose Activity by saved session ids and render memory bodies on open (block#2466)
  feat(channels): starter channels: admin switch and relay auto_join flag (block#1624)
  fix(plugins): read Square HTTPS sources with the Block SSH agent (block#2465)
  feat(plugins): let agents request plugin changes for owner review (block#2280)
  ...

# Conflicts:
#	src/bundled/github/README.md
damienrj added a commit to damienrj/buzz-app that referenced this pull request Nov 5, 2026
* commit 'a39dba132^':
  feat(github): unfurl PR and issue links inline with their title (block#1693)
  fix(auth): style federated sign-in callback pages (block#2549)
  fix(agents): align creation model controls with identity (block#2480)
  Run native Codex through plugin execution targets (block#2150)
  test: split Solo access browser scenarios (block#2499)
  feat(agents): let any agent change Buzz settings through the MCP (block#2248)
  Let plugins decorate host sidebar rows and add sort modes (block#1853)
  NEXUS-4082: Keep the new-message boundary stable during a visit (block#2083)
  feat(agents): move version history into settings (block#2374)
  fix(agents): read goose Activity by saved session ids and render memory bodies on open (block#2466)
  feat(channels): starter channels: admin switch and relay auto_join flag (block#1624)
  fix(plugins): read Square HTTPS sources with the Block SSH agent (block#2465)
  feat(plugins): let agents request plugin changes for owner review (block#2280)
  fix(messages): keep the hover toolbar while its menu is open (block#2439)

Signed-off-by: damienrj <damien@squareup.com>
ljknight added a commit to ljknight/buzz-app that referenced this pull request Nov 5, 2026
* origin/main: (121 commits)
  feat(composer): optional ⌘/Ctrl+Enter to send (block#2331)
  test: use keyboard activation for reply caret setup (block#2557)
  test: settle member search before invitation expansion (block#2532)
  test(agent-command): isolate the copied executable writer (block#2537)
  test(sidebar): wait for the rolled-back row to leave Starred before collapsing Work (block#2574)
  test(browser): click timeline rows only after the timeline settles (block#2560)
  ci: split Vitest across six shards so 3/4 stops hitting the job cap (block#2571)
  feat(github): unfurl PR and issue links inline with their title (block#1693)
  fix(auth): style federated sign-in callback pages (block#2549)
  fix(agents): align creation model controls with identity (block#2480)
  Run native Codex through plugin execution targets (block#2150)
  test: split Solo access browser scenarios (block#2499)
  feat(agents): let any agent change Buzz settings through the MCP (block#2248)
  Let plugins decorate host sidebar rows and add sort modes (block#1853)
  NEXUS-4082: Keep the new-message boundary stable during a visit (block#2083)
  feat(agents): move version history into settings (block#2374)
  fix(agents): read goose Activity by saved session ids and render memory bodies on open (block#2466)
  feat(channels): starter channels: admin switch and relay auto_join flag (block#1624)
  fix(plugins): read Square HTTPS sources with the Block SSH agent (block#2465)
  feat(plugins): let agents request plugin changes for owner review (block#2280)
  ...

# Conflicts:
#	docs/buzz-help.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buzz-review-completed Agent review and human UI testing recorded

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants