镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

test(reactions): provide stable emoji media for icon rendering - #2279

Merged
wesbillman merged 1 commit into
mainfrom
fix/reaction-tooltip-ci
Nov 3, 2026
Merged

wesbillman merged 1 commit into
mainfrom
fix/reaction-tooltip-ci

Conversation

@kalvinnchau

@kalvinnchau kalvinnchau commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

The icon-rendering journey leaves custom emoji media unstubbed. Vite returns HTML for those image URLs, so failed-image retries reflow the message under a stationary pointer and cancel the tooltip's resting-hover timer. Serve successful SVG media using the neighboring geometry test's fixture pattern and wait for the custom reaction image to decode before measuring.

This changes only the affected test (+10 lines). Every existing fractional-pixel, geometry, screenshot and tooltip assertion remains. No production changes or browser cases added/removed. Image failure/recovery remains covered separately in emoji.spec.mjs.

Evidence from failed main run 41677024060: all icon/pixel checks passed; only the tooltip assertion failed. A Linux native-event probe with CPU throttling reproduced the same failure (1 of 3 iterations). It recorded the pointer leaving Add reaction for a paragraph during failed-image retry, then re-entering without a mousemove, leaving no tooltip timer. The repaired case passed all five iterations under the same probe (38.2s).

Validation:

  • Affected journey passed twice per engine on macOS (4/4, 24.3s).
  • bin/pnpm test:browser tests/browser/reactions-polish.spec.mjs --project chromium --project webkit --no-deps --workers=1 --grep "add-reaction icon stays still"
  • Final committed head 9b3326af8e069bd69385da9c4d9943927d6fc57f passed both engines (2/2, 16.1s).
  • Commit/push hooks and diff checks passed; only affected tests run locally. Hosted CI supplies broad validation.

Independent peon review found no actionable issues. Hosted run 41685392137 passed all automatic checks at this exact head, including both browser repetition lanes. No merge authorized. The separately diagnosed rejected-Join ordering repair is #2278.

serve successful fixture images and await decode before raster and hover checks so failed-image retries cannot reflow the pointer target.

Co-authored-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
@kalvinnchau
kalvinnchau marked this pull request as ready for review November 3, 2026 18:07
@kalvinnchau
kalvinnchau requested a review from a team as a code owner November 3, 2026 18:07

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Carl, an automated reviewer, commenting via Wes's GitHub account.

No blockers. This uses the same stub-and-decode pattern as reaction previews center above each emoji bubble in the same file. That removes the failed-image reflow that cancels the resting-hover timer, and every geometry, screenshot and tooltip assertion stays intact. Comment-only review: approval is left to a human.

@wesbillman
wesbillman merged commit abb2465 into main Nov 3, 2026
41 checks passed
@wesbillman
wesbillman deleted the fix/reaction-tooltip-ci branch November 3, 2026 18:51
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 <drouleau@squareup.com>
Co-authored-by: Codex <noreply@openai.com>

# 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
…#2279)

The icon-rendering journey leaves custom emoji media unstubbed. Vite
returns HTML for those image URLs, so failed-image retries reflow the
message under a stationary pointer and cancel the tooltip's
resting-hover timer. Serve successful SVG media using the neighboring
geometry test's fixture pattern and wait for the custom reaction image
to decode before measuring.

This changes only the affected test (+10 lines). Every existing
fractional-pixel, geometry, screenshot and tooltip assertion remains. No
production changes or browser cases added/removed. Image
failure/recovery remains covered separately in `emoji.spec.mjs`.

Evidence from failed main [run
41677024060](https://github.com/block/buzz-app/actions/runs/41677024060):
all icon/pixel checks passed; only the tooltip assertion failed. A Linux
native-event probe with CPU throttling reproduced the same failure (1 of
3 iterations). It recorded the pointer leaving Add reaction for a
paragraph during failed-image retry, then re-entering without a
mousemove, leaving no tooltip timer. The repaired case passed all five
iterations under the same probe (38.2s).

Validation:
- Affected journey passed twice per engine on macOS (4/4, 24.3s).
- `bin/pnpm test:browser tests/browser/reactions-polish.spec.mjs
--project chromium --project webkit --no-deps --workers=1 --grep
"add-reaction icon stays still"`
- Final committed head `9b3326af8e069bd69385da9c4d9943927d6fc57f` passed
both engines (2/2, 16.1s).
- Commit/push hooks and diff checks passed; only affected tests run
locally. Hosted CI supplies broad validation.

Independent peon review found no actionable issues. Hosted run
[41685392137](https://github.com/block/buzz-app/actions/runs/41685392137)
passed all automatic checks at this exact head, including both browser
repetition lanes. No merge authorized. The separately diagnosed
rejected-Join ordering repair is block#2278.

Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Co-authored-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants