| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Text, formatted text, decoration, transform, letter spacing, line height and stroke setters each rebuilt the attributed text. When they apply together (the initial apply, a CSS restyle), the rebuild now runs once after the batch with the last call's reset flag. Calls outside a batch rebuild immediately, as before.
|
View your CI Pipeline Execution ↗ for commit fd73e0c
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗ ☁️ Nx Cloud last updated this comment at 2026-10-06 20:30:08 UTC |
Sorry, something went wrong.
npm i https://pkg.pr.new/@nativescript/core@11510 npm i https://pkg.pr.new/@nativescript/vite@11510 npm i https://pkg.pr.new/@nativescript/webpack@11510 commit: fd73e0c |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
PR Checklist
What is the current behavior?
On iOS, the setters for text, formatted text, decoration, transform, letter spacing, line height and stroke each rebuild the label's attributed text. When they apply together (the initial apply of a styled label, a CSS restyle), a label rebuilds it once per property.
What is the new behavior?
While native updates resume (onResumeNativeUpdates), the rebuild is deferred and runs once after the batch, with the last call's reset flag; the last call already decided the final text before. Calls outside a batch rebuild immediately, as before.
New specs: a label with text, letter spacing and decoration rebuilds once per batch (3 times on main), and rebuilds immediately outside a batch.
Numbers
Only labels that set more than one of these properties benefit. In these scenarios that is text-flow, whose paragraphs set text and line height (two rebuilds each on main); labels elsewhere set only text and already rebuilt once. The other scenarios are flat within run-to-run noise.
How this was measured
xplat-benchmarks ns-core app (plain core, no plugins), iPhone 17 Pro Max simulator, iOS 26.4. Each scenario mounts about 1,000 views at size M. Base and change were installed alternately for 3 rounds of 10 measured iterations, median ms, lower is better. "Attach" is assigning the built tree to a loaded parent (native view creation, CSS, native setters); "painted" ends one frame after layout. A GC is forced before each mutation, as it already is after each unmount, so a collection pause lands in the same phase for both builds.
Part of a series: #11505, #11506, #11507, #11510 (this).