npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w and Taylor Ho
42e81166d5
feat(desktop): add header-level threads attention menu
...
Threads needing attention were hard to chase down inside a busy timeline,
so the affordance moves to the channel header: a ReceiptText control left
of the Users button, badged with the channel's unread-reply total, opening
one combined list of unread and active threads. Selecting a row opens the
thread panel scroll-focused on the thread head.
- threadAttention.ts: pure derivation — merge unread counts with active
threads (active first by start recency, then unread by reply recency),
coarse Ns/Nm/Nh uptime formatter, single-line head previews.
- useThreadAttention.ts: 'active' comes from thread-scoped bot typing;
uptime anchors to a session-local first-seen map keyed on a stable
active-set key, and rows are field-wise stabilized so busy-channel
timeline churn never re-renders the header memo.
- ChannelThreadsAttentionMenu.tsx: trigger + badge + combined list; the
uptime tick mounts only while the menu is open.
- handleOpenThreadFocused: non-toggle open + thread-head scroll target,
so re-selecting an already-open thread refocuses instead of closing it.
- Wired through ChannelScreenHeader/ChannelMembersBar in both inline and
compact variants; DMs get the control (DMs are channels), forums are
gated off since they render no thread panel.
Co-authored-by: Taylor Ho <taylorkmho@gmail.com >
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
2026-07-07 00:07:31 -07:00
npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w and Taylor Ho
e20408e053
fix(desktop): scope thread typing to the thread root, not reply parent
...
getTypingScopeId keyed typing entries on the reply parent tag, so an agent
working deep in a thread produced a threadHeadId that matched no ingress row
(and missed the open-thread composer filter). Typing and completion events
already carry a root tag for nested replies — prefer it, falling back to the
parent for direct replies where root === parent and no root tag is emitted.
Both the registration and post-message suppression paths flow through the
same helper, so suppression keys stay consistent. Exported for tests.
Co-authored-by: Taylor Ho <taylorkmho@gmail.com >
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
2026-07-06 23:23:07 -07: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
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 )
2026-07-06 19:15:02 -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
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 )
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
Wes and GitHub
8d64887316
chore(release): release Buzz Desktop version 0.3.43 ( #1538 )
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
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
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
klopez4212 and GitHub
5b88e59565
feat(desktop): replace placeholder icon with actual app icon on welcome screen ( #1527 )
...
Signed-off-by: klopez4212 <klopez4212@gmail.com >
2026-07-06 06:55:58 -07:00
klopez4212 and GitHub
a1b5983e54
feat(desktop): enable native spellcheck in message composer ( #1515 )
2026-07-06 06:54:30 -07:00
6428005487
fix: let agent owners delete their agent's messages (relay kind:5 + desktop/mobile UX) ( #1519 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-06 06:45:57 -07:00
8174f2b0a0
chore(desktop): bring ChannelScreen back under the size gate ( #1520 )
...
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-05 21:25:16 -06:00
ee4c9ef139
fix(zoom) desktop chrome clearance under text zoom ( #1490 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-05 09:37:16 -07:00
caf644eda7
fix(activity panel): handle back navigation ( #1487 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-05 09:24:14 -07:00
33886e3dec
perf: GIN index for e-tag containment + delta profile fetch (scroll-back ~2.1s/page) ( #1514 )
...
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-04 22:20:51 -04:00
62bb9fe8c8
GUI read-model overhaul: server-assembled channel windows (Correct™ pagination + relay-signed bounds) ( #1500 )
...
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1cc3ha7z055mu0rwwu7806t2wt8mj3pvu0uv5mfp2c50dahaqhczshdalg6 <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
2026-07-04 11:51:58 -04:00
c7a8b0babb
feat(desktop): show activity timestamps on demand ( #1506 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-04 08:40:49 -07:00
klopez4212 and GitHub
f35aeb7986
feat(reconnect): replace top banner with animated sidebar overlay ( #1510 )
2026-07-04 08:37:34 -07:00
20d3cdc22f
docs(nest-skill): explain agent-owned git repos and automatic auth ( #1437 )
...
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-03 20:47:01 -04:00
Wes and GitHub
a038c6465f
chore(release): release Buzz Desktop version 0.3.42 ( #1479 )
2026-07-03 09:16:52 -07:00
a3cf7eec1d
fix(desktop): bound read-state localStorage growth and recover from quota errors ( #1502 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-03 09:00:27 -07:00
klopez4212 and GitHub
bbf8d8912a
Customize macOS DMG installer ( #1496 )
2026-07-03 08:56:20 -07:00
654b6c374b
feat(profile): embed live activity feed in profile aux panel ( #1380 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-03 15:40:29 +00:00