test: add margin to warm-switch performance gate - #195
Merged
Merged
Conversation
Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
zrmarley
added a commit
that referenced
this pull request
Sep 24, 2026
…o-player-polish * origin/main: (38 commits) Fix diff content fallback, keyboard scrolling and edit selection (#205) Standardize form controls and field feedback across Buzz (#174) Keep image review downloads and external opens distinct (#144) Verify media review comments (#166) Follow system appearance (#210) Add rich composer formatting and spoiler rendering (#203) feat: show roster-backed channels and managed instances in profiles (#188) Add new direct message flow (#156) Remove Home, start in Messages, and keep Channels enabled (#194) fix: restore avatar presence controls and active-input sensing (#198) Add legacy diff messages with inline and expanded viewing (#202) Edit the latest own message with Up in the existing composer (#192) Add complete reaction toggles to the message menu (#185) feat: add persistent community navigation rail (#191) test: add margin to warm-switch performance gate (#195) Add composer attachments and compatible media preparation (#183) Add reply and copying to the shared message menu (#182) fix: avoid idle workspace re-renders from activity and label churn (#186) feat: add devtools trace capture to web profiling (#180) Add optional channel templates, teams and personal group defaults (#181) ... Signed-off-by: Zach Marley <zmarley@squareup.com>
zrmarley
added a commit
that referenced
this pull request
Sep 24, 2026
…-content-compat * origin/main: (38 commits) Fix diff content fallback, keyboard scrolling and edit selection (#205) Standardize form controls and field feedback across Buzz (#174) Keep image review downloads and external opens distinct (#144) Verify media review comments (#166) Follow system appearance (#210) Add rich composer formatting and spoiler rendering (#203) feat: show roster-backed channels and managed instances in profiles (#188) Add new direct message flow (#156) Remove Home, start in Messages, and keep Channels enabled (#194) fix: restore avatar presence controls and active-input sensing (#198) Add legacy diff messages with inline and expanded viewing (#202) Edit the latest own message with Up in the existing composer (#192) Add complete reaction toggles to the message menu (#185) feat: add persistent community navigation rail (#191) test: add margin to warm-switch performance gate (#195) Add composer attachments and compatible media preparation (#183) Add reply and copying to the shared message menu (#182) fix: avoid idle workspace re-renders from activity and label churn (#186) feat: add devtools trace capture to web profiling (#180) Add optional channel templates, teams and personal group defaults (#181) ... Signed-off-by: Zach Marley <zmarley@squareup.com> # Conflicts: # docs/channels.md
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.
Outcome
Keep the warm-switch <100ms target, with an owner-requested provisional <200ms per-sample hard ceiling. Record all four timings and finish the existing correctness checks before enforcing the ceiling. Target misses produce
performanceannotations in the downloadable Playwright JSON; raw frame/first-visible diagnostics remain inevidence.json.No production changes, retries, extra samples, timing-boundary changes, timeout increases or browser-selection changes. The 1s completion watchdog, correct-channel row/composer checks, held-label cold-open proof, no-extra-head-read check and profile/relay assertions remain intact. Existing Linux WebKit exclusion remains historical/awaiting revalidation, not an active 100ms gate.
Why this policy
The same single-sample assertion failed on main at 118ms, #182 at 111ms, and #185 at 120.5ms. These are intermittent observations, not proof of contention or absence of PR-specific cost. 200ms is an explicit margin choice with roughly 80ms above the largest observed miss, not a proven flake-free bound. 100–199ms regressions now need performance review; >=200ms still fails. Severe runner stalls can still fail.
Validation
96338eadd06b9cf295b1ea99ed4fe999ec0aba61: completechannel-opening.spec.mjspassed 4/4 across serial Chromium 153.0.8010.12 and WebKit 26.6 on macOS ARM64, Node 24.18.0. Command:bin/pnpm exec playwright test --config tests/browser/playwright.config.mjs tests/browser/channel-opening.spec.mjs --project '*-measurements' --no-deps --workers=1 --reporter=list,json.Local cost comparison
fe897a10: 4 passed; elapsed 14.31s, summed execution 10.19s; compiled setup Chromium 647ms / WebKit 696ms.96338ead: 4 passed; elapsed 11.84s, summed execution 9.45s; compiled setup Chromium 580ms / WebKit 614ms.One local run per snapshot is a cost sanity check, not a distribution or Linux result. Hosted full-suite CI and reviewer/code-owner approval remain pending. This PR does not approve #185 or automatically merge anything.
Implemented by Carl, an automated agent, via Wes’s GitHub account. Source conversation: Buzz channel
3428ec3f-a58b-429b-afbc-dc6a77918ce8, threadbf84443949508192684e6cb0049d775dea51ef08d82c6f93d122c639330d0251.