Matt Toohey
f88d903534
feat(desktop): surface bundled-bridge Node.js requirement in Doctor
...
The bundled ACP bridges are shell shims that exec node; without a
suitable Node.js on the spawn PATH the first agent session dies with a
bare exit 127. Surface the requirement in the Doctor panel instead:
- New managed_agents::node_runtime module reads the staged
resources/acp/node-runtime.json manifest (one entry per npm-sourced
bridge, each with its own required Node major), resolves node from
the same augmented PATH the agent spawn and CLI auth probes use (so
the check cannot disagree with what the wrapper shims find at spawn
time), probes `node -p process.versions.node` with a 10s timeout,
and reports pass/warn with a per-bridge satisfied/unmet/unknown
verdict list. A missing manifest keeps the check silent (no
npm-sourced bridges bundled); an unreadable one warns instead of
hiding a packaging break.
- New check_acp_node_runtime Tauri command plus a Doctor panel section
(message, node path, per-bridge requirements, Install Node.js fix
link on warn) that the Re-run button refreshes alongside the runtime
rows. The e2e mock bridge grows a nodeRuntimeCheck fixture knob.
- tokio gains the "process" feature for the async node probe.
Readiness gating for bundled bridges needs no code here: Buzz's
classify_runtime already reports adapter_missing when find_command
(which prefers the bundle since the previous commit) cannot resolve
the bridge, and cli_login_requirements resolves the adapter the same
way — so a broken bundle reads not_installed instead of ready. This
is the behaviour squareup/berd 17c5e9e5 had to add explicitly.
Ports block/builderbot apps/staged adea4017 (node-runtime doctor
manifest), itself a port of squareup/berd 07087303.
Verification:
- cargo test --manifest-path desktop/src-tauri/Cargo.toml --lib:
1392 passed, 0 failed, 11 ignored (10 new tests: version parsing,
requirement labels, all four check states, manifest missing/invalid/
loaded including the exact staging-script JSON shape)
- cargo clippy --all-targets: clean; cargo fmt --check: clean
- desktop: tsc --noEmit clean; biome clean; pnpm test 2744 passed
- playwright doctor-states.spec.ts (smoke): 8 passed, including new
06-node-runtime-pass / 07-node-runtime-warn /
08-node-runtime-hidden-when-not-bundled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Signed-off-by: Matt Toohey <contact@matttoohey.com >
2026-07-15 13:40:57 +10:00
Wes
395a3f1492
test(desktop): remove stale collapsed home chrome check ( #1871 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-14 17:37:15 -07:00
Wes
8ce9e79145
fix(desktop): hide message action for inaccessible agents ( #1883 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-14 17:21:54 -07:00
Will Pfleger
1742dce7b2
feat(desktop): add API key field, global default indicators, and collapsed advanced ( #1875 )
2026-07-14 20:10:39 -04:00
Will Pfleger
5bb6192951
fix(desktop): remediate all onboarding dead paths (D1-D7) ( #1856 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
2026-07-14 19:31:28 -04:00
Will Pfleger
448baeef77
feat(teams): unify team model, snapshot sharing, and PNG memory parity ( #1846 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-14 17:10:51 -04:00
Will Pfleger
37bc962cb8
fix(desktop): always start agents and hide unavailable mesh ( #1860 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-14 17:08:47 -04:00
Will Pfleger
cf97237965
feat(desktop): add Sign Out to Settings to reset and relaunch ( #1842 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-14 16:52:57 -04:00
Wes
916de4e4db
Stabilize persona and stream end-to-end tests ( #1865 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-14 12:14:41 -07:00
Wes
3e76481a14
refactor(clients): standardize product naming on community ( #1858 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-14 11:11:02 -07:00
Matt Toohey
ff11f26bcd
fix(desktop): navigate to channel from inbox thread header ( #1847 )
...
Signed-off-by: Matt Toohey <contact@matttoohey.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-14 09:26:57 -07:00
Will Pfleger
b1d323c4e7
feat(desktop): surface needsRestart badge on live UI surfaces ( #1853 )
2026-07-14 12:15:02 -04:00
Wes
7f81d93eb1
fix(desktop): prevent menu-to-dialog UI lockups ( #1839 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-14 09:03:39 -07:00
klopez4212
bb9d9b0c04
feat(desktop): add conversation-style DM composer ( #1768 )
...
Signed-off-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Fizz <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
2026-07-14 16:50:22 +01:00
Mat Balez
458c7f9154
[codex] Add view activity label to agent popover ( #1748 )
...
Signed-off-by: Mat Balez <60949391+matbalez@users.noreply.github.com >
2026-07-13 22:58:56 -04:00
Will Pfleger
b63a2e4231
fix(desktop): sync sidebar update card copy with global installing state ( #1827 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-13 17:38:32 -04:00
Will Pfleger
51ee1c473d
feat(desktop): show read-only MCP server config ( #1780 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-13 16:29:21 -04:00
Will Pfleger
deed64a14f
fix(desktop): require user action before applying updates ( #1820 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-13 16:13:20 -04:00
Will Pfleger
a6cfd65511
fix(snapshot): send Buzz shares as PNG avatar cards ( #1811 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-13 13:58:24 -04:00
Wes
d41b4c3905
test(desktop): consolidate and stabilize scroll coverage ( #1815 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-13 10:11:27 -07:00
Will Pfleger
e09e94ab88
fix(desktop): preserve live events and window order across channel refreshes ( #1802 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-13 11:20:02 -04:00
klopez4212
109800fe5a
fix(desktop): restore macOS navigation chrome alignment ( #1797 )
...
Signed-off-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
2026-07-13 08:15:59 -07:00
Tyler
b0ad2b66dd
Retain a stable message window in channel timelines ( #1698 )
...
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Signed-off-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@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 >
2026-07-12 21:41:38 -04:00
Will Pfleger
7e3252ea3e
fix(desktop): stable inbox selection and scroll/draft preservation ( #1760 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-12 19:44:49 -04:00
Will Pfleger
1580046b3c
feat(desktop): add buzz-agent-snapshot v1 export, import, sender-native send, and recipient card/import ( #1753 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-12 19:30:21 -04:00
Will Pfleger
d2e87e1ca7
feat(desktop): add key backup and agent defaults to onboarding, make avatar optional ( #1767 )
2026-07-12 18:46:02 -04:00
Will Pfleger
f3319dd111
fix(desktop): correct provider and model handling in agent config dialogs ( #1764 )
2026-07-12 18:23:27 -04:00
Will Pfleger
7c346d7f85
fix(desktop): cascade persona deletes and restart agents on global config save ( #1766 )
2026-07-12 18:03:36 -04:00
Will Pfleger
25bb714752
fix(desktop): make doctor installs retryable with per-runtime progress and auth status ( #1765 )
2026-07-12 17:42:35 -04:00
klopez4212
2c41e9e6b8
fix(desktop): restore multi-image mosaic galleries ( #1769 )
...
Signed-off-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Fizz <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
2026-07-12 09:14:59 -07:00
klopez4212
5dc70bd0b8
Group channel membership events ( #1713 )
...
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
2026-07-12 16:02:15 +00:00
klopez4212
89e2e2e4ad
Fix desktop launch motion and reaction spacing ( #1717 )
...
Co-authored-by: Fizz <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
2026-07-12 08:42:31 -07:00
klopez4212
53c177e341
fix(desktop): align sidebar search across themes ( #1712 )
...
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
2026-07-12 15:36:20 +00:00
klopez4212
5e15a588e0
fix(desktop): Buzz theme flicker, white bar & accent-picker motion ( #1681 )
...
Signed-off-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
2026-07-12 16:35:35 +01:00
Will Pfleger
56d822dc2c
feat(desktop): surface Team Instructions as distinct observer section ( #1759 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-11 17:19:30 -04:00
Will Pfleger
84ec63aa24
fix(desktop): separate system prompt from turn context ( #1754 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-11 13:40:16 -04:00
Will Pfleger
77c08365e4
feat(desktop): global agent config defaults with readiness/spawn parity ( #1448 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-10 13:38:33 -04:00
Noah
9b2f0c8cb5
perf(desktop): thread panel rebuilt on every render — fix memo + add typing-latency benchmark ( #1652 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-10 12:29:00 -04:00
Will Pfleger
e2d104f669
fix(drafts): stop clearing drafts on workspace switch and hide sent section ( #1708 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-10 12:23:45 -04:00
Matt Toohey
5f0d8309d2
fix(desktop): make @mention clicks reliably open the profile panel ( #1705 )
...
Signed-off-by: Matt Toohey <contact@matttoohey.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-10 09:15:33 -07:00
Cameron Hotchkies
20c40d1769
test(desktop): stabilize custom emoji e2e ( #1685 )
...
Signed-off-by: npub1x4hk035p3p9q39a3fcrd2fe30lpkrhr5dwe0cqzzjphxyyh8m0gsq4vqap <356f67c681884a0897b14e06d527317fc361dc746bb2fc0042906e6212e7dbd1@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1x4hk035p3p9q39a3fcrd2fe30lpkrhr5dwe0cqzzjphxyyh8m0gsq4vqap <356f67c681884a0897b14e06d527317fc361dc746bb2fc0042906e6212e7dbd1@sprout-oss.stage.blox.sqprod.co >
2026-07-10 11:18:25 -04:00
Will Pfleger
95bc640a53
fix(observer): use lifecycle item title as verb instead of hardcoded "Status" ( #1709 )
2026-07-10 10:52:59 -04:00
Will Pfleger
e15f068571
fix(desktop): stop losing imported identity on every launch ( #1568 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-09 17:58:36 -04:00
Will Pfleger
e5d215e3c2
fix(desktop): isolate dev keyring from production and make BUZZ_SHARE_IDENTITY keyring-aware ( #1680 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-09 17:33:52 -04:00
Tyler
b41cf3ffc6
fix(desktop): paginate complete channel directory ( #1690 )
...
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
2026-07-09 17:07:17 -04:00
thomaspblock
58fe9388c8
feat(desktop): projects overview v2 — aggregate rail, PR review flow, commit detail, and straighter layout ( #1677 )
2026-07-09 18:24:19 +02:00
Wes
3a7e400278
B5: one create path — behavioral quad activation, backfill, menu collapse, legacy dialog deletion ( #1667 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-09 09:10:22 -07:00
Will Pfleger
fc8a17445a
fix(agents): harden structured error-code classification edge cases ( #1663 )
2026-07-08 18:18:44 -04:00
Noah
2b32469340
perf(desktop): cache parsed markdown across channel-switch remounts ( #1635 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-08 14:38:52 -07:00
Will Pfleger
9b244ff22b
fix(agents): surface provider errors structurally instead of raw dumps ( #1653 )
2026-07-08 17:32:48 -04:00