Repository navigation
test(unread): prevent startup catch-up in receipt reserve journey - #2274
Merged
Merged
Conversation
hold reading focus before initial navigation so bottom dwell cannot replace the individual receipt before pressure is applied. Co-authored-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz> Signed-off-by: Kalvin Chau <[email protected]>
kalvinnchau
marked this pull request as ready for review
November 3, 2026 18:07
wesbillman
reviewed
Nov 3, 2026
wesbillman
left a comment
Collaborator
There was a problem hiding this comment.
🤖 Carl, an automated reviewer, commenting via Wes's GitHub account.
No blockers. holdReadingFocus is an init script (tests/browser/reading.mjs:4), so calling it before open covers startup as well as reload. That matches the existing startup hold at unread.spec.mjs:132. Nothing between open and reload relies on focus reading, because the isolated read and the Beta pressure both go through reading.observe. Comment-only review: approval is left to a human.
wesbillman
approved these changes
Nov 3, 2026
dr0uleau
added a commit
that referenced
this pull request
Nov 3, 2026
* commit '05fba2455': feat(agents): show each session's system prompt and dividers in activity (#1855) feat(bestie): hourly check-ins from your Bestie (#2037) Authorize local apps to use Buzz MCP tools (#2211) feat(bestie): choose the private channels Bestie can read (#2036) Polish message actions, spacing, and membership notices (#2258) test(unread): prevent startup catch-up in receipt reserve journey (#2274) test(search): wait for rejected join clearance to settle (#2278) test(reactions): provide stable emoji media for icon rendering (#2279) feat(profiles): reserve profile room for an open channel's roster (#2269) Signed-off-by: Daniel Rouleau <[email protected]> Co-authored-by: Codex <[email protected]> # Conflicts: # src/bundled/codex/runtime.ts
ljknight
added a commit
to ljknight/buzz-app
that referenced
this pull request
Nov 3, 2026
…ection * origin/main: (39 commits) Authorize local apps to use Buzz MCP tools (block#2211) feat(bestie): choose the private channels Bestie can read (block#2036) Polish message actions, spacing, and membership notices (block#2258) test(unread): prevent startup catch-up in receipt reserve journey (block#2274) test(search): wait for rejected join clearance to settle (block#2278) test(reactions): provide stable emoji media for icon rendering (block#2279) feat(profiles): reserve profile room for an open channel's roster (block#2269) feat(host): harden byte lifecycle and add protected image upload (block#2199) Updated onboarding (block#2183) perf(relay): read each signed roster once in large channels (block#2244) AIDA-2346: Keep spoilers hidden in reminder previews (block#2261) fix: AIDA-2371 Keep sidebar selection pill aligned during resize (block#2182) fix(relay): skip background rereads of profiles a read found absent (block#2147) fix: prevent startup logo selection (block#1823) fix(agents): send sign-in evidence with agent Git credentials (block#2240) perf(mentions): stop scanning every member on each mention keystroke (block#2246) fix(attachments): send image dimensions so previews don't shift (block#2262) feat(shortcuts): add Slack-style hotkeys (block#2170) perf(plugins): share host request clients across calls (block#2243) fix(identity): keep federated sessions and agent grants in one keychain item (block#2225) ... # Conflicts: # src/features/messages/ThreadPanel.tsx
arividar
pushed a commit
to minniai/minni-buzz-app
that referenced
this pull request
Nov 4, 2026
…ock#2274) The receipt reserve journey can let startup focus earn the real 300 ms bottom catch-up before it records its individual receipt. The failed WebKit trace already contains `activity:Alpha = 1700000119`, so the unread owner correctly skips the redundant message frontier and the test times out before applying pressure. Move the existing `holdReadingFocus` call before initial navigation. It now prevents automatic catch-up during startup and reload. Product code, pressure volume, publication checks, durable reserve assertions, and reload assertions are unchanged. No browser cases added or removed; this existing case covers real app reading, IndexedDB persistence, and reload. Validation: - Failed main: `10900108b4b18919eb50f687c6731cb827ef5297`, [run 41676688487](https://github.com/block/buzz-app/actions/runs/41676688487), WebKit job 126059918324. Shard: 69 passed, 1 failed; 543.9 s wall, 1031.2 s summed execution. Failing case: 29.8 s; slowest case: 38.2 s. - macOS WebKit at the failed SHA: unmodified case passed once (33.9 s). A diagnostic variant explicitly waited for bottom catch-up before the original observation and reproduced the same missing-frontier failure (16.7 s). - With the repair, a temporary diagnostic advanced the browser clock by 1 second after open; the entire affected case passed in Chromium (47.8 s) and WebKit (35.8 s). Diagnostic code is excluded from this PR. These local runs are not hosted timing comparisons. - Final head `497d3015b6ba4d59789ef7dc6400478c04eff836`: affected case passed twice in WebKit (34.1/34.4 s) and twice in Chromium with an isolated output directory (43.8/44.4 s). Command: `bin/pnpm test:browser tests/browser/unread.spec.mjs --project chromium --no-deps --workers=1 --grep "a viewport receipt survives" --repeat-each=2 --output <isolated-directory>`; preceding WebKit selection used the same case filter and repeat count. - An overlapping reviewer invocation initially deleted a Chromium repetition's trace output during teardown, producing ENOENT for trace/ZIP files after its assertions completed. That failed run is excluded from passing evidence; the isolated Chromium repetitions passed afterward. - Only the affected test ran locally. [Hosted CI 41681273087](https://github.com/block/buzz-app/actions/runs/41681273087) passed at the final head; `CI required` completed successfully at 2026-11-03 17:22:03 UTC. All 23 browser journey shards and changed-journey repetition jobs in both engines passed. Independent review approved with no findings; minimalness, elegance, and correctness each scored 10/10. Draft; no human/native acceptance observed. Native behavior is unchanged. Signed-off-by: Kalvin Chau <[email protected]> Co-authored-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The receipt reserve journey can let startup focus earn the real 300 ms bottom catch-up before it records its individual receipt. The failed WebKit trace already contains
activity:Alpha = 1700000119, so the unread owner correctly skips the redundant message frontier and the test times out before applying pressure.Move the existing
holdReadingFocuscall before initial navigation. It now prevents automatic catch-up during startup and reload. Product code, pressure volume, publication checks, durable reserve assertions, and reload assertions are unchanged. No browser cases added or removed; this existing case covers real app reading, IndexedDB persistence, and reload.Validation:
10900108b4b18919eb50f687c6731cb827ef5297, run 41676688487, WebKit job 126059918324. Shard: 69 passed, 1 failed; 543.9 s wall, 1031.2 s summed execution. Failing case: 29.8 s; slowest case: 38.2 s.497d3015b6ba4d59789ef7dc6400478c04eff836: affected case passed twice in WebKit (34.1/34.4 s) and twice in Chromium with an isolated output directory (43.8/44.4 s). Command:bin/pnpm test:browser tests/browser/unread.spec.mjs --project chromium --no-deps --workers=1 --grep "a viewport receipt survives" --repeat-each=2 --output <isolated-directory>; preceding WebKit selection used the same case filter and repeat count.CI requiredcompleted successfully at 2026-11-03 17:22:03 UTC. All 23 browser journey shards and changed-journey repetition jobs in both engines passed. Independent review approved with no findings; minimalness, elegance, and correctness each scored 10/10.Draft; no human/native acceptance observed. Native behavior is unchanged.