Repository navigation
Marketing: the Inbox film on the Inbox page - #1811
Merged
Merged
Conversation
backnotprop
force-pushed
the
feat/marketing-inbox-film
branch
from
October 9, 2026 16:11
1293ba1 to
5d47b5a
Compare
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Inbox film (round 9, the owner's pick) is now a visible player on the Inbox page, in the hero. Until it plays, the frame shows the poster and one play button over it. Once it plays, the native controls take over: sound, seeking, full screen. It never autoplays, because the film is voice-led.
Where the player sits
apps/marketing/src/pages/[inbox].astro: in the hero, under the GitHub / How it works buttons and above the hero still (1.1). Full content width (1086 px at 1440, 340 px at 390). The frame is InboxShot's large frame: 12 px radius, the border token, the same shadow in light and dark mode. The background is black because the film is dark.<video controls playsinline preload="metadata" poster=...>with one H.264 mp4 source. A webm copy was dropped on plannotator-ops's review: every supported browser plays the H.264 mp4, and the repo keeps every version forever. The commit was amended, so the webm never entered branch history. The inline script turns the native controls off while the poster shows and turns them back on atplay. The whole poster is the play button (aria-label="Play the Inbox film"). Without JS, the button stayshiddenand the native controls show from the start.INBOX_LAUNCHED(src/lib/inbox-launch.ts). The film files live inpublic/assets/with the site's other demo videos, not ininbox-assets/. The inbox-assets file-count test (33) is unchanged.index.astro) has no Inbox section, so I did not change it.Assets (
apps/marketing/public/assets/)inbox-film.mp4inbox-film-poster.jpgcode-review-demo.mp4(15.6 MB). Merging deploys them through the existingaws s3 syncofapps/marketing/dist.research/design/plannotator-inbox-marketing-2026-10-07/video/conceptual/_removed/inbox-conceptual-round9.mp4(78.8 s). I only read it; it is unchanged.Proof
Headless Chromium (Playwright 1.63,
--use-mock-keychain --password-store=basic) against the builtdist, served on 127.0.0.1:50917 by a static server with Range support. Headless WebKit (Safari's engine) ran against the same build. Saved in/Users/ramos/workspaces/research/operational/inbox-proofs/marketing-film-2026-10-09/:inbox-film-{chromium,webkit}-{1440,390}-{light,dark}.png: the poster and the play button, with no native chrome before play.inbox-film-webkit-1440-dark-playing.png: after a click on the button,currentTime> 1.5,paused: false,muted: false, the overlay is hidden and the native controls are on.currentSrcwas the mp4,durationwas 78.79 and there was no media error.Gates
bun run buildinapps/marketing: 48 pages.bun test apps/marketing: 13 pass (inbox-launch, security-build, cloudfront).bun test tests/favicon-surfaces.test.ts tests/entry-assets.test.ts: 0 fail.gitleaks git . --config .gitleaks.toml --log-opts=<merge-base>..HEAD: no leaks..semgrep.ymlon the changed page: 0 findings.Left out