Wes and Pinky
e668f3d899
Smooth deferred channel loading
...
Keep timeline intro and empty affordances hidden while live messages are waiting
for the deferred list commit, so channel entry shows the message skeleton until
rows are ready instead of briefly flashing the channel intro.
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
2026-06-17 13:52:09 -07:00
Wes and Pinky
e4d8ab270e
Remove deferred render opacity pulse
...
Drop the pending-render opacity transition from the main timeline and thread
reply list while keeping the deferred render state marker for e2e synchronization.
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
2026-06-17 13:14:19 -07:00
4f93d52e15
Fix mention chip alignment ( #1094 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-17 19:38:13 +00: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
3bf2ac0047
Adjust unread pill spacing ( #1091 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-17 11:56:45 -07:00
klopez4212 and GitHub
bb9b6674e3
Improve image lightbox controls ( #1084 )
2026-06-17 19:54:20 +01:00
klopez4212 and GitHub
7b0500c93e
Use Inter for app typography ( #899 )
2026-06-17 18:56:57 +01:00
422a90f5e1
fix(desktop): paint thread replies on open without scroll nudge ( #1090 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-17 10:50:06 -07:00
klopez4212 and GitHub
d4cd919b85
Polish sidebar update and relay cards ( #1009 )
2026-06-17 18:48:35 +01:00
klopez4212 and GitHub
1a37ee3951
Normalize desktop icon sizing ( #1088 )
2026-06-17 18:08:53 +01:00
771086fd69
fix(desktop): normalize loopback host for HTTP writes and stop Reminders nav flicker ( #1086 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-17 12:19:14 -04:00
770266d2a9
feat(composer): link editing — inline popover, modal picker, buzz:// in-app nav ( #1045 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub14vtk7pvazqrq9639qu7e560wnqtl0d53ca4gjuvq6jzf3k2el23qqlwa7f <ab176f059d100602ea25073d9a69ee9817f7b691c76a897180d48498d959faa2@sprout-oss.stage.blox.sqprod.co >
2026-06-17 08:39:27 -07:00
48994e01bc
chore(Pulse): gate Follow button behind Pulse feature flag ( #1019 )
...
Signed-off-by: tho <80c5f18be5aafa62cf6198c6335963ba3306b595288117c8ea2f805fc9bdc94a@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub14vtk7pvazqrq9639qu7e560wnqtl0d53ca4gjuvq6jzf3k2el23qqlwa7f <ab176f059d100602ea25073d9a69ee9817f7b691c76a897180d48498d959faa2@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: tho <80c5f18be5aafa62cf6198c6335963ba3306b595288117c8ea2f805fc9bdc94a@sprout-oss.stage.blox.sqprod.co >
2026-06-17 08:18:34 -07:00
b7e22f4b5c
fix(desktop): wrap long markdown autolinks ( #1081 )
...
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
2026-06-17 11:03:58 -04: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
26563968cb
feat(relay): add NIP-ER push scheduler with cross-pod delivery ( #957 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-17 10:43:22 -04:00
79fcfd82bc
feat(relay): implement NIP-ER event reminder support (kind:30300) ( #934 )
...
Signed-off-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@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: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-17 10:24:02 -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
c22c54e7ae
fix(desktop): restore timeline zoom via rem tokens + chat-as-base type scale ( #1052 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub14vtk7pvazqrq9639qu7e560wnqtl0d53ca4gjuvq6jzf3k2el23qqlwa7f <ab176f059d100602ea25073d9a69ee9817f7b691c76a897180d48498d959faa2@sprout-oss.stage.blox.sqprod.co >
2026-06-16 22:28:24 -07:00
Will Pfleger and GitHub
d879fac4c4
fix(release): format changelog as linked markdown bullets ( #1075 )
2026-06-16 18:44:12 -04:00
Will Pfleger and GitHub
02dde44aa1
chore(release): release version 0.3.24 ( #1074 )
v0.3.24
2026-06-16 14:02:04 -04:00
de24b90aa1
feat(desktop): refine thread-unread badge to two-token form ( #1069 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-16 17:21:51 +00:00
fd2553726c
fix(buzz): prevent reconnect storms from reaped ephemeral channels ( #1071 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-16 13:13:23 -04:00
5a651632d8
fix(buzz-acp): trim oversized observer frames to fit instead of dropping ( #1072 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-16 12:44:26 -04:00
Will Pfleger and GitHub
07efae7b5b
perf(ci): speed up PR CI wall clock and local dev builds ( #1028 )
2026-06-16 12:44:13 -04:00
56a5ac2790
chore(deps): update react monorepo ( #1048 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-16 16:25:10 +00:00
klopez4212 and GitHub
9f99e62d40
Polish desktop visual details ( #1067 )
2026-06-16 17:06:12 +01:00
e3736f08b7
ci: use running postgres for pgschema desired-state planning ( #1070 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-16 11:52:19 -04:00
2d26db6d8a
fix(desktop): anchor active-turn badge to skew-corrected agent start ( #1068 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-16 11:18:37 -04: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
2300248d3b
Add automatic database migrations ( #988 )
...
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
2026-06-16 08:39:19 -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
cbc754cffb
perf(timeline): gate heavy message render behind useDeferredValue ( #1022 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub14vtk7pvazqrq9639qu7e560wnqtl0d53ca4gjuvq6jzf3k2el23qqlwa7f <ab176f059d100602ea25073d9a69ee9817f7b691c76a897180d48498d959faa2@sprout-oss.stage.blox.sqprod.co >
2026-06-15 15:23:33 -07:00
klopez4212 and GitHub
116486592d
Add animated profile avatars ( #1031 )
2026-06-15 22:52:50 +01:00
klopez4212 and GitHub
89ae31d203
Polish direct message and members modals ( #1054 )
2026-06-15 22:24:07 +01:00
klopez4212 and GitHub
5234fc8167
Polish huddles UI ( #1041 )
2026-06-15 21:58:12 +01:00
klopez4212 and GitHub
424ea70254
Fix video review comments in threads ( #1056 )
2026-06-15 21:55:36 +01:00
klopez4212 and GitHub
81296d9766
Polish message reaction tray ( #1002 )
2026-06-15 21:27:10 +01:00
klopez4212 and GitHub
c30d7274c2
Refine app loading skeletons ( #1001 )
2026-06-15 20:44:40 +01:00
klopez4212 and GitHub
ee34ca818b
Polish channel modal forms ( #1000 )
2026-06-15 20:43:59 +01:00
klopez4212 and GitHub
19656fff46
Normalize desktop icon sizing ( #999 )
2026-06-15 20:43:49 +01:00
klopez4212 and GitHub
7a2e35521c
Add shared skeleton loader primitives ( #998 )
2026-06-15 20:43:36 +01:00
Will Pfleger and GitHub
9ee5aeebd9
chore(scripts): update post-screenshots repo name to block/buzz ( #1042 )
2026-06-14 19:40:09 -04:00
b2ad3074ba
docs: fix stale sprout repo references in RELEASING.md ( #1043 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub16v54tttfqacx9ycvc3k0ut0npj564ahcuajzy6qjvh57ntmsf4uq4806j2 <d32955ad69077062930cc46cfe2df30ca9aaf6f8e76422681265e9e9af704d78@sprout-oss.stage.blox.sqprod.co >
2026-06-14 12:23:53 -04:00
Wes and GitHub
d02aee2021
chore(release): release version 0.3.23 ( #1040 )
v0.3.23
2026-06-13 22:30:13 -07:00
9b410325a7
fix(release): publish manifest from successful platforms ( #1039 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-13 22:11:41 -07:00
5d995d928b
chore(release): release version 0.3.22 ( #1038 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
v0.3.22
2026-06-13 21:01:25 -07:00
Wes and GitHub
455d184c7a
chore(release): release version 0.3.21 ( #1037 )
v0.3.21
2026-06-13 20:24:50 -07:00
4d19a5901d
fix(release): use signed NSIS installer for updates ( #1036 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-13 20:09:54 -07:00