npub1cc3ha7z055mu0rwwu7806t2wt8mj3pvu0uv5mfp2c50dahaqhczshdalg6
ae8f130738
fix(desktop): compensate realization jitter on upscroll (T2 writer)
...
Scrolling UP a fully-loaded channel was subtly jumpy while scrolling down
was smooth. Root cause (Eva's H1): rows above the opening viewport have
never painted, so they sit at their `contain-intrinsic-size` reserve under
`content-visibility: auto`. Scrolling up, each row realizes at its true
height the instant it enters the realization band; the delta (true -
reserve) shifts content above the reading row. On shipped WKWebView there
is no `overflow-anchor` to correct it, so every realization lands raw on
the reading position — one lurch per row.
The fix makes the conversation scroller own its reading position through a
single same-frame compensation writer:
- Snapshot the reading anchor (first fully-visible row + its top offset) on
every scroll event, before the ResizeObserver fires. The RO runs after
layout and before paint, so the "before" position can only come from the
last scroll event — never from inside the RO callback.
- Observe each `.timeline-row-cv` row (CV realization is a resize of the
row's own box and does not surface as an ancestor resize in Blink), seeded
at observe time with the browser's current layout height read from
`contain-intrinsic-block-size` — the reserve for an unpainted row. Seeding
from the reserve is what turns the first realization into a measurable
`realized - reserve` delta instead of an unmeasurable first sighting.
- On a real height change, re-pin the reading anchor to its saved offset
with a same-frame `scrollBy(drift)`. A single measured correction: the
layout engine already summed the above-anchor deltas into the row's top,
and rows resizing below the anchor don't move it, so they're excluded for
free. Re-baseline after the correction.
- Force `overflow-anchor: none` on the scroller so the writer is the single
scroll authority on every engine — Chromium's native anchoring can't
double-correct behind the writer's back, and WKWebView has none anyway.
This also aligns CI (Chromium) with macOS (WKWebView), which ran different
scroll contracts — how the jitter shipped unseen.
Verified against the committed T1.1 gate (upscroll-jitter.perf.ts) on
jitter-corpus cold-load, sync fixed-step actuation, overflow-anchor forced
off: RED without this writer (peak-dev 46 / rms 23), GREEN with it (peak-dev
0.00 / rms 0.00, reproducible), and the non-gating wheel felt-mode pass also
0.00/0.00. The non-gating estimate-error R diagnostic stays at 75 (T3's lane;
this writer compensates motion, it does not shrink the reserve error).
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
2026-07-08 15:01:05 -04:00
klopez4212
c145037aad
feat(desktop): flapping bee on the setup loading screen ( #1631 )
...
Signed-off-by: Fizz <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: klopez4212 <klopez4212@gmail.com >
Co-authored-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-08 10:25:03 -07:00
klopez4212
fa816d5bfa
fix(desktop): clamp HDR avatar images to SDR range ( #1642 )
...
Signed-off-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
2026-07-08 09:54:06 -07:00
klopez4212
2f1cd67714
fix(desktop): paint Buzz gradient on the workspace rail ( #1636 )
...
Signed-off-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
2026-07-08 16:31:21 +01:00
klopez4212
290be2a039
feat(desktop): add Buzz light + dark themes with branded sidebar gradient ( #1630 )
...
Signed-off-by: Fizz <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub13fn4ahfnvaa2qwylvegdgeajqs0mph6v4qsw4jcqnw4mjh3hzh2quuucm5 <8a675edd33677aa0389f6650d467b2041fb0df4ca820eacb009babb95e3715d4@sprout-oss.stage.blox.sqprod.co >
2026-07-08 07:22:50 -07:00
Taylor Ho
10444d248e
fix(desktop): render black static boot screen ( #1570 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-07-07 08:38:00 -07:00
thomaspblock
5d4edf1535
fix(desktop): lock horizontal webview pan (Magic Mouse side-scroll) ( #1480 )
...
Signed-off-by: Thomas Petersen <thomasp@squareup.com >
2026-07-02 22:31:40 -04:00
klopez4212
3e4e9dda94
Fade sidebar pinned chrome edges ( #1423 )
2026-07-01 07:51:05 -07:00
Wes
c27b4251a9
refactor(desktop): split global styles and markdown renderers ( #1361 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-29 12:49:36 -07:00
Wes
7adbd05b45
fix(desktop): un-clip hover action bar's upward bleed under content-visibility ( #1354 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-29 09:17:08 -07:00
Wes
4d6196934e
Rework desktop message-timeline scrolling: de-virtualize + native overflow-anchor ( #1338 )
...
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-29 07:56:48 -07:00
klopez4212
e3fc0e0278
Polish profile hover cards ( #1346 )
2026-06-29 13:45:48 +00:00
klopez4212
bc925780ee
Add rich link previews ( #1334 )
2026-06-29 06:36:21 -07:00
klopez4212
7d3ee68336
Image attachment gallery lightbox ( #1345 )
2026-06-29 06:30:15 -07:00
klopez4212
aca40b6289
Polish thread reply hover states ( #1329 )
2026-06-27 06:27:51 -07:00
klopez4212
34b2d3e8b4
Polish side panel motion and composer alignment ( #1294 )
...
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-25 18:16:56 -07:00
klopez4212
b264a32cfb
Polish thread and media layout ( #1239 )
2026-06-24 12:55:25 -07:00
klopez4212
5130a6a0b6
Improve global search ( #1195 )
2026-06-23 14:31:06 -07:00
klopez4212
de3f21abcd
Improve inbox thread updates ( #1114 )
...
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
2026-06-22 11:48:32 -07:00
thomaspblock
7072281f63
Polish desktop sidebar navigation ( #1107 )
2026-06-18 16:26:22 -04:00
klopez4212
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
Will Pfleger
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
bb9b6674e3
Improve image lightbox controls ( #1084 )
2026-06-17 19:54:20 +01:00
klopez4212
7b0500c93e
Use Inter for app typography ( #899 )
2026-06-17 18:56:57 +01:00
klopez4212
d4cd919b85
Polish sidebar update and relay cards ( #1009 )
2026-06-17 18:48:35 +01:00
Taylor Ho
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
Taylor Ho
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
klopez4212
9f99e62d40
Polish desktop visual details ( #1067 )
2026-06-16 17:06:12 +01:00
klopez4212
f8715612af
Add composer spoiler formatting ( #1055 )
2026-06-16 08:01:57 +01:00
klopez4212
116486592d
Add animated profile avatars ( #1031 )
2026-06-15 22:52:50 +01:00
klopez4212
89ae31d203
Polish direct message and members modals ( #1054 )
2026-06-15 22:24:07 +01:00
klopez4212
5234fc8167
Polish huddles UI ( #1041 )
2026-06-15 21:58:12 +01:00
klopez4212
7a2e35521c
Add shared skeleton loader primitives ( #998 )
2026-06-15 20:43:36 +01:00
klopez4212
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
klopez4212
d9ce0943ed
Improve first-run welcome setup ( #970 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-11 21:56:13 +00:00
Wes
8f580f308c
Rename desktop app to Buzz ( #960 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-11 15:06:24 +00:00
klopez4212
e9cd1c3926
Improve mentions for agents + people ( #942 )
2026-06-10 17:40:53 +01:00
klopez4212
5d927aba0c
Revamp first-run onboarding ( #924 )
2026-06-09 19:47:52 +01:00
klopez4212
f362650195
Update setup loading screen ( #926 )
2026-06-09 18:27:54 +01:00
klopez4212
dd08f988de
Animate reaction counts ( #904 )
2026-06-08 10:47:24 -07:00
klopez4212
b384354e2b
Restyle settings sections ( #894 )
2026-06-08 14:59:26 +00:00
klopez4212
45f3dfe5ba
Tune chat text sizing ( #891 )
2026-06-08 07:13:22 -07:00
klopez4212
0a4783c6f8
Refine sidebar behavior and borders ( #869 )
2026-06-05 14:00:37 -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
Will Pfleger
56c504a4c7
feat: code block rendering, syntax highlighting, and compose fixes ( #803 )
2026-06-02 14:43:08 -07:00
Will Pfleger
839097112c
fix(deps): migrate Tailwind CSS from v3 to v4 ( #711 )
2026-05-22 20:45:47 -04:00
thomaspblock
441b6c4b1a
Fix inbox thread navigation highlights ( #720 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-21 22:17:52 -04:00
thomaspblock
b5e5a39bf0
Refine Pulse composer and post actions ( #629 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-20 13:04:47 -04:00
thomaspblock
aad564b130
Move agent activity below composer ( #579 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Wes <wesb@block.xyz >
2026-05-14 09:46:52 -07:00
thomaspblock
f309446f22
Polish reply timeline interactions ( #477 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-07 09:43:47 -07:00