Skip to content

fix(metadata): render Apple startup images and social account tags - #3395

Open
camc314 wants to merge 2 commits into
cloudflare:mainfrom
camc314:codex/fix-apple-social-metadata
Open

camc314 wants to merge 2 commits into
cloudflare:mainfrom
camc314:codex/fix-apple-social-metadata

Conversation

@camc314

@camc314 camc314 commented Sep 22, 2026

Copy link
Copy Markdown
Contributor
  • Apple startup images supplied as strings within an array lose their href because rendering assumes every entry is an object. Normalize each entry and emit the default Apple status-bar style when none is specified.
  • Also render Facebook app/admin and Pinterest rich-pin metadata, with corresponding public types. Support scalar or multiple Facebook admins and preserve explicit false Pinterest values. Adds regressions based on the Next.js metadata suite.
  • The source commit records both focused upstream Apple/social cases passing, 1,660 feature and shim tests passing, and passing targeted checks and package build. Tests were not rerun in this worktree because its local vite-plus dependency is not installed.

The original upstream metadata suite supplies a mixed array of string and
object Apple startup images. Vinext assumed every array entry had a url field,
so string entries lost their href. Normalize each entry and emit Next.js's
default Apple status-bar style when none is provided.

Add Facebook app/admin and Pinterest rich-pin metadata rendering. Preserve
multiple admins and scalar admin inputs, and serialize explicit false values
instead of dropping them. Extend the public metadata types for these fields.

Validation:
- Original v16.2.6 metadata Apple/social cases: 2 passed, versus 2 failed in
  the unfiltered baseline. Other cases were not selected for this focused run
  and remaining metadata failures are tracked separately.
- New mixed-image/social and false-value regressions fail before this fix.
- Complete features and shims suites: 1660 passed.
- Targeted vp check and vinext package build pass.
Copilot AI lite review requested due to automatic review settings September 22, 2026 18:44

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@pkg-pr-new

pkg-pr-new Bot commented Sep 22, 2026

Copy link
Copy Markdown

Open in StackBlitz

@vinext/cloudflare

npm i https://pkg.pr.new/@vinext/cloudflare@3395

create-vinext-app

npm i https://pkg.pr.new/create-vinext-app@3395

@vinext/types

npm i https://pkg.pr.new/@vinext/types@3395

vinext

npm i https://pkg.pr.new/vinext@3395

@cloudflare/workers-response-store

npm i https://pkg.pr.new/@cloudflare/workers-response-store@3395

commit: 9f7849b

@github-actions

github-actions Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared 9f7849b against base 087f8d6 using alternating same-runner rounds. Next.js was unchanged and skipped.

0 improved · 0 regressed · 6 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.3 KB 142.3 KB ⚫ -0.0%
Client entry size (gzip) vinext 129.7 KB 129.7 KB ⚫ +0.0%
Dev server cold start vinext 3.20 s 3.19 s ⚫ -0.5%
Production build time vinext 3.44 s 3.44 s ⚫ -0.3%
RSC entry closure size (gzip) vinext 127.9 KB 128.0 KB ⚫ +0.1%
Server bundle size (gzip) vinext 226.0 KB 226.2 KB ⚫ +0.1%

View detailed results and traces

🟢 improvement · 🔴 regression · ⚫ change below 1.5% · paired base/head

@james-elicx

Copy link
Copy Markdown
Member

/bigbonk review for issues

Time limit: 8 minutes. Complete the review and post all findings within that limit.

@ask-bonk

ask-bonk Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

LGTM!

github run

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