Skip to content

Cover runtime font-scale changes after mounting text (#59491) - #59491

Open
javache wants to merge 4 commits into
react:mainfrom
javache:export-D127578740
Open

javache wants to merge 4 commits into
react:mainfrom
javache:export-D127578740

Conversation

@javache

@javache javache commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary:

Add runtime font-scale coverage for mounted Text and TextInput under unchanged parent constraints, plus native iOS Text Dynamic Type coverage. Provide general surface-constraint updates with separate queued UI-thread and convenience APIs, keeping existing root dimensions in sync without re-registering roots. Explicitly document the current stale TextInput result before its invalidation fix.

Changelog: [Internal]

Differential Revision: D127578740

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 26, 2026
@meta-codesync

meta-codesync Bot commented Oct 26, 2026

Copy link
Copy Markdown

@javache has exported this pull request. If you are a Meta employee, you can view the originating Diff in D127578740.

@meta-codesync meta-codesync Bot changed the title Cover runtime font-scale changes after mounting text Cover runtime font-scale changes after mounting text (#59491) Oct 26, 2026
javache added a commit to javache/react-native that referenced this pull request Oct 26, 2026
Summary:
Pull Request resolved: react#59491

Add runtime font-scale coverage for mounted Text and TextInput under unchanged parent constraints, plus native iOS Text Dynamic Type coverage. Provide general surface-constraint updates with separate queued UI-thread and convenience APIs, keeping existing root dimensions in sync without re-registering roots. Explicitly document the current stale TextInput result before its invalidation fix.

Changelog: [Internal]

Differential Revision: D127578740
javache added a commit to javache/react-native that referenced this pull request Oct 26, 2026
Summary:
Pull Request resolved: react#59491

Add runtime font-scale coverage for mounted Text and TextInput under unchanged parent constraints, plus native iOS Text Dynamic Type coverage. Provide general surface-constraint updates with separate queued UI-thread and convenience APIs, keeping existing root dimensions in sync without re-registering roots. Explicitly document the current stale TextInput result before its invalidation fix.

Changelog: [Internal]

Differential Revision: D127578740
@github-actions

Copy link
Copy Markdown

Warning

JavaScript API change detected

This PR commits an update to ReactNativeApi.d.ts, indicating a change to React Native's public JavaScript API.

  • Please include a clear changelog message.
  • This change will be subject to additional review.

This change was flagged as: POTENTIALLY_BREAKING

Summary:
Pull Request resolved: react#59482

Use Skia for intrinsic text layout so Fantom tests exercise real wrapping and font scaling. Keep measurement enabled by default and share layout and a consistent CPU configuration with screenshot painting to avoid host-dependent results.

Pinned font development dependencies make internal and open-source rendering self-contained and reproducible.

Changelog: [Internal] Add intrinsic text and input measurement to Fantom with Skia.

Differential Revision: D126888503
Summary:
Pull Request resolved: react#59483

Integrate screenshots into Fantom's existing Jest snapshot workflow so tests catch visual regressions while PNG baselines remain easy to inspect. Immutable captures make comparisons across React updates reliable.

Share Skia and fonts with text measurement to keep layout and painting consistent across Linux and macOS. Pixel hashes make comparisons independent of PNG encoding; saved captures and highlighted differences make failures inspectable in CI and terminals without image support.

Changelog: [Internal] Add Skia screenshot snapshots to Fantom.

Differential Revision: D126888504
Summary:
Pull Request resolved: react#59498

Make visual regressions easier to inspect with Expected | Received | Difference previews and file paths. A Jest reporter reuses the saved PNGs without changing snapshot comparison. Terminal formatting preserves the full results for logs and other reporters.

Select the protocol from the detected terminal and confirm VS Code image support before sending graphics. Keep full text diagnostics whenever a required preview cannot be shown.

Retain failing comparison images as GitHub job artifacts to diagnose rendering differences in CI. Keep captures from every failed retry, even if a later attempt passes.

Changelog: [Internal] Show terminal previews and upload GitHub artifacts for failing Fantom screenshot snapshots.

Differential Revision: D127129237
javache added a commit to javache/react-native that referenced this pull request Oct 26, 2026
Summary:
Pull Request resolved: react#59491

Add runtime font-scale coverage for mounted Text and TextInput under unchanged parent constraints, plus native iOS Text Dynamic Type coverage. Provide general surface-constraint updates with separate queued UI-thread and convenience APIs, keeping existing root dimensions in sync without re-registering roots. Explicitly document the current stale TextInput result before its invalidation fix.

Changelog: [Internal]

Differential Revision: D127578740
javache added a commit to javache/react-native that referenced this pull request Oct 26, 2026
Summary:
Pull Request resolved: react#59491

Add runtime font-scale coverage for mounted Text and TextInput under unchanged parent constraints, plus native iOS Text Dynamic Type coverage. Provide general surface-constraint updates with separate queued UI-thread and convenience APIs, keeping existing root dimensions in sync without re-registering roots. Explicitly document the current stale TextInput result before its invalidation fix.

Changelog: [Internal]

Differential Revision: D127578740
Summary:
Pull Request resolved: react#59491

Add runtime font-scale coverage for mounted Text and TextInput under unchanged parent constraints, plus native iOS Text Dynamic Type coverage. Provide general surface-constraint updates with separate queued UI-thread and convenience APIs, keeping existing root dimensions in sync without re-registering roots. Explicitly document the current stale TextInput result before its invalidation fix.

Changelog: [Internal]

Differential Revision: D127578740
javache added a commit to javache/react-native that referenced this pull request Oct 26, 2026
Summary:
Pull Request resolved: react#59491

Add runtime font-scale coverage for mounted Text and TextInput under unchanged parent constraints, plus native iOS Text Dynamic Type coverage. Provide general surface-constraint updates with separate queued UI-thread and convenience APIs, keeping existing root dimensions in sync without re-registering roots. Explicitly document the current stale TextInput result before its invalidation fix.

Changelog: [Internal]

Differential Revision: D127578740

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants