Skip to content

remotion: Reject nested HtmlInCanvas before Chrome 152 - #9726

Merged
JonnyBurger merged 1 commit into
mainfrom
codex/reject-nested-html-in-canvas-before-chrome-152
Jul 27, 2026
Merged

remotion: Reject nested HtmlInCanvas before Chrome 152#9726
JonnyBurger merged 1 commit into
mainfrom
codex/reject-nested-html-in-canvas-before-chrome-152

Conversation

@JonnyBurger

Copy link
Copy Markdown
Member

Summary

  • detect the current Chrome major version when an HtmlInCanvas is nested
  • throw an actionable error below Chrome 152 instead of waiting for a nested paint event that never arrives
  • cover Headless Chrome 151 rejection and Chrome 152 support with regression tests

Testing

  • bun run build
  • bun run stylecheck
  • bun test in packages/core
  • verified the effected-shape reproduction fails immediately on bundled Chrome 149 and renders on Chrome Canary 152

Related: #9399

@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bugs Ready Ready Preview, Comment Jul 27, 2026 1:03pm
remotion Ready Ready Preview, Comment Jul 27, 2026 1:03pm

Request Review

@pullfrog pullfrog Bot 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.

✅ No new issues found.

Reviewed changes — detects the Chrome major version at render time and throws an actionable error when HtmlInCanvas is nested on Chrome versions below 152, replacing a silent failure with a clear upgrade-or-unnest message.

  • Add getChromeMajorVersion() and MINIMUM_CHROME_VERSION_FOR_NESTED_HTML_IN_CANVAS constant in packages/core/src/HtmlInCanvas.tsx — extracts the Chrome major version from navigator.userAgent, accounting for both Chrome/ and HeadlessChrome/ prefixes.
  • Throw early in HtmlInCanvasContent when nested on Chrome < 152 — the check runs before any canvas initialization, so the user gets an immediate, actionable error instead of a hanging render.
  • Add regression tests for rejection on HeadlessChrome 151 and acceptance on Chrome 152, with proper userAgent cleanup in try/finally blocks.

Pullfrog  | View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) (Claude Opus not used — the program covers this model; add its provider key to run your pick) | 𝕏

@JonnyBurger
JonnyBurger merged commit 3209a1d into main Jul 27, 2026
19 checks passed
@JonnyBurger
JonnyBurger deleted the codex/reject-nested-html-in-canvas-before-chrome-152 branch July 27, 2026 13:14
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