NianJiu
067edbcb2d
fix(ios): make Talk audio lifecycle-safe ( #103072 )
...
* fix(ios): cancel queued push-to-talk invokes
* fix(ios): make push-to-talk cancellation lifecycle-safe
* style(ios): use switch expression for PTT result
* fix(ios): bind audio capture to lifecycle owners
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* style(ios): format rebased lifecycle changes
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(ios): preserve routing hydration across reconnects
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(ios): cancel routing hydration on target switch
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* chore(ios): refresh native i18n inventory
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(i18n): preserve native localization IDs
* chore: leave changelog to release automation
* refactor(apple): split lifecycle and gateway helpers
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(ios): make lifecycle parsing nonisolated
* fix(ios): consume canonical Talk events
---------
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-10 15:03:40 +01:00
Peter Steinberger
36b733bf5c
feat(ios): pair multiple gateways and switch between them without re-pairing ( #100948 )
...
* feat(ios): multi-gateway registry, per-gateway credentials, and switching
* fix(ios): harden multi-gateway state isolation
2026-07-06 20:29:02 +01:00
Peter Steinberger
06789ca4c2
fix(ios): keep offline chat sends on their original route ( #100942 )
2026-07-06 17:53:05 +01:00
Peter Steinberger
5d8293c1fe
feat(ios): read-only offline cache for chat sessions and transcripts ( #100219 )
...
* feat(ios): read-only offline cache for chat sessions and transcripts
Cache-first cold open for the iOS chat tab: the last known transcript and
session list render immediately from a local SQLite cache, then live gateway
history replaces them wholesale through the existing reconciliation path.
When the gateway is unreachable, recent sessions and transcripts stay
browsable read-only; sending remains gated by the existing connection state.
- New OpenClawChatTranscriptCache protocol seam plus SQLite-backed store in
OpenClawChatUI (raw SQLite3, no new dependencies), scoped per gateway
stableID so transcripts never leak across paired gateways.
- Bounds: 50 sessions, 50 transcripts, 200 messages per session; text rows
only (attachment/binary payloads and tool arguments are stripped).
- Disposable cache: schema versioned via user_version; any open/schema/decode
mismatch drops and rebuilds silently. File protection
completeUntilFirstUserAuthentication on iOS.
- View model pre-paints from cache only until a live response applies
(hasAppliedLiveHistory/hasAppliedLiveSessions guards); write-through is
chained and off the render path.
- iOS wiring keys the chat view model identity on transport mode plus cache
gateway ID so switching paired gateways rebuilds the view model.
Part of #100194
* fix(ios): harden offline transcript cache
* fix(ios): expose offline cached sessions
* fix(ios): isolate transcript caches by gateway
* chore(i18n): sync native inventory
* fix(ios): allow cache extension to replace messages
2026-07-06 01:02:15 +01:00
PollyBot13
a320f775f0
fix(ios): defer QR pairing after scanner dismissal ( #99572 )
...
* fix(ios): defer QR pairing after scanner dismissal
* fix(ios): process QR pairing after scanner dismissal
* fix(ios): harden QR scanner handoff
* fix(ios): give QR scanner dismissal more time
* fix(ios): keep onboarding open for QR trust prompt
* fix(ios): keep QR trust prompt owned by onboarding
* fix(ios): recover operator pairing after QR bootstrap
* fix(ios): cancel stale QR scanner handoffs
Co-authored-by: PollyBot13 <pollybot13@gmail.com >
* fix(ios): defer QR setup until onboarding closes
* fix(ios): keep QR setup links with visible settings
* fix(ios): consume setup links during onboarding
* fix(ios): handle setup links during onboarding launch
* fix(ios): route setup links through active onboarding
* fix(ios): harden QR gateway handoff
* fix(ios): cancel superseded gateway attempts
* fix(ios): serialize scanner result delivery
* fix(ios): prevent stale gateway reconnects
* fix(ios): serialize gateway target handoff
* fix(ios): disable stale gateway relaunch route
* fix(ios): await staged bootstrap reset
* test(ios): bound gateway reset handoff
* fix(ios): preserve explicit gateway handoff
* fix(ios): harden gateway lifecycle ownership
* chore(ios): sync native i18n inventory
* test(ios): align gateway ownership assertions
* refactor(ios): remove superseded gateway helpers
* fix(ios): keep gateway auth route scoped
* fix(ios): restore gateway target review state
* fix(protocol): refresh Swift plugin approval model
* test(ios): isolate state directory overrides
* fix(ios): preserve watch alerts across gateway switches
* fix(ios): bind deferred work to gateway ownership
* docs(changelog): credit iOS gateway handoff fix
* chore(i18n): sync native app inventory
* test(ios): remove unused Watch approval hooks
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-05 12:31:53 -07:00
joshavant
1ffda5d3ca
fix: migrate ios identifiers to openclawfoundation
2026-06-15 19:27:55 +02:00
Colin Johnson
e58310b000
fix(ios): force stale foreground gateway reconnects ( #92552 )
2026-06-13 20:33:39 +02:00
joshavant
1746319db5
fix ios operator scope upgrade state
2026-06-06 04:41:32 -05:00
joshavant
19e827c969
fix ios operator admin scope requests
2026-06-06 04:41:32 -05:00
joshavant
81c8f525eb
fix ios gateway forced reconnect
2026-06-04 10:15:32 -07:00
Colin Johnson
f6e51ff99a
feat(ios): refresh pro UI and gateway flows ( #87367 )
...
Summary:
- Replace the legacy iOS shell with Pro Command, Chat, Agents, and Settings tabs.
- Wire iOS chat/session/settings/diagnostics and realtime Talk flows through gateway-backed APIs.
- Add gateway/session and shared chat coverage for the new iOS flow.
Verification:
- git diff --check
- node scripts/run-vitest.mjs src/gateway/server.sessions.create.test.ts src/gateway/talk-realtime-relay.test.ts
- swift test --filter ChatViewModelTests (apps/shared/OpenClawKit)
- xcodebuild build for Nimrod's iPhone succeeded; install succeeded; launch was blocked because the phone was locked
Known follow-up:
- Preserve traceLevel in sessions.create parent runtime inheritance and keep the changelog credit in the follow-up patch.
2026-05-28 17:23:26 +03:00
Nimrod Gutman
9ca52ce3d9
[codex] improve iOS realtime talk mode ( #86355 )
...
Merged via squash.
Prepared head SHA: 3f5aedb265
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com >
Reviewed-by: @ngutman
2026-05-25 13:27:37 +03:00
Peter Steinberger
466f718320
feat: wire talk handoff into native nodes
2026-05-06 02:39:15 +01:00
Nimrod Gutman
226ca1f324
fix(auth): address qr bootstrap review feedback
2026-04-04 15:57:38 +09:00
Nimrod Gutman
a9140abea6
fix(auth): hand off qr bootstrap to bounded device tokens
2026-04-04 15:57:38 +09:00
Mariano
ec0eb9f8c3
iOS Security Stack 1/5: Keychain Migrations + Tests ( #33029 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: da2f8f6141
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-03 16:15:20 +00:00
Peter Steinberger
500883775b
refactor(tests): dedupe ios defaults and setup-code helpers
2026-03-02 09:39:45 +00:00
Mariano
130e59a9c0
iOS: port onboarding + QR pairing flow stability ( #18162 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: a87eadea19
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-02-16 16:22:51 +00:00
Mariano
9a1e168685
iOS: port gateway connect/discovery stability + onboarding reset ( #18164 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 8165ec5bae
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-02-16 16:07:22 +00:00
Mariano Belinky
4ab814fd50
Revert "iOS: wire node services and tests"
...
This reverts commit 7b0a0f3dac .
2026-02-02 17:36:49 +00:00
Mariano Belinky
532b9653be
iOS: wire node commands and incremental TTS
2026-02-02 16:42:18 +00:00
Mariano Belinky
1a48bce294
iOS: add PTT once/cancel
2026-02-02 16:42:18 +00:00
Mariano Belinky
9f101d3a9a
iOS: add push-to-talk node commands
2026-02-02 16:42:18 +00:00
Mariano Belinky
a884955cd6
iOS: add write commands for contacts/calendar/reminders
2026-02-02 16:42:18 +00:00
Mariano Belinky
761188cd1d
iOS: fix node notify and identity
2026-02-02 16:42:18 +00:00
Mariano Belinky
7b0a0f3dac
iOS: wire node services and tests
2026-02-02 16:42:17 +00:00
Mariano Belinky
821ed35be1
Revert "iOS: align node permissions and notifications"
...
This reverts commit b17e6fdd07 .
2026-01-31 09:32:36 +01:00
Mariano Belinky
b17e6fdd07
iOS: align node permissions and notifications
2026-01-31 02:28:48 +01:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00
Peter Steinberger
795985d339
refactor: migrate iOS gateway to unified ws
2026-01-19 10:08:33 +00:00