Skip to content

fix(email): drop leftover-canvas CSS zoom - #5926

Closed
cameronapak wants to merge 12 commits into
macro-inc:mainfrom
cameronapak:fix/email-html-drop-leftover-zoom
Closed

cameronapak wants to merge 12 commits into
macro-inc:mainfrom
cameronapak:fix/email-html-drop-leftover-zoom

Conversation

@cameronapak

Copy link
Copy Markdown
Contributor

Summary

  • Stacks on fix(email): keep HTML mail readable without shrinking it to dust #5890 until that merges. This follow-up does not change the wrap-plus-0.7 PR.
  • After wrap, leftover CSS zoom is gone. Wide designed tables stay at native type and scroll sideways.
  • Containment stays: images cap at the pane, signatures wrap, quotes indent left, pre / code wrap like Gmail.
  • Client comparison is in apps/web/docs/email-client-zoom.md.

Test plan

  • just test-email-rendering from the repo root
  • Wide-table snapshots at 360 and 800 show native type plus a sideways scroll
  • GitHub review fixture still wraps at native type
  • No Auto-fit toggle. No max-width: 100% on all tables

Made with Cursor

cameronapak and others added 11 commits August 24, 2026 16:17
Unbounded pane/content zoom made GitHub review mail unreadably small.
Contain pre/code first, then scale leftover newsletter canvases no lower than 0.7.

Co-authored-by: Cursor <cursoragent@cursor.com>
Needed so local fixtures can store real sanitized HTML instead of wrapping plaintext in a paragraph.

Co-authored-by: Cursor <cursoragent@cursor.com>
Reviewers can see the GitHub-mail zoom bug next to the wrap-and-floor fix.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the viewer and seed commits; drop the PNGs from the tree.

Co-authored-by: Cursor <cursoragent@cursor.com>
Agents could not find the Playwright suite from the repo root, and it would not have caught unbounded zoom on unwrapped review diffs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Scenario apply wrote body_html straight into body_html_sanitized. That column is supposed to go through sanitize_email_html.

Co-authored-by: Cursor <cursoragent@cursor.com>
The harness zoomed the padded page container, so it could not prove the 0.7 floor. Mount the same shadow message node and snapshot an 836px table at 360 and 800.

Co-authored-by: Cursor <cursoragent@cursor.com>
Clearing the overflow shorthand does not drop a prior overflowX auto, so a later fitting resize could keep a scrollbar.

Co-authored-by: Cursor <cursoragent@cursor.com>
Claude Code reads CLAUDE.md. The @AGENTS.md import loads the shared web agent file. Snapshot recipes belong there with the other bun commands.

Co-authored-by: Cursor <cursoragent@cursor.com>
CI failed because the zoom helper and its tests used a wrap Biome rejects.

Co-authored-by: Cursor <cursoragent@cursor.com>
Wide designed tables stay at native type and scroll. Wrap and
containment stay. Client comparison lives with this follow-up.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Wide tables grew the host to min-content after zoom was dropped, so overflow-x never applied and ancestors clipped the letter.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cameronapak

Copy link
Copy Markdown
Contributor Author

Recreated from a Macro-owned branch as #6374 so the repository's credentialed pipelines can run. The replacement starts from current main and carries the intended follow-up without the already-merged #5890 stack.

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.

1 participant