Skip to content

Buddy is transparent on the landing page in Safari and on iPhone and iPad - #384

Merged
siddsachar merged 1 commit into
mainfrom
fix/landing-buddy-safari
Oct 2, 2026
Merged

siddsachar merged 1 commit into
mainfrom
fix/landing-buddy-safari

Conversation

@siddsachar

Copy link
Copy Markdown
Owner

Summary

On Safari, the landing page's Buddy robot showed a dark box behind it that covered the app footage. Safari, and every browser on iOS and iPadOS (all WebKit), plays WebM but drops its alpha channel. This was there before the 5.0 media update; the Buddy clips date from 24 September.

  • Six HEVC-with-alpha .mov cuts (docs/media/landing-story/buddy/*.mov), one per Buddy state: same 512×538 frames, 24 fps and durations as the WebMs. Made by decoding the reviewed WebMs losslessly (alpha kept) to ProRes 4444, then encoding on macOS with AVFoundation's HEVC-with-alpha encoder at 900 kbit/s. That's 4.7 MB in all, against 3.7 MB of WebM. Each is loaded only when its state plays, and only on WebKit.
  • landing-story.js picks the .mov (data-src-hevc) when the browser is Apple WebKit and can play hvc1. That covers the stage robot and the sovereignty robot. Chromium browsers and Firefox keep the WebM, because Chromium can play HEVC but ignores its alpha.
  • The manifest records the new cuts' hashes and how they were made.
  • scripts/docs/buddy_hevc_alpha.swift regenerates them on a Mac.

Type of change

  • Bug fix

Risk area

  • Other (marketing site)

Testing

  • uv run python scripts/run_test_matrix.py docs: 109 passed. The manifest test now also hashes the .mov cuts. The story runtime test gains Safari, Chrome-on-Mac and no-HEVC cases; the Safari case fails without the fix.
  • Each .mov decoded back on the Mac: alpha 0–255 with transparent corners, and the same durations as the WebMs
  • Owner to confirm on Safari on the Mac after it deploys

Release notes

  • Internal-only change, no release note needed

Checklist

  • Branch is based on latest main
  • No direct secrets, API keys, local paths, or private data included
  • The change is focused and does not include unrelated cleanup
  • Windows/macOS behavior considered where relevant

🤖 Generated with Claude Code

…iPad

Safari and every iOS browser play WebM but drop its alpha channel, so the
robot sat in a dark box over the app footage. Apple WebKit now gets HEVC with
alpha cuts of the same six states (encoded with AVFoundation from lossless
masters of the reviewed WebMs, about 4.7 MB in all); Chromium browsers and
Firefox keep the WebM, since Chromium can play HEVC but ignores its alpha.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@siddsachar
siddsachar merged commit f480895 into main Oct 2, 2026
10 checks passed
@siddsachar
siddsachar deleted the fix/landing-buddy-safari branch October 2, 2026 08:50
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