aeafb0b0b2
desktop: keep sidebar unread pill below top chrome strip ( #1136 )
...
Signed-off-by: Tyler Longwell <tlongwell@squareup.com >
Co-authored-by: npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co >
2026-06-19 10:12:42 -04:00
047db4214e
fix(desktop): single-owner anchored scroll for dynamic loading ( #1115 )
...
Signed-off-by: Tyler Longwell <tlongwell@squareup.com >
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: npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
2026-06-18 20:40:05 -04:00
cf122fcf14
fix(desktop): keep active-turn badges through transient relay drops ( #1120 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-18 17:17:23 -04:00
a4fbebb397
perf(desktop): virtualize unbounded lists and warm the emoji index ( #1089 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-17 19:01:09 +00:00
klopez4212 and GitHub
d4cd919b85
Polish sidebar update and relay cards ( #1009 )
2026-06-17 18:48:35 +01:00
ff824a365e
feat(desktop): add NIP-ER reminder UI — create, view, and manage encrypted reminders ( #963 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Signed-off-by: Will Pfleger <wpfleger@squareup.com >
Signed-off-by: Will Pfleger <wpfleger@block.xyz >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-17 11:03:45 -04:00
538f33341f
feat(desktop): adding ui state into the history stack ( #967 )
...
Signed-off-by: tho <80c5f18be5aafa62cf6198c6335963ba3306b595288117c8ea2f805fc9bdc94a@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: tho <80c5f18be5aafa62cf6198c6335963ba3306b595288117c8ea2f805fc9bdc94a@sprout-oss.stage.blox.sqprod.co >
2026-06-16 23:37:09 -07:00
ba776b9959
feat(desktop): add configurable transport reconnect hook ( #1059 )
...
Adds a build-time-configured transport reconnect hook so internal builds can recover the underlying transport (e.g. WARP VPN) before the relay reconnect, while OSS builds stay a pure no-op.
The generic "Reconnect to relay" button is transport-agnostic; internal users behind a VPN need the transport re-established first. A build-time env var `BUZZ_BUILD_RELAY_RECONNECT_CMD` (set only in `squareup/buzz-releases`) carries a JSON config validated into a typed Rust struct at compile time, so the OSS binary ships with zero VPN knowledge.
- New Tauri command `relay_reconnect_hook` runs structured fixed-argv steps plus a readiness probe, wrapped in `tokio::task::spawn_blocking`; non-fatal end-to-end so any failure falls through to `preconnect()`.
- `ReconnectHookConfig` lives in one dep-free source file `include!`'d by both `build.rs` and the runtime command, so the compile-time validation and runtime parse cannot drift.
- `useReconnectRelay.ts` invokes the hook before relay preconnect, guarded so a hook rejection cannot abort the reconnect.
- When `BUZZ_BUILD_RELAY_RECONNECT_CMD` is unset (OSS), the command compiles to an early-return no-op.
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-16 10:15:15 -04:00
klopez4212 and GitHub
f8715612af
Add composer spoiler formatting ( #1055 )
2026-06-16 08:01:57 +01:00
2a2c1c8001
feat(desktop): in-channel and in-thread unread indicators ( #1008 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-15 22:45:57 -04:00
klopez4212 and GitHub
116486592d
Add animated profile avatars ( #1031 )
2026-06-15 22:52:50 +01:00
a32681fd48
feat(profile): show active turn badges on agent profile panel and popover ( #1026 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-13 12:43:26 -04:00
Will Pfleger and GitHub
8c9211ffc6
Add relay disconnect UX: friendly errors, reconnect, cached identity ( #1004 )
2026-06-12 14:00:41 -04:00
7983bf6751
feat(agents): add active turn indicators to Agents Menu ( #1005 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Signed-off-by: Will Pfleger <wpfleger@squareup.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co >
2026-06-12 13:54:07 -04:00
05fc69b840
Video Player Improvements ( #993 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-11 22:21:54 +00:00
Will Pfleger and GitHub
ba2fdbf697
refactor(desktop): consolidate packs into teams ( #852 )
2026-06-09 23:22:34 -04: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
klopez4212 and GitHub
0a4783c6f8
Refine sidebar behavior and borders ( #869 )
2026-06-05 14:00:37 -07:00
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
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 and GitHub
1fe7bf2872
feat: channel muting for desktop and mobile ( #838 )
2026-06-04 15:53:53 -04:00
Will Pfleger and GitHub
3b78dc5690
feat(mobile+desktop): two-tier Slack-style app icon badge ( #802 )
2026-06-03 18:16:49 -07:00
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
tlongwell-block and GitHub
ede8ddb425
Sprout × mesh-llm: in-process mesh node (serve/consume) + relay admission ( #798 )
2026-06-02 10:28:20 -04:00
Will Pfleger and GitHub
6481428e2b
fix(desktop): resolve flaky integration tests via project-level assertion timeout ( #812 )
2026-06-01 18:48:37 -04:00
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
tlongwell-block and GitHub
59f51a8ac7
feat(desktop): hide archived identities from discovery surfaces (NIP-IA) ( #734 )
...
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com >
2026-05-23 13:58:01 -04:00
tlongwell-block and GitHub
79399d9b8e
feat: NIP-IA identity archival (relay backend + desktop) ( #733 )
...
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com >
2026-05-23 12:03:38 -04:00
4373a13fb3
fix(relay): avoid websocket writes in stall watchdog ( #697 )
...
Signed-off-by: Tyler Longwell <109685178+tlongwell-block@users.noreply.github.com >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Dawn (sprout agent) <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co >
2026-05-21 12:56:12 -04:00
tlongwell-block and GitHub
32347d117c
feat(desktop): per-persona and per-agent env var overrides ( #594 )
2026-05-15 10:43:00 -04:00
36c97a6e2e
feat(desktop): first-run onboarding flow + Lilac accent ( #386 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-22 14:06:35 -07:00
Wes and GitHub
4d44f4741f
Restore chooser-based persona catalog flow ( #275 )
2026-04-08 21:04:09 -07:00
5923a7ba1c
feat(desktop): workflow builder UI with form editor, CRUD, and channel picker ( #231 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 18:41:31 -07:00
039d4eb2e5
feat: @mentions, highlighting, and user profile popovers ( #45 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 16:41:20 -07:00
1feab79543
feat: add channel browser for discovering and joining channels ( #42 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 12:53:59 -07:00
Wes and GitHub
6c8ed78048
Add desktop API token management ( #39 )
2026-03-12 10:21:11 -07:00
Wes and GitHub
0320196990
Add desktop profile management UI ( #25 )
2026-03-10 17:56:17 -07:00
1fc9373a74
fix: resolve 10 E2E bugs + add desktop Playwright tests ( #21 )
...
Co-authored-by: Wes <wesb@block.xyz >
2026-03-10 14:44:39 -07:00
Wes and GitHub
6e51cc0b12
Add desktop Playwright e2e harness ( #11 )
2026-03-09 19:16:43 -07:00