Repository navigation
fix: align Web tab bar widths with native measurements - #323
Conversation
|
/beta |
|
🚫 |
Playwright test resultsDetails
Flaky testschromium › native-ui.spec.ts › horizontal tabs retain measured native width on Web handoff without feeding it back |
|
📊 Ionic 9 Playwright Test Report View the detailed Ionic 9 report after GitHub Pages deployment completes: https://rdlabo-dev.github.io/ionic-theme-ios27/pr-323/ Ionic 8 runs against the same screenshots in a separate matrix job. View both results in the workflow run. |
# Conflicts: # demo/e2e/native-ui.spec.ts
npm beta publishedCI passed for the merge commit npm install @rdlabo/ionic-theme-ios27@2.0.2-beta.pr323.sha7d12419d9062 @rdlabo/capacitor-native-ui@2.0.2-beta.pr323.sha7d12419d9062 |
Short two- and three-tab bars now use content-aware Web sizing instead of the width tuned for the four-tab demo. The native renderer reports its visible platter width for ordinary and searchable tabs, and the runtime retains that width when returning to Web rendering.
Layout requests measure the original CSS width, preventing repeated projection from progressively shrinking the bar. Web gestures preserve the measurement, padding changes recalculate the CSS width, and teardown restores original styles. Switching to Duo releases the phone measurement; returning to phone mode measures source CSS before applying the native width again. The system UITabBar remains in use, with compatibility for older native binaries that omit width measurements.
Validation:
Final local integration of #323, #324 and #325 passed 157 unit tests, 26 Chromium/WebKit edge tests, TypeScript checking, CSS/native package builds and workspace lint. Native width measurement also passed on both iPhone and Duo simulators. No additional runtime changes were needed after integration.