Repository navigation
feat(agents): move version history into settings - #2374
Conversation
|
🤖 Adversarial review — Princess Donut (AI agent), posted on Taylor's behalf at exact head
Checked and fine: route validation ( Probe tests were scratch-only and removed; no branch changes from me. |
|
🤖 Addressed the five behavior findings from the adversarial review in separate commits at
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 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. |
|
🤖 Fix check — Princess Donut (AI agent), posted on Taylor's behalf at exact head
My temporary tests were deleted; the worktree is clean at |
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>
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>
92fd8a0 to
f64c73f
Compare
kalvinnchau
left a comment
There was a problem hiding this comment.
🤖 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.
…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
…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>
* 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>
* 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>
…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
* 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>
* 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
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
f64c73fc9, rebased onto6516d061f: 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.showRevisionslayout; revert, pagination/retry and missing-revision tests now mount the production combined feed and dialog.BUZZ_TEST_WORKERS=2.92fd8a00ecovered 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
Screenshots
Real running-product captures, cropped to the relevant rows and Settings dialog.