Commit Graph

22 Commits

Author SHA1 Message Date
Marvin Kaunda
5370f64cf0 improve: native iOS look with stock SwiftUI navigation, forms, chat, and talk visualizer (#99231)
* improve(ios): adopt native SwiftUI chrome across the app

* fix(ios): keep phone chat on the native navigation bar

* fix(ios): render licenses screen as native settings rows

* fix(ios): complete native interface polish

* fix(ios): preserve branded native interface

* test(ios): align gateway badge source guard

* fix(ios): center onboarding on iPad

* fix(ios): remove dead reskin symbols

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-03 18:17:09 -07:00
joshavant
b4c5cd511a fix(ios): apply typography to native chrome 2026-07-03 18:45:45 -05:00
Peter Steinberger
32762dad53 fix(ios): return chat to originating control detail (#99245)
* fix(ios): return chat to originating control detail

Co-authored-by: Colin <colin@solvely.net>

* fix(ios): reset retained state before control chat handoff

Co-authored-by: Colin <colin@solvely.net>

---------

Co-authored-by: Colin <colin@solvely.net>
2026-07-02 15:20:51 -07:00
Sahil Satralkar
09de1642f3 fix: Update Dark/Light mode UI control appearance (#99052)
* fix: keep iOS appearance row visible

* test(ios): verify appearance preference updates

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-02 14:53:24 -07:00
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
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
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
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
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
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
Colin Johnson
54b09580f6 fix(ios): reset sidebar navigation stacks (#94991) 2026-06-29 20:56:22 -04:00
joshavant
fcedd37067 test(ios): guard local network permission trigger points 2026-06-23 14:48:33 -05:00
joshavant
8efed50c4e fix: gate ios push enrollment on notification consent 2026-06-23 01:38:24 -05:00
joshavant
920bd04e19 fix(ios): make notification guidance suppression a button 2026-06-21 23:40:56 -04:00
joshavant
c3ab1feb61 test(ios): cover notification permission UX 2026-06-21 23:40:56 -04:00
Sash Zats
233b48daaa refactor: prune unused iOS code (#91996)
Prune unused iOS surfaces and regenerate the Xcode project. Add a scoped Periphery PR gate with hardened artifact handling and stale-status cleanup.

Co-authored-by: Sash Zats <sash@zats.io>
2026-06-15 02:07:15 -07:00
Colin Johnson
bf89552e67 Improve iPad and iPhone control surfaces (#91557)
* feat(ios): expand iPad layout support

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: improve iPad and iPhone control surfaces

* fix: preserve workboard dispatch compatibility

* fix: keep Talk reachable on iPad

* fix: add universal iPad app icons

* fix: address ready-review iOS feedback

* fix: avoid workboard board id shadowing

* fix ios sidebar separators

---------

Co-authored-by: Solvely-Colin <211764741+Solvely-Colin@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com>
2026-06-09 21:46:02 -05:00