Will Pfleger
05a9dc9110
fix: address code review findings from provider→runtime rename
...
localStorage key migration: useLastRuntime now reads the legacy
"sprout:last-runtime-provider" key as a fallback and clears it on
first write, preventing silent loss of saved runtime preference on
upgrade. Remaining stale local variable names (selectedProviderId,
acpProvidersQuery, etc.) renamed for consistency across 12 TS files.
Migration and template serde alias backward-compat tests added.
2026-06-08 11:31:50 -04:00
klopez4212
b384354e2b
Restyle settings sections ( #894 )
2026-06-08 14:59:26 +00:00
klopez4212
fdcbb696fe
Add emoji reaction particles ( #890 )
2026-06-08 07:37:47 -07:00
klopez4212
32039b9a25
Move settings into the app shell ( #893 )
2026-06-08 07:23:11 -07:00
klopez4212
45f3dfe5ba
Tune chat text sizing ( #891 )
2026-06-08 07:13:22 -07:00
klopez4212
29f6ccf9e9
Style channel header navigation ( #889 )
2026-06-08 07:03:06 -07:00
Will Pfleger
0a6067ca1b
refactor: rename ACP "provider" to "runtime" across the codebase ( #783 )
2026-06-07 14:40:59 -04:00
klopez4212
056b87d3da
Unify avatar radius ( #892 )
2026-06-07 09:41:15 -04:00
Wes
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
Wes
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
0a4783c6f8
Refine sidebar behavior and borders ( #869 )
2026-06-05 14:00:37 -07:00
Will Pfleger
5d7c748969
fix(presence): clear on disconnect, fix heartbeat/TTL, drop broken REST path ( #877 )
2026-06-05 13:28:00 -07:00
klopez4212
5c2476a71e
Polish thread summaries and reactions ( #881 )
2026-06-05 20:50:19 +01:00
klopez4212
b84f8e6a01
Polish message row hover states ( #880 )
2026-06-05 20:32:35 +01:00
Wes
bc53008676
Improve emoji naming and custom emoji UX ( #878 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-05 18:51:46 +00:00
Will Pfleger
f1c672fea5
chore: deprecate sprout-mcp — fill CLI gaps, remove crate and all references ( #850 )
2026-06-05 12:31:52 -04:00
Wes
5bdac0566f
Fix custom emoji status in profile popover ( #874 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-05 09:26:13 -07:00
thomaspblock
d4bb7f66e0
fix(desktop): simplify profile popover header ( #853 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 07:07:12 -07:00
thomaspblock
ccff5464a4
fix(desktop): remove thread comment hover outline ( #861 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 07:04:59 -07:00
tlongwell-block
ad7ab482eb
feat(desktop): always show channel section search/add buttons ( #856 )
...
Signed-off-by: Tyler Longwell <tlongwell@squareup.com >
2026-06-05 09:32:49 -04:00
Will Pfleger
269b35e8de
fix(mobile+desktop): cross-device read state sync + diagnostic logging ( #843 )
2026-06-04 18:55:40 -04:00
Wes
c10b4f8f5c
feat(desktop): star channels (Slack-style favorites) ( #860 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-04 15:32:28 -07:00
Will Pfleger
1fe7bf2872
feat: channel muting for desktop and mobile ( #838 )
2026-06-04 15:53:53 -04:00
thomaspblock
759e5cd923
fix(desktop): eliminate image-hover layout jump in messages ( #813 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 09:55:02 -07:00
tlongwell-block
34ac3ba1d1
fix(desktop): harden relay mesh connect p-tag ( #834 )
2026-06-04 11:50:49 -04:00
Wes
b3aefae152
fix(desktop): scroll activity panel to bottom on open ( #848 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-04 08:49:15 -07:00
thomaspblock
a13691b620
Polish desktop profile menu interactions ( #836 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-04 08:48:57 -07:00
thomaspblock
0d9b8148f8
fix(desktop): outline thread hover targets ( #845 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 08:39:56 -07:00
thomaspblock
b3be9ecba7
fix(desktop): keep message actions hover-only ( #844 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 08:07:36 -07:00
thomaspblock
db46c42546
fix(desktop): let inbox composer fill available width ( #841 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 08:00:03 -07:00
Will Pfleger
3b78dc5690
feat(mobile+desktop): two-tier Slack-style app icon badge ( #802 )
2026-06-03 18:16:49 -07:00
Wes
d8b602a359
fix(desktop): robust emoji picker — unify picker + fix custom emoji in editing, status, reactions ( #837 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-03 15:13:25 -07:00
tlongwell-block
9f0c22a43a
desktop(mesh-llm): let a serving node route a different model ( #833 )
...
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-03 14:30:46 -04:00
Wes
82ae85f79a
fix: native arbitrary-file download + image context-menu flash ( #830 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-03 09:59:57 -07:00
Wes
7797ae77f6
fix(desktop): custom emoji reaction rendering + picker autofocus ( #831 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-03 08:53:43 -07:00
tlongwell-block
33cfc85293
Mesh-LLM v1: relay-gated direct-iroh inference between users (WAN) ( #822 )
...
Signed-off-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Max <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
2026-06-03 10:49:09 -04:00
Will Pfleger
56c504a4c7
feat: code block rendering, syntax highlighting, and compose fixes ( #803 )
2026-06-02 14:43:08 -07:00
Wes
2349421304
feat: custom emoji — user-owned NIP-30 sets with a client-side union ( #816 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Signed-off-by: tlongwell-block <109685178+tlongwell-block@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 >
Co-authored-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com >
2026-06-02 14:19:07 -07:00
Wes
41a3fc1589
fix(desktop): let channel members add members and bots without admin ( #815 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-02 09:55:09 -07:00
Wes
a25ca5d1bf
Desktop #806 follow-ups: panel/inbox fixes + top-bar backdrop ( #814 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-02 08:45:04 -07:00
thomaspblock
5bed17a117
Fix desktop right-side panel chrome overlap ( #806 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-02 07:37:36 -07:00
tlongwell-block
ede8ddb425
Sprout × mesh-llm: in-process mesh node (serve/consume) + relay admission ( #798 )
2026-06-02 10:28:20 -04:00
Will Pfleger
6481428e2b
fix(desktop): resolve flaky integration tests via project-level assertion timeout ( #812 )
2026-06-01 18:48:37 -04:00
Will Pfleger
753d0fe264
feat(desktop): sync channel sections across devices via Nostr ( #792 )
2026-06-01 16:02:14 -04:00
Wes
2b052eb465
feat(media): support arbitrary file types with download cards ( #810 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-01 12:57:04 -07:00
Will Pfleger
247ac52391
feat(desktop): add user-defined channel sections to sidebar ( #789 )
2026-06-01 12:42:19 -07:00
Wes
d810608d85
feat(desktop): keyboard shortcuts — ⌘⇧N new channel + ↑-to-edit last message ( #809 )
...
Signed-off-by: npub1yxv5wk0u0fh6dwt925wntn7h397jvteyj4r87ttcd9xae7n2t3lqqj9jmm <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1yxv5wk0u0fh6dwt925wntn7h397jvteyj4r87ttcd9xae7n2t3lqqj9jmm <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-01 09:12:45 -07:00
tlongwell-block
f2c266bac2
fix(desktop): route notification clicks to thread context ( #790 )
...
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com >
2026-06-01 11:31:30 -04:00
thomaspblock
bc23620fcf
Fix desktop glass chrome and inbox previews ( #793 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-30 20:27:16 -07:00
Will Pfleger
85861f33fe
feat: add code block support to message composer ( #788 )
2026-05-29 11:38:10 -07:00