iOS Safari zooms the page on focus for any input under 16 px, and does not zoom back out. Measured font sizes:
- Project name — 14 px (
Toolbar.tsx:146)
- Chat input — 14 px (
ChatDrawer.tsx:91)
- All NumberInputs — 12 px (
NumberInput.tsx:174)
- Settings: provider select, API key, model, endpoint — 14 px
So every text entry in the app leaves the user zoomed in, with no way back except a manual pinch.
Separately, NumberInput is type="text" with no inputMode (measured inputMode: "none"), so editing a dimension opens a full alphabetic keyboard. The text type is deliberate — it supports expressions like 10*2+5 — but inputMode="decimal" keeps that working while getting a numeric keypad. enterKeyHint="done" would also label the return key.
Assessment: docs/mobile-audit/README.md §3 (#125).
iOS Safari zooms the page on focus for any input under 16 px, and does not zoom back out. Measured font sizes:
Toolbar.tsx:146)ChatDrawer.tsx:91)NumberInput.tsx:174)So every text entry in the app leaves the user zoomed in, with no way back except a manual pinch.
Separately,
NumberInputistype="text"with noinputMode(measuredinputMode: "none"), so editing a dimension opens a full alphabetic keyboard. Thetexttype is deliberate — it supports expressions like10*2+5— butinputMode="decimal"keeps that working while getting a numeric keypad.enterKeyHint="done"would also label the return key.Assessment:
docs/mobile-audit/README.md§3 (#125).