Tyler
2981f4ccf6
Fix edit-to-add-mention not notifying newly-mentioned party (8ace8eed)
...
Editing a message to add an @mention never notified the newly-mentioned
party. build_message_edit (kind 40003) emitted h/e/imeta/emoji tags but
no `p` tags at all — the send path's mention_tags(mentions) was simply
omitted from the edit path, so no mention-filtered subscription (e.g. the
ACP agent harness) ever saw the added mention.
Emit `p` tags for newly-added mentions ONLY. The composer diffs the
edited body's resolved mentions against the original body's (both via the
same channel-roster resolver the send path uses) and passes just the
added set down through the edit command into build_message_edit. A
typo-fix edit that leaves the mention set unchanged emits zero `p` tags
and re-wakes nobody.
Plumbing threads one new arg per layer: build_message_edit(mentions),
edit_message(mention_pubkeys), editMessage/useEditMessageMutation
(mentionPubkeys), handleEditSave + the onEditSave signature. The diff
lives in a pure threading.ts helper (diffAddedMentionPubkeys) next to
normalizeMentionPubkeys — lowercase/dedup/self-scrub, case-insensitive
comparison so a case-only difference is never treated as newly added.
Tests: events.rs pins the builder contract (added -> `p` tag,
unchanged -> none, dedup+lowercase); diffAddedMentionPubkeys.test.mjs
covers the diff both ways plus self-scrub, case-only no-op, remove/re-add.
check-file-sizes.mjs: MessageComposer.tsx limit ratcheted 1091 -> 1114
(+23, load-bearing composer-side wiring; diff logic lives in threading.ts),
matching the file's existing per-lane ratchet convention.
Co-authored-by: Tyler <109685178+tlongwell-block@users.noreply.github.com >
Signed-off-by: Tyler <109685178+tlongwell-block@users.noreply.github.com >
2026-07-16 20:32:22 -04:00
Will Pfleger and GitHub
db57bc8a2c
chore(desktop): add AppShell.tsx file-size override to unblock main CI ( #1992 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
2026-07-16 17:12:06 -04:00
19dc33bda6
Persist agent audiences with native inline mentions ( #1949 )
...
Signed-off-by: npub1n4y9luxx9y27pz5qz93vr9w8auyk7mmpgwf9gpe9tn4zv4kyhzjqtcntu7 <9d485ff0c62915e08a801162c195c7ef096f6f6143925407255cea2656c4b8a4@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: npub1d6t84ajeg9skp2609l2k6axgcme8x7g7u7luj352r03hcwreg7lqnxcsex <6e967af659416160ab4f2fd56d74c8c6f273791ee7bfc9468a1be37c387947be@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1n4y9luxx9y27pz5qz93vr9w8auyk7mmpgwf9gpe9tn4zv4kyhzjqtcntu7 <9d485ff0c62915e08a801162c195c7ef096f6f6143925407255cea2656c4b8a4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1d6t84ajeg9skp2609l2k6axgcme8x7g7u7luj352r03hcwreg7lqnxcsex <6e967af659416160ab4f2fd56d74c8c6f273791ee7bfc9468a1be37c387947be@sprout-oss.stage.blox.sqprod.co >
2026-07-16 10:25:44 -07:00
0722346b1f
Add Buzz-managed Node runtime for agent installs ( #1930 )
...
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
2026-07-15 23:11:44 -04:00
Michael Neale and GitHub
32957692eb
fix(desktop): load downloaded mesh runtime on signed macOS builds ( #1932 )
2026-07-15 21:28:17 -04:00
3e8dae7ff3
fix(desktop): simplify sign out settings row ( #1903 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-15 15:26:01 +00:00
Will Pfleger and GitHub
1742dce7b2
feat(desktop): add API key field, global default indicators, and collapsed advanced ( #1875 )
2026-07-14 20:10:39 -04:00
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
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
Will Pfleger and GitHub
1aec7ea7a7
fix(desktop): resolve Doctor install shell and command detection on Windows ( #1854 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
2026-07-14 13:05:25 -04:00
a653406309
ci(desktop): surface flaky E2E tests instead of retry-masking them ( #1838 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-13 22:14:40 -04:00
020ac7f405
fix(desktop): resolve Git Bash for Windows shell tool via PATH/git/registry fallback ( #1821 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-13 16:53:02 -04:00
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
095f3c7280
fix(desktop): centralize known-agent trust set in useKnownAgentPubkeys ( #1703 )
...
Signed-off-by: Matt Toohey <contact@matttoohey.com >
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co >
2026-07-13 11:01:46 -04:00
11a286b9a4
feat(desktop): auto-restart setup-mode agents after adapter install, badge drift fallback ( #1786 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-12 22:27:51 -04:00
1fa91f5691
refactor(desktop): remove legacy persona-card flows ( #1781 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-12 21:05:03 -04:00
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 and GitHub
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 and GitHub
f3319dd111
fix(desktop): correct provider and model handling in agent config dialogs ( #1764 )
2026-07-12 18:23:27 -04:00
Will Pfleger and GitHub
7c346d7f85
fix(desktop): cascade persona deletes and restart agents on global config save ( #1766 )
2026-07-12 18:03:36 -04:00
Will Pfleger and GitHub
25bb714752
fix(desktop): make doctor installs retryable with per-runtime progress and auth status ( #1765 )
2026-07-12 17:42:35 -04:00
6d1a77e492
fix(codex): swap to @agentclientprotocol/codex-acp 1.x + detect outdated adapter ( #1750 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-12 16:52:04 -04:00
ec37625522
fix(desktop): surface codex config-parse failures and -32603 internal errors clearly ( #1745 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-10 21:25:52 -04:00
e8df6ba694
fix(desktop): fix workspace rail badge disappearance and persist mark-as-unread ( #1747 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-10 21:15:53 -04:00
58aee8f913
fix(desktop): preflight npm prefix writability in doctor installs ( #1732 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-10 19:25:58 -04:00
26966aacec
feat(desktop): add explicit Edit avatar CTA in agent instance edit dialog ( #1736 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-10 17:58:26 -04:00
67a2d047eb
fix(observer): order system prompt below current-session divider on restart ( #1734 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-10 17:44:12 -04:00
d9e4edbbf5
feat(desktop): default observer archive on for dev-nest builds ( #1726 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-10 16:06:25 -04:00
2f2ad409a7
feat(desktop): thread baked build env into global agent config UI ( #1722 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-10 15:45:42 -04:00
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
Will Pfleger and GitHub
1f48860b7b
fix(desktop): propagate agent definition edits to instances and remove dead config knobs ( #1715 )
2026-07-10 13:21:48 -04:00
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
Will Pfleger and GitHub
389a956e02
chore(desktop): remove dead archive-migration and keyring load_readonly helpers ( #1701 )
2026-07-10 00:08:28 -04:00
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
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
1f2afce29d
fix(desktop): migrate Databricks V1→V2 records at boot and fix readiness gate ( #1686 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-09 17:29:03 -04:00
4f1a487ab4
feat(config-nudge): distinguish install/auth state in cli_login nudge cards ( #1633 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-08 16:00:03 -04:00
Aaron Goldsmith and GitHub
3e982fd371
fix(desktop): make ⌘K open the composer link editor for selections ( #1644 )
...
Signed-off-by: Aaron Goldsmith <aarong@squareup.com >
2026-07-08 10:24:17 -07:00
Will Pfleger and GitHub
563dab92e4
fix(linux): make AppImage work on Mesa 25+ / GLib 2.88 distros ( #1567 )
2026-07-08 13:18:48 -04:00
klopez4212 and GitHub
5b1a53ceba
Update DMG background and label size ( #1629 )
2026-07-08 15:28:32 +01:00
5dce80aff5
feat(desktop): unified AgentRecord groundwork — record-first resolution + runtime materialization (Phase 1A.1) ( #1618 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-07-07 20:24:35 -07:00
Will Pfleger and GitHub
e5f831d2c2
fix(desktop): restrict shared-agent sync to dev data dirs ( #1597 )
2026-07-07 17:35:15 -04:00
cc42a49799
feat(desktop): restart-required badge from spawn-time config hash ( #1602 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-07 13:53:58 -07:00
c5a541ee2d
feat(desktop): boot-time reconcile of managed agents to relay events ( #1601 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-07 13:53:41 -07:00
777babf393
feat(desktop): canonical <PubKey> component — hover to view/copy full keys, owner "you" labels ( #1589 )
...
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-07-07 13:35:15 -07:00
Will Pfleger and GitHub
a3ee2c5693
fix(desktop): preserve agent model/provider when persona snapshot fields are blank ( #1583 )
2026-07-07 12:49:31 -04:00
b394e95ef0
feat(desktop): active-draft badge, send-from-drafts confirm dialog, thread-deleted state ( #1581 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-07 12:48:57 -04:00
Will Pfleger and GitHub
b90e80443e
fix(desktop): treat baked build env vars as satisfying required agent config ( #1580 )
2026-07-07 12:30:31 -04:00
dcbb3ff789
fix(nest): use buzz-dev symlink name for dev builds ( #1587 )
...
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-07 12:17:53 -04:00
c258ffc4a8
refactor(desktop): unify EditAgentDialog styling with PersonaDialog ( #1540 )
...
Signed-off-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
2026-07-07 16:03:39 +01:00