Peter Steinberger
17630226fc
improve(ios): make gateway QR pairing prominent in Settings ( #106111 )
...
Reorder Settings -> Gateway by intent: pairing (Add Gateway with Scan QR,
setup code, discovered gateways) right below status, nav-bar QR scanner
button on the gateway route, and a Scan QR to Pair status-card hero while
nothing is paired (honoring the shared connect lock). Manual Gateway and
credentials move to the bottom. Fix setup-code Connect busy spinner to
track the whole attempt. New strings ran the full native i18n pipeline.
Closes #106013
2026-07-13 00:35:38 -07:00
Peter Steinberger
d2b382528e
feat(ios): guide first launch through pairing explainer and permissions ( #106129 )
...
* feat(ios): guide first launch through pairing explainer and permissions
* fix(ios): keep first-run flow resumable and surface limited grants in onboarding
* chore(ios): regenerate native i18n after rebase
* chore(android): project refreshed native translations into strings.xml
* fix(ios): move i18n wrapper contract to shared permission row and sync catalog
2026-07-13 00:35:31 -07:00
Peter Steinberger
b57e7b74e6
feat: add native Skills management parity ( #105814 )
...
* feat(apps): add native skills management parity
* chore(i18n): refresh native skills inventory
* style(apps): apply canonical Swift formatting
* style(ios): wrap skills status message
* chore(i18n): refresh native skill locales
* refactor(apps): trim native skills review surface
* chore(i18n): regenerate native app resources
* chore: keep release changelog owner-only
* fix(ios): remove dead gateway and watch wrappers
2026-07-13 00:11:11 -07:00
Colin Johnson
6242842722
fix(ios): focus missing gateway credentials ( #98189 )
...
* fix(ios): focus missing gateway credentials
Co-authored-by: Colin <colin@solvely.net >
* test(macos): let main actor polling suspend
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 23:36:29 -07:00
Peter Steinberger
c81ae0412c
fix(ios): localize Settings accessibility labels ( #105859 )
...
* fix(ios): preserve localized accessibility labels
* chore(i18n): refresh native source inventory
2026-07-12 19:33:27 -07:00
Vincent Koc
818eca2c09
fix(ios): coalesce automatic overview refreshes
2026-07-13 03:53:15 +02:00
Vincent Koc
5e9bc0916f
fix(ios): harden gateway and watch state handling
2026-07-13 03:53:15 +02:00
Peter Steinberger
5e45ebe82b
feat(ios): add private HealthKit summaries ( #105616 )
...
* feat(ios): add private HealthKit summaries
* fix(ios): satisfy Health settings lint
* chore(ios): sync Health localization artifacts
* chore(ios): refresh generated localization and docs
* fix(ios): reject partial Health history
* chore(ios): sync Health string catalogs
* fix(ios): bridge Health authorization dates
* fix(ios): scope Health summaries to today
2026-07-12 12:52:38 -07:00
Vincent Koc
5ec053a6e9
refactor(ios): remove unused live activity wrapper
2026-07-12 18:33:47 +02:00
Vincent Koc
f64eb0cbaa
fix(ios): localize sidebar reveal actions
2026-07-12 18:33:47 +02:00
Vincent Koc
e999802e6e
fix(ios): type watch gateway request identifier
2026-07-12 18:33:47 +02:00
Vincent Koc
01ed6b1f04
fix(ios): distinguish localized and verbatim session actions
2026-07-12 18:33:47 +02:00
Vincent Koc
7394d07a49
fix(ios): use typed localized retry action
2026-07-12 18:33:47 +02:00
Vincent Koc
aa1a8ddb34
fix(ios): preserve localized text value boundaries
2026-07-12 18:33:47 +02:00
Vincent Koc
543161e67e
fix(ios): localize remaining runtime labels
2026-07-12 18:33:47 +02:00
Vincent Koc
6ddc87de0a
fix(ios): satisfy watch localization build gates
2026-07-12 18:33:47 +02:00
Vincent Koc
a1f0a92b03
fix(watch): preserve terminal approval outcomes
2026-07-12 18:33:47 +02:00
Vincent Koc
34fe882301
fix(ios): carry semantic gateway progress
2026-07-12 18:33:47 +02:00
Vincent Koc
0e49f09112
fix(watch): preserve localized terminal status
2026-07-12 18:33:47 +02:00
Vincent Koc
1e22d4fcbd
fix(ios): localize concatenated settings copy
2026-07-12 18:33:47 +02:00
Vincent Koc
3854f43be7
fix(talk): preserve WebRTC progress semantics
2026-07-12 18:33:47 +02:00
Vincent Koc
1c3b94550e
fix(watch): preserve one-shot push-to-talk status
2026-07-12 18:33:47 +02:00
Vincent Koc
0e092aa08e
chore(ios): refresh localized runtime assets
2026-07-12 18:33:47 +02:00
Vincent Koc
55a3634809
fix(watch): preserve realtime failure presentation
2026-07-12 18:33:47 +02:00
Vincent Koc
af1036bc5c
fix(ios): canonicalize shipped activity statuses
2026-07-12 18:33:47 +02:00
Vincent Koc
a69f1cb1be
fix(watch): dual-write legacy snapshot status
2026-07-12 18:33:47 +02:00
Vincent Koc
44f2488318
fix(watch): preserve terminal Talk failure state
2026-07-12 18:33:47 +02:00
Vincent Koc
c89dc7905d
chore(ios): refresh reviewed localization assets
2026-07-12 18:33:47 +02:00
Vincent Koc
cf8ae716ff
fix(ios): preserve localized runtime semantics
2026-07-12 18:33:47 +02:00
Vincent Koc
88f1e91383
chore(ios): regenerate localized app assets
2026-07-12 18:33:47 +02:00
Vincent Koc
c09a555c9e
fix(ios): decouple Talk state from localized copy
2026-07-12 18:33:47 +02:00
Vincent Koc
95cff58166
fix(watchos): localize semantic status on watch
2026-07-12 18:33:47 +02:00
Vincent Koc
f3000a953f
fix(ios): preserve runtime localization semantics
2026-07-12 18:33:47 +02:00
Vincent Koc
4e689e33d5
fix(ios): localize gateway problem presentation
2026-07-12 18:33:47 +02:00
Vincent Koc
3372812560
fix(ios): localize dynamic presentation strings
2026-07-12 18:33:47 +02:00
Vincent Koc
632ea2bcb7
style(ios): satisfy SwiftFormat in localized surfaces
2026-07-12 18:33:47 +02:00
Vincent Koc
2ee16ccdc1
test(ios): cover positional localized status formats
2026-07-12 18:33:47 +02:00
Vincent Koc
61511342e4
test(ios): cover speech restart status ownership
2026-07-12 18:33:47 +02:00
Vincent Koc
cc85d8256f
fix(ios): use plural-aware localized counts
2026-07-12 18:33:47 +02:00
Vincent Koc
a8ae1bff7f
fix(ios): preserve localized status semantics
2026-07-12 18:33:47 +02:00
Vincent Koc
99c1fedf27
fix(watchos): localize chat status on watch
2026-07-12 18:33:47 +02:00
Vincent Koc
8f14bd29e3
build(ios): generate shipped localization catalogs
2026-07-12 18:33:47 +02:00
Vincent Koc
459f11e902
fix(ios): guard localized speech status restart
2026-07-12 18:33:47 +02:00
Vincent Koc
826b4fac1f
fix(ios): keep localized voice status state-safe
2026-07-12 18:33:47 +02:00
Vincent Koc
ee3104340d
fix(ios): localize design and chat surfaces
2026-07-12 18:33:47 +02:00
Vincent Koc
6d4afffec3
fix(ios): localize setup and status surfaces
2026-07-12 18:33:47 +02:00
Peter Steinberger
251f54baec
fix(apps): remove dead native code
2026-07-12 02:41:17 -07:00
Peter Steinberger
da4a480089
chore(apps): remove more dead code
2026-07-12 00:58:32 -07:00
Peter Steinberger
bf13c3bb1b
chore(apps): remove dead native code
2026-07-11 23:51:21 -07:00
Peter Steinberger
6921fb4ce7
refactor(ios): trim approval test fixtures ( #105052 )
2026-07-12 07:38:45 +01:00