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

fix(emoji): shrink and raise inline custom emoji - #1097

Merged
kalvinnchau merged 1 commit into
mainfrom
fix/inline-emoji-size
Oct 14, 2026
Merged

kalvinnchau merged 1 commit into
mainfrom
fix/inline-emoji-size

Conversation

@kalvinnchau

@kalvinnchau kalvinnchau commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Inline custom emoji (:shortcode: images) look oversized and sunk in message text. .customEmoji renders a 22px <img> with vertical-align: middle inside 14px text. That makes the image about 1.6em tall with its center at half the x-height, so it hangs about 7px below the baseline.

Change

.customEmoji is now 1.125em square with vertical-align: -0.125em, so the image is smaller and drops only 0.125em below the baseline.

Jumbo (emoji-only) messages still set --inline-emoji-size and top alignment, so they are unchanged.

Before / after

Same message row from tests/fixtures/emoji.html with Inter, main vs this branch.

Evidence

  • design:check and biome check: pass.
  • Playwright emoji, custom-emoji-authoring and reactions specs: pass in Chromium and WebKit (22 tests).
  • Not yet done: a human check in the app.

@kalvinnchau
kalvinnchau force-pushed the fix/inline-emoji-size branch from 4368ac2 to e366790 Compare October 14, 2026 17:43
@kalvinnchau kalvinnchau changed the title fix(emoji): size inline native emoji to the em on macos fix(emoji): align inline custom emoji with native emoji glyphs Oct 14, 2026
@kalvinnchau
kalvinnchau force-pushed the fix/inline-emoji-size branch from e366790 to a06a575 Compare October 14, 2026 18:17
@kalvinnchau kalvinnchau changed the title fix(emoji): align inline custom emoji with native emoji glyphs fix(emoji): sit inline custom emoji on the text baseline Oct 14, 2026
@kalvinnchau
kalvinnchau force-pushed the fix/inline-emoji-size branch from a06a575 to 66cc667 Compare October 14, 2026 18:51
@kalvinnchau
kalvinnchau marked this pull request as ready for review October 14, 2026 18:54
@kalvinnchau
kalvinnchau requested a review from a team as a code owner October 14, 2026 18:54

@salman1993 salman1993 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🤖 Reviewed commit 66cc6677fcfc2a4927eac3b0d5a19d5cd9ba5783. No code blockers found. Minimalness, elegance, and correctness meet the 9/10 bar for this scoped change.

The rule stays with the existing CustomEmoji renderer. Relative sizing follows the surrounding type; the design guide's Foundations section explicitly leaves emoji artwork geometry renderer-owned. Jumbo messages retain their size override and more-specific top alignment. Reactions and composer tokens retain their own geometry rules. Settings and completion also consume CustomEmoji; I found no concrete regression in those uses.

Validation: inspected the callers and CSS cascade, checked the full diff, and exercised the PR-head emoji fixture in the in-app browser with the existing tests' SVG media stand-in. Checked light/dark, narrow/wide, and 150% text sizing, including inline, jumbo, table, quote, and failed-image fallback rendering. Computed inline size is 17.5px at 14px text with baseline alignment; jumbo remains 42px with top alignment. Keyboard completion followed by pointer Send produced a rendered inline custom emoji. I did not rerun the test suites or perform native desktop acceptance.

Readiness remains incomplete:

  • Browser measurements and CI required are failing. The WebKit 300-author thread test reports “thread did not finish traversal.” Its stress messages have no custom emoji, so this appears unrelated to the changed rule; this review does not establish the failure's cause or that it is flaky. Failed job.
  • The PR description says the human app check is still pending, while the PR is currently ready for review. Per AGENTS.md, keep it draft until human acceptance is confirmed; add buzz-review-completed only after the required review and acceptance steps hold.

inline custom emoji were 22px images with vertical-align: middle, so in
14px message text they ran 1.6em tall and centered on half the x-height,
hanging ~7px below the baseline. size them to 1.125em and drop them only
0.125em below the baseline. jumbo messages still set --inline-emoji-size
and top alignment, so emoji-only rows are unchanged.

Co-authored-by: peon <9ac6794b000690b7e814eb1805ad32405d0bec7d52838de3a86cf967565dacc0@buzz.block.builderlab.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
@kalvinnchau
kalvinnchau force-pushed the fix/inline-emoji-size branch from 66cc667 to 7a6a369 Compare October 14, 2026 21:20
@kalvinnchau kalvinnchau changed the title fix(emoji): sit inline custom emoji on the text baseline fix(emoji): shrink and raise inline custom emoji Oct 14, 2026
@kalvinnchau
kalvinnchau merged commit 8ed8390 into main Oct 14, 2026
59 of 61 checks passed
@kalvinnchau
kalvinnchau deleted the fix/inline-emoji-size branch October 14, 2026 22:07
johnmatthewtennant added a commit that referenced this pull request Oct 15, 2026
…-drag

* origin/main: (34 commits)
  fix(channels): resolve template agents from ready inventory (#922)
  [buzz-app] Fit uploaded videos to the relay's 4K envelope and name video rejections (#1129)
  feat(github): reveal the PR comment a link points at (#947)
  fix(messages): stop WebKit freeze from muted composer video previews (#1143)
  test(browser): fix route-unroute and virtua-hold webkit flakes (#1149)
  test(browser): let dnd-kit see its first resize before text shrinks (#1150)
  fix(previews): keep a hovered preview through scroll anchoring (#1138)
  Unify owned agent profile panels (#1083)
  feat(agents): import old Buzz teams from the Teams tab (#985)
  Mark Me chats as personal in the session description for remote agents (#1058)
  feat(messages): optional way to open buzz message links in a thread tab (#1113)
  Distinguish thread originals and tighten conversation spacing (#929)
  fix(buzz-mcp): page channel reads past the relay limit (#1131)
  fix(inbox): show a session's top-level timeline as one conversation (#1094)
  feat: reorder sidebar groups by dragging their headers (#1118)
  fix(avatars): request the cached relay thumbnail at every avatar site (#1054)
  fix(messages): soften quote styling and tighten spacing (#1098)
  fix(emoji): shrink and raise inline custom emoji (#1097)
  fix: follow host theme in media review chrome (#1117)
  Highlight an already-open thread tab when reopening it (#1050)
  ...

Signed-off-by: John Tennant <jtennant@block.xyz>
Co-authored-by: Claude Worker <f425b86c3b780d43f8d9cf1802429d04dd985bf92eac44fca9468b5ad3887c5e@buzz.block.builderlab.xyz>

# Conflicts:
#	src/features/channel-navigation/ChannelSidebarDnd.tsx
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.

3 participants