klopez4212 and Claude Fable 5
d24d56f809
Restore the last-viewed chat when returning to the Chats tab
...
The Chats tab always landed on the new-chat screen. Remember the
last-viewed chat per workspace (localStorage) and redirect plain
/chats navigations back to it when it still exists. Explicit new-chat
navigations carry a projectId in the route search and are never
redirected.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 07:45:34 +01:00
klopez4212 and Claude Fable 5
17e18343f1
Hide turn-setup lifecycle markers in chats
...
"Turn started" / "Session ready" rows repeat on every turn without
telling the user anything actionable — the Working marker (and its
raw-event dropdown) already covers turn liveness. Drop them from the
chat timeline and the completed-turn dropdown; their timestamps still
feed the "Thought for Xs" duration.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 07:45:34 +01:00
klopez4212 and Claude Fable 5
9d67921af6
Anchor multi-message turns to the user's latest message
...
A turn can span several user messages — a mid-turn steer, or a batch
that merged a replayed backlog message with a fresh one. Chat activity
placement anchored the turn to the FIRST of them, so the turn's output
(including the reply to the newest message) rendered above the user's
latest message, pinning it to the bottom of the conversation.
Attach the block to the latest prompt/steer message id instead, and
make merged prompts resolve their prompt item to the newest embedded
Buzz event section rather than the oldest.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 07:45:33 +01:00
klopez4212 and Claude Fable 5
8f38eddcad
Polish chats mode: live feedback, auto-titles, and turn readability
...
A batch of chat-mode UX improvements:
- Per-element shimmer on loading markers (label and elapsed time each
get an aligned overlay instead of one misaligned combined pass).
- Slide-up entrance animation for newly arrived rows (messages and
activity markers), recency-gated so opening a chat never cascades.
- Consecutive completed shell commands fold into "Ran N commands"; the
in-flight command stays visible as its own live row until it lands.
- Chats auto-title once the conversation takes shape: agent-generated
chat_title frames are preferred, with a lead-in-stripping heuristic
as fallback. Titles swap in with the search-placeholder character
animation, never override a manual rename, and the sidebar list now
follows the metadata title.
- The "Working" row gets a dropdown showing the turn's recent raw
observer events (reusing RawEventRail).
- The agent activation card holds a 20s grace window after activation
so it doesn't flash back while the agent boots.
- Message scroller: bottom fade as an overlay (masks repaint per frame
in WKWebView), removed content-visibility sizing that broke
stick-to-bottom, simplified the scroll anchor.
- Fix duplicate sibling key that leaked a stacked header per chat
switch, and circular sizing that collapsed the animated title.
Adds e2e coverage for the first-message flow (send, entrance
animation, retitle) and a header-stacking regression test.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 07:45:33 +01:00
klopez4212 and Claude Fable 5
4a19f5ae25
Teach buzz-acp to title chats and replay unanswered chat backlog
...
Two chat-mode harness features:
- chat_title observer frames: after the first successful turn in a chat
channel, run a tool-less side session (no MCP servers, no system
prompt, observer muted so its wire traffic never pollutes the turn's
transcript) that titles the conversation, and emit the sanitized
result as a chat_title frame for the desktop to apply.
- chat backlog replay: chats now subscribe from just after the agent's
own last reply (capped at 6h) instead of the startup watermark, so a
message sent while the agent was stopped is delivered once the owner
activates it, instead of being silently skipped forever.
Adds streamed assistant-text capture to AcpClient for side prompts.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 07:44:38 +01:00
klopez4212 and Claude Fable 5
1eacdea1d8
Add request deadlines to the desktop relay HTTP bridge
...
The shared reqwest client had no timeout, so a stalled connection (e.g.
an expired VPN tunnel that blackholes packets) left relay bridge calls
pending forever — chat creation and message sends spun indefinitely with
no error surfaced. Relay requests now carry a 30s per-request deadline
and the shared client gets a 10s connect timeout (connect-phase only, so
media streaming stays unbounded).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 07:43:31 +01:00
klopez4212
fb548c6373
Add Chats mode
2026-07-07 07:43:31 +01:00
1f5ba5bb27
fix(desktop): sync derived active-turn liveness in channel activity path ( #1492 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-07 03:59:23 +00:00
e3008b3604
fix(personas): remove goose runtime pin from Fizz built-in ( #1566 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 23:36:32 -04:00
08e707eb57
feat(acp,buzz-agent): thread model name through NIP-AM kind 44200 emit path ( #1564 )
...
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 21:12:42 -04:00
04a9d10299
sync channel sort preferences across clients ( #1556 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-06 23:53:23 +00:00
2ef26ec210
fix desktop canvas header blur in split channel management ( #1558 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-06 16:46:31 -07:00
1aa87bb26b
feat(composer): compose spoiler, annotation, and tooltip controls ( #1491 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-06 16:36:01 -07:00
36ac5243ff
feat(channel list): add persistent channel sort toggle ( #1505 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-06 16:31:22 -07:00
Will Pfleger and GitHub
5f7f774ea1
chore(release): release Buzz Desktop version 0.3.45 ( #1561 )
v0.3.45
2026-07-06 19:15:02 -04:00
75b52ad7e5
chore(deps): bump crossbeam-epoch to 0.9.20 for RUSTSEC-2026-0204 ( #1563 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co >
2026-07-06 18:57:47 -04:00
484bede759
fix(archive): atomic remove-kind path + split test modules ( #1562 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co >
2026-07-06 18:45:05 -04:00
429f54b4f4
feat(archive): add agent turn-metric (kind 44200) local archive ( #1555 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 22:30:22 +00:00
d8355d3188
feat(desktop,buzz-acp): add harness-agnostic config bridge and setup-listener mode ( #1411 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 18:23:38 -04:00
76806cb1f6
fix(desktop): stop edit-channel dialog hanging on "Saving..." ( #1557 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-06 15:05:44 -07:00
7110788077
feat(archive): add local-save archive with observer-feed default-on option ( #1442 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 17:41:56 -04:00
4c598dcef5
feat(desktop): add Slack-like Drafts inbox with persistence and image fix ( #1539 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 17:40:57 -04:00
Yoav Amit and GitHub
3729a65156
fix(setup): fix syntax error in seed-local-community.sh ( #1547 )
2026-07-06 14:24:03 -07:00
0e87998f8f
feat(desktop): add right-click context menu to workspace rail ( #1552 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-06 14:23:44 -07:00
e790c9828f
fix(desktop): restore saved window geometry on launch ( #1554 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-06 14:22:57 -07:00
3b43743e1f
feat(desktop): add typeahead search to persona model dropdown ( #1542 )
...
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 15:01:09 -04:00
346efe08b3
fix(desktop): publish new agent profiles to active relay ( #1546 )
...
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
2026-07-06 14:36:53 -04:00
Will Pfleger and GitHub
ccfdf45bc5
chore(desktop): use dot access for host header assignment ( #1548 )
2026-07-06 13:58:15 -04:00
c2ee4d1627
fix(onboarding): guard against webkit2gtk WAL race with explicit profile-event signal ( #1508 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 13:57:05 -04:00
Wes and GitHub
2eebeb54bc
chore(release): release Buzz Desktop version 0.3.44 ( #1544 )
v0.3.44
2026-07-06 10:50:05 -07:00
4343c6d55e
chore(desktop): move biome-ignore comments to assertion lines in pulse hooks ( #1545 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 13:45:28 -04:00
6abf614fd4
fix(desktop): keep thread-summary badges mounted through scrollback prepends ( #1533 )
...
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
2026-07-06 12:59:37 -04:00
cfa2089831
refactor(shell): drop bundled PortableGit, add BUZZ_SHELL override + dialect hint ( #1536 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 12:54:50 -04:00
71265ca361
feat(nips,relay,acp): NIP-AM durable encrypted agent turn metrics (kind 44200) ( #1441 )
...
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co >
2026-07-06 16:35:10 +00:00
Wes and GitHub
8d64887316
chore(release): release Buzz Desktop version 0.3.43 ( #1538 )
v0.3.43
2026-07-06 16:14:54 +00:00
4d38f1cba1
fix(desktop): guard Linux .deb installs against auto-updater crash ( #1535 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-06 12:04:27 -04:00
ce901f7c1e
fix(desktop): sync agent relay profile when persona avatar changes ( #1512 )
...
Signed-off-by: Kenny Lopez <kenny@block.xyz >
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-06 16:30:16 +01:00
klopez4212 and GitHub
9e773f103a
feat(desktop): redesign appearance settings with mode-first theme picker ( #1528 )
2026-07-06 16:22:27 +01:00
d408370851
fix(deps): restore windows-* crates downgraded by chrono bump (fixes Windows Rust on main) ( #1532 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-06 08:15:40 -07:00
a8238cd670
chore(renovate): stop rebase churn between weekly sweeps ( #1530 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-06 07:53:33 -07:00
2a24765fd7
fix(deps): unversion isomorphic-git pnpm patch key ( #1529 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-06 07:53:18 -07:00
b66a53f5b5
chore(deps): update dependency @tanstack/react-virtual to v3.14.5 ( #1523 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 14:48:09 +00:00
f1b29140c6
chore(deps): update redis to v1.2.2 ( #1049 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 14:47:40 +00:00
klopez4212 and GitHub
232b6066c0
feat(desktop): restore section icon/emoji picker ( #1516 )
...
Signed-off-by: klopez4212 <klopez4212@gmail.com >
2026-07-06 15:33:11 +01:00
dc383c1993
chore(deps): update radix-ui-primitives monorepo ( #1524 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-06 14:29:50 +00:00
Mat Balez and GitHub
668d30b0cf
fix(desktop): stop Leave-channel dialog from freezing the app ( #1482 )
...
Signed-off-by: Mathieu Balez <mbalez@squareup.com >
2026-07-06 14:29:31 +00:00
d09d7dea55
perf: lazy-load avatars and message images ( #1517 )
...
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
2026-07-06 10:25:54 -04:00
74a30c3de8
Live thread-summary push: badge counts update on reply ingest ( #1521 )
...
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
2026-07-06 10:25:32 -04:00
a255a77358
chore(deps): update all non-major dependencies ( #1163 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 14:19:20 +00:00
26d609cbe1
chore(deps): update rust crate anyhow to v1.0.103 ( #1525 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 14:16:37 +00:00