22d8e6950b
feat(desktop): surface buried agent replies to the viewer in the channel timeline
...
The channel timeline renders only root-level entries, so agent replies
addressed to a human inside threads are invisible where that human reads
the channel. surfaceReplies projects nested agent replies that p-tag the
VIEWER, collapseSurfacedReplies folds each thread's buried replies into one
representative (the most-recent reply) carrying the group count.
Two constraints keep the projection from flooding the timeline in this
team's threading model, where nearly every message is a nested reply:
- Viewer-only: only replies p-tagging the reader surface, and an
unresolved viewer fails closed (surfaces nothing) rather than falling
back to "any human".
- Per-thread collapse: a busy thread contributes one pill, not dozens.
Each collapsed pill is ATTACHED to its thread-root message and renders as
a pill directly below that root (the same visual grammar as the
thread-summary row), driven from the entry side via buildSurfacedByRoot
keyed by the thread root id. The pill lives and dies with its root: a
surfaced thread whose root is not a rendered entry (off-window, or a
broadcast-rooted subthread whose NIP-10 root marker points elsewhere)
contributes no pill rather than a detached orphan.
The pill is self-explanatory: "{author} replied to you" followed by a
single-line snippet of the most-recent reply (surfacedReplyLabel collapses
whitespace and truncates), with a quiet "· N replies" suffix for a thread
with more than one buried reply. Clicking navigates via
goChannel({messageId, threadRootId}) to the most-recent surfaced reply.
De-dupe stays strict body-match so an agent's unrelated earlier root post
cannot suppress a genuinely new nested reply; agent-to-agent replies are
excluded.
Co-authored-by: Will Pfleger <pfleger.will@gmail.com >
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
2026-06-24 16:18:35 -04:00
a3e8fb6fd5
fix(desktop): scope mention/add autocomplete to reachable identities ( #1243 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-24 12:57:55 -07:00
09dbeb86fa
test(e2e): raise scroll-history pagination test timeout to 90s ( #1234 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-06-24 12:56:22 -07:00
klopez4212 and GitHub
b264a32cfb
Polish thread and media layout ( #1239 )
2026-06-24 12:55:25 -07:00
klopez4212 and GitHub
092546495d
Polish desktop navigation chrome ( #1238 )
2026-06-24 12:54:05 -07:00
2e426b2fdd
fix: propagate persona harness edits to live agent instances ( #1244 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-24 13:41:19 -04:00
45067ec135
fix(desktop): render autolinked message links as chips ( #1241 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-24 09:47:12 -07:00
733c766eba
fix(desktop): clear unread projections from message read markers ( #1242 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-24 09:39:16 -07:00
86d7748ebd
fix(desktop): resolve repos_dir symlink at boot before agent restore ( #1231 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-24 11:58:48 -04:00
36d3d2ed1e
Fix presence fan-out across relay pods ( #1227 )
...
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
2026-06-23 22:32:46 -04:00
Will Pfleger and GitHub
142a5c9095
fix(relay): raise grace limit, add replay backpressure, and NOTICE on oversized frames ( #1226 )
2026-06-23 20:26:54 -04:00
Wes and GitHub
38a9533439
[codex] Make relay frame limit configurable ( #1225 )
2026-06-23 17:18:55 -07:00
Wes and GitHub
3e91ce274e
chore(release): release Buzz Desktop version 0.3.31 ( #1223 )
v0.3.31
2026-06-23 15:49:04 -07:00
549b7d2481
fix(release): publish versioned relay Docker tags via independent release lanes ( #1173 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 18:35:30 -04:00
thomaspblock and GitHub
6ad68a6b09
fix(desktop): align settings section headers ( #1165 )
...
Signed-off-by: Thomas Petersen <thomasp@squareup.com >
2026-06-23 15:32:38 -07:00
1011cea268
fix(desktop): ground agent workspace, migrate legacy nest, configurable repos_dir ( #1194 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 18:30:12 -04:00
fa1262a92c
fix(desktop): enable mesh llm for release builds ( #1221 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 15:10:36 -07:00
Will Pfleger and GitHub
e35e84b08b
fix(desktop): move crypto commands off the main thread ( #1222 )
2026-06-23 18:02:24 -04:00
c58e9880bf
fix: tolerate missing private_key_nsec in agent store ( #1220 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 17:55:13 -04:00
6b5cf325c2
Update navigation header height ( #1212 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 14:40:38 -07:00
klopez4212 and GitHub
5130a6a0b6
Improve global search ( #1195 )
2026-06-23 14:31:06 -07:00
65ccb1262f
Parse Typesense multi_search errors ( #1208 )
...
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
2026-06-23 14:16:15 -07:00
89ff950444
fix(desktop): keep settings shortcut from opening search ( #1204 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 14:15:44 -07:00
klopez4212 and GitHub
c0a872e898
Polish sidebar channel navigation ( #1213 )
2026-06-23 14:15:04 -07:00
89aaa26443
fix(desktop): restore channel unread badges ( #1218 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 13:59:21 -07:00
thomaspblock and GitHub
b4e75a1e41
Fix collapsed home header chrome overlap ( #1215 )
...
Signed-off-by: Thomas Petersen <thomasp@squareup.com >
2026-06-23 13:45:57 -07:00
2a522826ed
fix(desktop): dedupe welcome intro per channel ( #1216 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 12:47:11 -07:00
bee2d64cf7
fix(desktop): defer agent page secondary requests ( #1217 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 12:46:47 -07:00
3ef2a8e5c7
ci(release): enable Tauri auto-updater on Windows and Linux builds ( #1206 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 15:34:11 -04:00
ed556f3deb
Hydrate reactions for rendered messages ( #1205 )
...
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
2026-06-23 13:39:01 -04:00
40070a5855
fix(desktop): show NIP-OA owners in profile pane ( #1198 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 09:07:50 -07:00
29978b6f93
fix(desktop): preserve login-shell PATH for managed agents ( #1193 )
...
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-06-23 11:58:25 -04:00
b3b0704efb
Fix nav chrome offset in fullscreen ( #1192 )
...
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
2026-06-23 10:58:02 -04:00
c0858dac12
fix(desktop): show due-reminder count in the Inbox nav badge ( #1191 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 10:46:18 -04:00
Will Pfleger and GitHub
45eae7c0ec
chore(release): release version 0.3.30 ( #1190 )
v0.3.30
2026-06-23 10:02:52 -04:00
ce994df74e
fix(desktop): collapse mark-read/unread menu into one toggling item ( #1188 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 23:24:58 -04:00
28db41dfd3
fix(channels): replace thread-unread badge frontier with per-message read markers ( #1178 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 22:25:10 -04:00
6780ea21e4
fix(relay): resubscribe agents when an archived channel is restored ( #1187 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 22:16:16 -04:00
Wes and GitHub
d389bf0b85
chore(release): release version 0.3.29 ( #1184 )
v0.3.29
2026-06-22 22:44:29 +00:00
ce5261067d
build: make mesh-llm opt-in for dev/staging to speed up iteration ( #1183 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: npub1yxv5wk0u0fh6dwt925wntn7h397jvteyj4r87ttcd9xae7n2t3lqqj9jmm <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-22 22:11:50 +00:00
4b518fc4b3
feat(desktop): default temporary channels to 7-day expiry ( #1182 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 18:10:01 -04:00
ff727af926
fix(desktop): render lightbox image sharply at full resolution ( #1181 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 18:03:04 -04:00
781d1acf8a
fix(desktop): keep thread guides behind the reply composer ( #1179 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-22 14:15:10 -07:00
04df2c8dc6
Sort direct messages alphabetically ( #1180 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-22 13:53:16 -07:00
klopez4212 and GitHub
7dcf22d50e
Add composer selection formatting tray ( #1133 )
2026-06-22 13:27:35 -07:00
ea97e21989
fix(desktop): honor per-agent relay override, default to workspace relay ( #1131 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 15:49:30 -04:00
141f7118ae
[codex] Stabilize desktop E2E flakes ( #1174 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: npub1yxv5wk0u0fh6dwt925wntn7h397jvteyj4r87ttcd9xae7n2t3lqqj9jmm <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-22 12:32:34 -07:00
1186ea48b9
feat(desktop): show reminder author + source and click-to-navigate in inbox ( #1176 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 15:06:56 -04:00
de3f21abcd
Improve inbox thread updates ( #1114 )
...
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
2026-06-22 11:48:32 -07:00
26fdfb674c
docs(readme): mark git hosting as shipped in status table ( #1175 )
...
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-06-22 14:47:45 -04:00