npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 and Will Pfleger
3c6cd9c3f0
feat(desktop): add persona event kind with client publish/read/retain
...
Implements the foundation for personas-as-events architecture:
- Define KIND_PERSONA (30175) as NIP-33 parameterized replaceable,
keyed by (pubkey, kind, d_tag) where d_tag is the plaintext persona
slug. Relay allowlists the kind under UsersWrite scope and marks it
global-only (never channel-scoped).
- Client-side serialization: PersonaRecord ↔ kind:30175 event with
JSON content body. Publish and fetch functions via relay HTTP API.
- SQLite retention store: local durable storage for persona events
enabling offline boot. INSERT OR REPLACE on (kind, pubkey, d_tag)
for NIP-33 latest-wins semantics. Pending-sync queue for deferred
relay publish.
- Migration: on first launch after upgrade, non-builtin personas from
personas.json are serialized as events and written to the retention
store with pending_sync=1. Idempotent via sentinel file. Runs after
the packs→teams migration.
The existing load_personas path is unchanged — retention-based loading
is wired up as a helper for PR 2 (instantiation flow) to activate.
Co-authored-by: Will Pfleger <pfleger.will@gmail.com >
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
2026-06-10 00:17:51 -04:00
e08937cdde
Fix emoji message rendering ( #938 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-09 20:52:37 -07:00
Will Pfleger and GitHub
ba2fdbf697
refactor(desktop): consolidate packs into teams ( #852 )
2026-06-09 23:22:34 -04:00
tlongwell-block and GitHub
384a34ec31
Update README.md wording
2026-06-09 22:37:36 -04:00
fe14daa5d6
Fix post-compact handoff context for OpenAI providers ( #931 )
...
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
2026-06-09 21:56:54 -04:00
Wes and GitHub
98aa535935
chore(release): release version 0.3.15 ( #936 )
v0.3.15
2026-06-09 18:02:31 -07:00
877048d68f
fix: persona is source of truth at spawn + thread-depth conventions ( #930 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Signed-off-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-09 23:58:45 +00:00
73cd8d082d
fix: skip avatar reconciliation for legacy agent records ( #933 )
...
Signed-off-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co >
2026-06-09 19:52:11 -04:00
165b9f7a5f
feat(desktop): add nest commit identity guidance with human sign-off ( #929 )
...
Signed-off-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Will Pfleger <wpfleger@squareup.com >
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-09 18:46:55 -04:00
Will Pfleger and GitHub
9a98e60fc2
feat: provider/model selection for personas and runtime-aware env injection ( #794 )
2026-06-09 20:42:27 +00:00
762a45969a
fix: reconcile agent profile on startup when relay publish was missed ( #921 )
...
Signed-off-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-09 15:05:42 -04:00
klopez4212 and GitHub
5d927aba0c
Revamp first-run onboarding ( #924 )
2026-06-09 19:47:52 +01:00
klopez4212 and GitHub
f362650195
Update setup loading screen ( #926 )
2026-06-09 18:27:54 +01:00
c38301bca5
fix(dm): keep hidden DMs hidden across refetch via relay-signed visibility snapshot (NIP-DV) ( #857 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Signed-off-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
2026-06-09 10:23:57 -07:00
klopez4212 and GitHub
4dfae61f24
Maximize desktop window on launch ( #925 )
2026-06-09 18:08:37 +01:00
Taylor Ho and GitHub
ae430d4dd9
feat: preview features (experiments settings UI) ( #888 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Signed-off-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-06-09 09:53:09 -07:00
a357e220d8
fix(updater): send no-cache header on update check to avoid stale manifest ( #922 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-09 09:52:49 -07:00
56230c1442
fix(desktop): refresh channel state after unarchive ( #923 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-09 09:49:27 -07:00
7dd5b34536
Add channel visibility & ephemeral TTL controls to manage sidebar ( #911 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-09 09:01:10 -07:00
tlongwell-block and GitHub
4b78fe3bea
ci(release): add Intel macOS (x86_64) DMG as a release target ( #748 )
...
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com >
2026-06-09 11:52:41 -04:00
421593062f
mesh: Rust-owned coordinator — fix saved-agent reconnect flakiness + DRY the start path ( #879 )
...
Signed-off-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
2026-06-09 10:59:28 -04:00
Wes and GitHub
d099866ace
chore(release): release version 0.3.14 ( #916 )
v0.3.14
2026-06-09 07:43:02 -07:00
7b3012b777
docs: add NIP-ER event reminders ( #875 )
...
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
2026-06-09 10:02:54 -04:00
7b854971c6
feat(acp): pass slash commands through to ACP connectors ( #919 )
...
Signed-off-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
2026-06-09 10:02:21 -04:00
bfafdd46b2
fix(sdk): resolve multi-word display names and add NIP-27 nostr:npub mention extraction ( #905 )
...
Signed-off-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-08 19:05:37 -04:00
15f610dcd5
fix(desktop): re-enable mcp_command reconciliation and harden spawn site ( #909 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-08 13:54:42 -07:00
klopez4212 and GitHub
da80c7340f
Fix desktop DM and sidebar UI polish ( #908 )
2026-06-08 21:04:20 +01:00
klopez4212 and GitHub
dd08f988de
Animate reaction counts ( #904 )
2026-06-08 10:47:24 -07:00
10b6674bd7
Mobile custom emoji + settings redesign ( #906 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-08 10:28:32 -07:00
732e23dd5c
Renew TTL when unarchiving ephemeral channels ( #902 )
...
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
2026-06-08 12:43:39 -04:00
Wes and GitHub
d8278f7588
chore(release): release version 0.3.13 ( #903 )
v0.3.13
2026-06-08 09:36:16 -07:00
klopez4212 and GitHub
ecca5e77e4
Collapse channel header actions ( #901 )
2026-06-08 16:18:11 +00:00
4ec7f8125e
sprout-agent: make Databricks defaults env-only ( #868 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-08 09:17:30 -07:00
klopez4212 and GitHub
b384354e2b
Restyle settings sections ( #894 )
2026-06-08 14:59:26 +00:00
klopez4212 and GitHub
fdcbb696fe
Add emoji reaction particles ( #890 )
2026-06-08 07:37:47 -07:00
klopez4212 and GitHub
32039b9a25
Move settings into the app shell ( #893 )
2026-06-08 07:23:11 -07:00
klopez4212 and GitHub
45f3dfe5ba
Tune chat text sizing ( #891 )
2026-06-08 07:13:22 -07:00
klopez4212 and GitHub
29f6ccf9e9
Style channel header navigation ( #889 )
2026-06-08 07:03:06 -07:00
tlongwell-block and GitHub
2ebe551741
fix: rename missed known_acp_provider_exact → known_acp_runtime_exact ( #900 )
2026-06-08 09:29:12 -04:00
97bdb79ded
chore(deps): update radix-ui-primitives monorepo ( #898 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 22:32:11 -04:00
4a93100e19
chore(deps): update actions/checkout digest to df4cb1c ( #897 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 22:31:08 -04:00
Will Pfleger and GitHub
0a6067ca1b
refactor: rename ACP "provider" to "runtime" across the codebase ( #783 )
2026-06-07 14:40:59 -04:00
klopez4212 and GitHub
056b87d3da
Unify avatar radius ( #892 )
2026-06-07 09:41:15 -04:00
Wes and GitHub
9bbb85b439
chore(release): release version 0.3.12 ( #886 )
v0.3.12
2026-06-05 21:17:01 +00:00
1b7b6978fc
Show hover cards for inline message emoji ( #885 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-05 14:01:06 -07:00
5268fac2d8
Fix monotonic read-state merges ( #884 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-05 14:00:50 -07:00
klopez4212 and GitHub
0a4783c6f8
Refine sidebar behavior and borders ( #869 )
2026-06-05 14:00:37 -07:00
Will Pfleger and GitHub
5d7c748969
fix(presence): clear on disconnect, fix heartbeat/TTL, drop broken REST path ( #877 )
2026-06-05 13:28:00 -07:00
Will Pfleger and GitHub
ef98ae942a
fix(cli): publish ephemeral events over WebSocket via sprout-ws-client ( #876 )
2026-06-05 16:26:30 -04:00
Will Pfleger and GitHub
2f50011bdd
docs(sprout-acp): add communication discipline rules to base prompt + deprecate --mention flag ( #883 )
2026-06-05 15:52:05 -04:00