Commit Graph

827 Commits

Author SHA1 Message Date
Lokimorty 4f933ccf7b fix(ios): gateway error shows twice on the Settings Gateway page (#98856)
* fix(ios): show gateway errors once as a swipeable animated toast

Gateway connection errors on the Settings > Gateway page appeared twice:
as the app-wide toast and again as an embedded banner section. Remove the
embedded banner (and its now-dead sheet/action helpers) so problems surface
only via the root toast, animate the toast in smoothly from the top, and
support swipe-up to dismiss with re-arm on new problems.

* fix(ios): re-surface gateway toast on repeated problem reports

A swiped-away toast stayed hidden when a retry failed with an identical
problem, because value equality alone produces no observable change. The
model now counts every problem report; a report while hidden re-shows the
toast, and a report while visible shakes it instead of stacking a new one.

* fix(ios): keep reset-onboarding action on the gateway toast and sync i18n inventory

The root toast is now the only gateway problem surface outside covers, so it
must keep the reset-onboarding primary action the removed settings banner had:
auth-token-mismatch problems now show Reset onboarding and run the full
GatewayOnboardingReset flow. Also refreshes the native i18n inventory for the
changed Swift strings.

* fix(ios): preserve gateway problem recovery state

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-02 04:50:12 -07:00
Sahil Satralkar 574604e3da fix: clean up iOS About page copy (#98985)
* fix: clean up iOS About page copy

* fix(ios): sync About copy inventory

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-02 04:09:29 -07:00
Lokimorty 9d3e263365 fix(ios): back from settings details returns to the originating screen (#98898)
* fix(ios): back from settings details returns to the originating screen

Detail views reachable from multiple places (gateway, voice, notifications
settings) previously opened by switching to the canonical Settings tab, so
Back landed on the Settings root instead of the screen the user came from.
Phone tabs now push SettingsRoute details on their own NavigationStack via
PhoneTabSettingsHost, the Control hub pushes the gateway detail onto its own
stack, and the Approvals->Notifications shortcut appends instead of replacing
the path (phone and iPad). Global flows (deep links, onboarding, problem
banner, notification dialog) still jump to the canonical Settings tab.

* chore(i18n): sync native app i18n inventory line references

* test(ios): prove settings back navigation

* test(ios): prove settings back navigation

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-02 10:08:39 +01:00
OfflynAI 133ce01e4a feat(ios): PR1 brand color palette overhaul (#98930)
* feat(ios): align brand color tokens with design guide (PR1)

* fix(ios): preserve brand contrast

* fix(ios): cover tinted palette surfaces

* chore(ios): sync native i18n inventory

* chore(ios): sync native i18n inventory

* chore(ios): sync native i18n inventory

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-02 09:12:19 +01:00
Peter Steinberger c4102f5d67 feat(ios): refine the chat experience (#98953)
* feat(ios): refine the chat experience

* feat(ios): refine the chat experience
2026-07-02 08:40:53 +01:00
joshavant 8e95e56e2d chore(ios): generate release artifacts locally 2026-07-01 22:05:26 -05:00
Josh Avant 0cdce79221 docs: update mobile app release messaging (#98843) 2026-07-01 21:11:56 -05:00
Peter Steinberger 313560d5b9 feat(ios): modernize navigation and settings (#98811)
* feat(ios): modernize navigation and settings

* fix(ios): remove obsolete settings helpers

* test(ios): update i18n collector fixture

* test(ios): update i18n collector fixture

* test(ios): update i18n collector fixture
2026-07-02 02:43:49 +01:00
joshavant 080481fec9 Require explicit iOS release versions 2026-07-01 20:24:38 -05:00
joshavant 6ad2626cfd fix(ios): generate light app store screenshots only 2026-07-01 19:16:23 -05:00
Peter Steinberger 3e50f41dd6 improve(ios): simplify Talk controls and composer alignment (#98736)
* refactor(ios): streamline talk and composer controls

* test(ios): restore Talk control state

* chore(ios): refresh native i18n inventory
2026-07-02 00:48:37 +01:00
joshavant 3832b2be5f Document iOS release failure stop rule 2026-07-01 18:04:50 -05:00
joshavant 77f632e7db Add iOS release agent guardrails 2026-07-01 18:04:50 -05:00
Peter Steinberger 8502ef6c59 feat(ios): modernize the app with iOS 26 Liquid Glass (#98452)
* feat(ios): adopt iOS 26 Liquid Glass design

* refactor(ios): refine Liquid Glass hierarchy

* docs(ios): require Xcode 26

* refactor(ios): remove obsolete design helpers

* fix(ios): keep agent tab navigation hidden

* fix(ios): compact chat composer at rest

* refactor(ios): reduce interface density

* fix(ios): keep native string inventory current
2026-07-01 19:06:04 +01:00
PollyBot13 ffd7d68687 fix: route iOS Talk fallback settings correctly (#98602) 2026-07-01 11:26:34 -04:00
Vincent Koc 5e4d71686a fix(apple): preserve localized static labels 2026-07-01 05:19:12 -07:00
Vincent Koc fe18aa38db feat(apple): complete core locale coverage 2026-07-01 05:19:12 -07:00
Vincent Koc 301d0d5551 style(apple): format localized share extension 2026-07-01 05:19:12 -07:00
Vincent Koc 9cfbd1b65c feat(apple): localize native app surfaces 2026-07-01 05:19:12 -07:00
Vincent Koc 02046b665f feat(apple): add Russian and Hindi app catalogs 2026-07-01 05:19:12 -07:00
Peter Steinberger b2355ef6a2 fix(ios): improve light and dark appearance contrast (#98443) 2026-07-01 07:31:42 +01:00
Josh Avant 0c7bac34ae fix(ios): classify TLS fingerprint timeouts (#98429)
* fix(ios): classify gateway TLS fingerprint timeouts

* Add discovered TLS trust regression test
2026-07-01 01:06:13 -05:00
Peter Steinberger c230ab3c92 improve(ios): clarify Control and Talk visual hierarchy (#98423)
* feat(ios): refine control and talk visual hierarchy

* feat(ios): refine control and talk visual hierarchy

* feat(ios): refine control and talk visual hierarchy
2026-07-01 06:19:58 +01:00
Josh Avant ad59492d3c fix: show actionable mobile protocol mismatch recovery (#98385)
* Fix mobile protocol mismatch recovery

* Test iOS protocol mismatch connect failures

* Fix iOS protocol mismatch problem actions
2026-07-01 00:11:03 -05:00
Peter Steinberger d0f655811c fix(ios): use Gateway speech providers in Talk (#98376)
* fix(ios): route gateway speech through talk.speak

* fix(ios): preserve realtime fallback state

* fix(ios): satisfy audio delegate concurrency

* fix(ios): ignore stale audio callbacks

* fix(ios): ignore stale audio callbacks

---------

Co-authored-by: Peter Steinberger <steipete@golden-gate.local>
2026-07-01 05:33:51 +01:00
Brian Snyder 63dc9201c6 fix(ios): open app on chat by default (#98353)
Co-authored-by: BSnizND <199837910+BsnizND@users.noreply.github.com>
2026-06-30 23:54:01 -04:00
Daniel Nylander 339d19b089 Add Swedish mobile app localization (#98043)
* feat: add Swedish mobile app localization

* fix: remove dead Swedish watch extension localization

* docs: document iOS metadata locale directories

---------

Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
2026-06-30 18:15:04 -07:00
OfflynAI 44b4a0ac05 fix(ios): advance onboarding step after QR scan (#98302)
handleScannedLink does not set self.step = .connect after scanning a QR
code from the welcome step. The scanner sheet dismisses and the UI
returns to the welcome screen instead of showing connection progress.

The sibling handleScannedSetupCode path correctly advances the step;
this aligns the QR scan path.

Fixes #98297

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 19:38:58 -05:00
Colin Johnson 54b09580f6 fix(ios): reset sidebar navigation stacks (#94991) 2026-06-29 20:56:22 -04:00
joshavant ff35f3bb2c Track mobile release SHAs with refs 2026-06-26 18:54:45 -05:00
joshavant d7c69da6a6 docs(ios): document live activity review flow 2026-06-24 11:00:04 -05:00
joshavant e77994ed5a fix(ios): clarify camera purpose string 2026-06-24 11:00:04 -05:00
Vincent Koc 0671c08900 chore(release): close out 2026.6.10 on main (#96271)
* chore(release): close out 2026.6.10 on main

* chore(release): align native app metadata for 2026.6.10

* chore(release): sync Android 2026.6.10 notes

* docs(changelog): preserve 2026.6.9 history

* docs(changelog): preserve 2026.6.9 history
2026-06-24 11:51:14 +08:00
joshavant 8739f1e17e fix(ios): wait for screenshot checksum propagation 2026-06-23 21:32:26 -05:00
joshavant 3dea94f4cb fix(ios): make screenshot upload deterministic 2026-06-23 20:48:45 -05:00
joshavant 5e98cb6ace docs(ios): update Talk app store metadata 2026-06-23 19:21:05 -05:00
joshavant b93eeceac0 build(ios): attach app review notes PDF 2026-06-23 19:18:51 -05:00
joshavant 4f5e25aa54 docs(ios): add app review notes 2026-06-23 18:22:07 -05:00
joshavant fcedd37067 test(ios): guard local network permission trigger points 2026-06-23 14:48:33 -05:00
joshavant 8bddafba65 fix(ios): defer local network discovery until onboarding 2026-06-23 14:48:33 -05:00
joshavant 19ddaa28b9 fix: harden ios screenshot uploads 2026-06-23 02:14:15 -05:00
joshavant 8efed50c4e fix: gate ios push enrollment on notification consent 2026-06-23 01:38:24 -05:00
joshavant eae53595b0 fix: unblock ios release upload metadata 2026-06-23 00:39:45 -05:00
joshavant 10d850b39c chore: make ios testflight upload path canonical 2026-06-23 00:01:20 -05:00
joshavant d4f666874f feat: harden ios app store push release mode 2026-06-23 00:01:20 -05:00
joshavant f2b8668a54 feat: add ios push relay diagnostics 2026-06-22 22:17:04 -05:00
joshavant 760f86453e feat: wire ios push sandbox tooling 2026-06-22 21:07:57 -04:00
joshavant e08ef9f893 feat: add ios push relay sandbox profiles 2026-06-22 21:07:57 -04:00
Sash Zats 5d9daea2b0 fix(ios): centralize app accent colors (#94627)
Move iOS accent and status colors through design tokens so raw SwiftUI color literals are blocked outside token definitions.

Set the app-wide tint in SwiftUI and UIKit from code, without relying on Assets.xcassets AccentColor.
2026-06-22 20:20:37 +00:00
David 3ff0c29f9d fix: handle terminal chat send acknowledgements (#91049)
* test: cover terminal chat send acknowledgements

* test: cover Swift terminal chat send acknowledgement

* fix: handle terminal chat send acknowledgements

* fix: align terminal ack web lifecycle options

* test: fix Android terminal ack style

* fix: tidy Android terminal ack helpers

* fix: clear mic pending run after terminal ack

* fix: handle terminal talk mode chat send acks

* fix: handle terminal tui chat send acks

* fix: handle terminal acp chat send acks

* test: add Swift chat message text helper

* test: cover steer terminal chat send acknowledgements

* fix: handle terminal steer chat send acks

* test: cover terminal realtime consult send acks

* fix: reject terminal realtime consult send acks

* test: cover Swift terminal ok chat send ack

* fix: clear Swift pending run on terminal ok ack

* test: cover terminal ack helper callers

* fix: preserve terminal ack helper semantics

* fix: narrow terminal ack type guard

* test: cover mic terminal ack statuses

* fix: preserve mic terminal ack status

* fix: keep mic ack contract internal

* test: fix mic ack import order

* test: cover acp terminal ok ack

* test: narrow acp ok ack assertion

* test: cover redirect terminal acknowledgements

* fix: handle redirect terminal acknowledgements

* fix: settle terminal ack reconnect prompts

* fix: surface Android terminal ack timeouts

* fix(tui): handle detached terminal chat acknowledgements

* fix(tui): report terminal timeout send failures

* fix: satisfy iOS talk-mode SwiftFormat

* fix: keep iOS talk logs compile-safe
2026-06-22 17:27:54 +00:00