Peter Steinberger
|
c94c513714
|
refactor(ios): centralize setup auth parsing
Centralizes iOS setup-code auth parsing so token/bootstrap/password trimming and the bootstrap-clears-stale-credentials rule live in one parsed value.
Verification:
- `git diff --check`
- `swiftformat --lint --config config/swiftformat --unexclude apps/ios/Sources apps/ios/Sources/Gateway/GatewayConnectionController.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/ios/Sources/Onboarding/OnboardingWizardView.swift apps/ios/Sources/Settings/SettingsTab.swift`
- `swiftlint lint --config apps/ios/.swiftlint.yml apps/ios/Sources/Gateway/GatewayConnectionController.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/ios/Sources/Onboarding/OnboardingWizardView.swift apps/ios/Sources/Settings/SettingsTab.swift`
- `AUTOREVIEW_AUTO_TESTS=0 .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- GitHub merge state clean for `fc35f31e95e73850a153149edaf471c10379dff2`
|
2026-05-22 17:54:53 +01:00 |
|
Peter Steinberger
|
d93c59732b
|
refactor(ios): consolidate manual auth override inputs
Consolidates repeated iOS manual-auth override assembly into `ManualAuthOverride.currentManualInput` and reuses the existing `normalized` constructor directly for setup-code pending auth state.
Verification:
- `git diff --check`
- `swiftformat --lint --config config/swiftformat --unexclude apps/ios/Sources apps/ios/Sources/Gateway/GatewayConnectionController.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/ios/Sources/Onboarding/OnboardingWizardView.swift apps/ios/Sources/Settings/SettingsTab.swift`
- `swiftlint lint --config apps/ios/.swiftlint.yml apps/ios/Sources/Gateway/GatewayConnectionController.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/ios/Sources/Onboarding/OnboardingWizardView.swift apps/ios/Sources/Settings/SettingsTab.swift`
- `AUTOREVIEW_AUTO_TESTS=0 .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- GitHub merge state clean for `cb6f3bcf8f121b570e22dcb8eed6dc9aaa89fc55`
|
2026-05-22 17:43:23 +01:00 |
|
Colin Johnson
|
e730e9bd0b
|
feat(ios): add realtime talk relay mode
Adds realtime Gateway Talk relay support for iOS, including OpenAI realtime provider selection and voice selection controls.
Maintainer fixups preserved provider auth fallback resolution, kept setup-code/manual auth through TLS trust prompts, recomputed pairing auth from current form fields, fixed the realtime voice label Swift compile issue, added provider auth regression coverage, and refreshed shrinkwrap metadata for the current CI merge base.
Verification:
- `fnm exec --using 24.15.0 pnpm deps:shrinkwrap:check`
- `git diff --check`
- `swiftformat --lint --config config/swiftformat --unexclude apps/ios/Sources apps/ios/Sources/Gateway/GatewayConnectionController.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/ios/Sources/Onboarding/OnboardingWizardView.swift apps/ios/Sources/Settings/SettingsTab.swift apps/ios/Sources/Voice/TalkModeGatewayConfig.swift`
- `swiftlint lint --config apps/ios/.swiftlint.yml apps/ios/Sources/Gateway/GatewayConnectionController.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/ios/Sources/Onboarding/OnboardingWizardView.swift apps/ios/Sources/Settings/SettingsTab.swift apps/ios/Sources/Voice/TalkModeGatewayConfig.swift`
- `AUTOREVIEW_AUTO_TESTS=0 .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- GitHub CI clean for `8a76c829611c0eb70d4c3b5328f1868aaf3516e1` (cancelled `auto-response` ignored)
Co-authored-by: Colin Johnson <colin@solvely.net>
|
2026-05-22 17:34:06 +01:00 |
|
Nimrod Gutman
|
00a0858fd9
|
fix(ios): recover rotated gateway certificates
## Summary
- allow iOS to trust system-valid rotated gateway certificates
- rebuild active gateway sessions after replacing the stored TLS pin
- expose certificate trust recovery from gateway problem banners
## Verification
- swift test --filter 'GatewayErrorsTests|GatewayNodeSessionTests/changedSessionBoxRebuildsExistingGatewayChannel'
- xcodebuild build -scheme OpenClaw -destination 'platform=iOS,id=00008140-000848A92EE3001C'
- installed and launched OpenClaw on attached iPhone with devicectl
- verified iOS gateway log connected to wss://gutsy-home.tail06a72.ts.net:443 after trust/pairing recovery
|
2026-05-10 21:10:35 +03:00 |
|
Val Alexander
|
36df0d93b9
|
fix: repair iOS LAN pairing
Fix iOS LAN/setup-code pairing policy for #47887.
- Allow explicit private LAN and .local plaintext ws:// setup/manual connects where policy allows it.
- Keep public hosts, .ts.net, and Tailscale CGNAT plaintext fail-closed.
- Prefer explicit passwords over stale bootstrap tokens in Swift and TypeScript gateway clients.
- Update setup-code/device-pair coverage, docs, and changelog with source credit for #65185.
Verification:
- pnpm install
- git diff --check origin/main..HEAD
- pnpm exec oxfmt --check --threads=1 src/gateway/client.ts src/gateway/client.test.ts src/pairing/setup-code.ts src/pairing/setup-code.test.ts extensions/device-pair/index.ts extensions/device-pair/index.test.ts
- pnpm format:docs:check
- pnpm test src/gateway/client.test.ts src/pairing/setup-code.test.ts extensions/device-pair/index.test.ts
- cd apps/shared/OpenClawKit && swift test --filter 'DeepLinksSecurityTests|GatewayNodeSessionTests'
- pnpm lint:swift passes with the existing TalkModeRuntime.swift type-body-length warning
Blocked locally:
- iOS app-target xcodebuild tests require unavailable watchOS 26.4 runtime here.
- Testbox check:changed previously failed because the image lacks swiftlint; local swiftlint passes.
|
2026-05-05 21:07:19 -05:00 |
|
Peter Steinberger
|
466f718320
|
feat: wire talk handoff into native nodes
|
2026-05-06 02:39:15 +01:00 |
|
Val Alexander
|
b2efd19648
|
fix(ios): harden gateway pairing setup
Harden iOS gateway setup-code pairing by rejecting non-loopback plaintext ws:// setup URLs before bootstrap token issuance, consolidating iOS setup parsing, and adding QR scan support from Settings.
Verification:
- pnpm test extensions/device-pair/index.test.ts
- swift test --package-path apps/shared/OpenClawKit --filter DeepLinksSecurityTests
- XcodeBuildMCP OpenClawLogicTests/DeepLinkParserTests
- targeted SwiftLint for touched iOS/OpenClawKit files
- pnpm exec oxfmt --check --threads=1 extensions/device-pair/index.ts extensions/device-pair/index.test.ts
- git diff --check origin/main...HEAD
- GitHub PR checks green on 58e5e60a5c
|
2026-05-04 02:11:47 -05:00 |
|
Peter Steinberger
|
b294f7c467
|
fix: harden ios app build hygiene
|
2026-04-28 01:42:10 +01:00 |
|
Peter Steinberger
|
73f4bfadc1
|
style: fix ios app lint warnings
|
2026-04-20 14:17:25 +01:00 |
|
Nimrod Gutman
|
6380c872bc
|
feat(ios): improve gateway connection error ux (#62650)
* feat(ios): improve gateway connection error ux
* fix(ios): address gateway problem review feedback
* feat(ios): improve gateway connection error ux (#62650) (thanks @ngutman)
|
2026-04-07 21:53:22 +03:00 |
|
Nimrod Gutman
|
28955a36e7
|
feat(ios): add exec approval notification flow (#60239)
* fix(auth): hand off qr bootstrap to bounded device tokens
* feat(ios): add exec approval notification flow
* fix(gateway): harden approval notification delivery
* docs(changelog): add ios exec approval entry (#60239) (thanks @ngutman)
|
2026-04-05 16:33:22 +03:00 |
|
Nimrod Gutman
|
69fe999373
|
fix(pairing): restore qr bootstrap onboarding handoff (#58382) (thanks @ngutman)
* fix(pairing): restore qr bootstrap onboarding handoff
* fix(pairing): tighten bootstrap handoff follow-ups
* fix(pairing): migrate legacy gateway device auth
* fix(pairing): narrow qr bootstrap handoff scope
* fix(pairing): clear ios tls trust on onboarding reset
* fix(pairing): restore qr bootstrap onboarding handoff (#58382) (thanks @ngutman)
|
2026-03-31 21:11:35 +03:00 |
|
Val Alexander
|
2fd372836e
|
iOS: improve QR pairing flow (#51359)
- improve QR pairing UX and bootstrap token handling
- preserve repeated optimistic user messages during refresh
- add regression coverage for refresh reconciliation
Thanks @ImLukeF
|
2026-03-21 01:10:29 -05:00 |
|
Peter Steinberger
|
bf89947a8e
|
fix: switch pairing setup codes to bootstrap tokens
|
2026-03-12 22:23:07 +00:00 |
|
Nimrod Gutman
|
43ab4f33ad
|
feat(ios): prepare app store connect release assets
|
2026-03-07 17:21:07 +02:00 |
|
Vincent Koc
|
42e3d8d693
|
Secrets: add inline allowlist review set (#38314)
* Secrets: add inline allowlist review set
* Secrets: narrow detect-secrets file exclusions
* Secrets: exclude Docker fingerprint false positive
* Secrets: allowlist test and docs false positives
* Secrets: refresh baseline after allowlist updates
* Secrets: fix gateway chat fixture pragma
* Secrets: format pre-commit config
* Android: keep talk mode fixture JSON valid
* Feishu: rely on client timeout injection
* Secrets: allowlist provider auth test fixtures
* Secrets: allowlist onboard search fixtures
* Secrets: allowlist onboard mode fixture
* Secrets: allowlist gateway auth mode fixture
* Secrets: allowlist APNS wake test key
* Secrets: allowlist gateway reload fixtures
* Secrets: allowlist moonshot video fixture
* Secrets: allowlist auto audio fixture
* Secrets: allowlist tiny audio fixture
* Secrets: allowlist embeddings fixtures
* Secrets: allowlist resolve fixtures
* Secrets: allowlist target registry pattern fixtures
* Secrets: allowlist gateway chat env fixture
* Secrets: refresh baseline after fixture allowlists
* Secrets: reapply gateway chat env allowlist
* Secrets: reapply gateway chat env allowlist
* Secrets: stabilize gateway chat env allowlist
* Secrets: allowlist runtime snapshot save fixture
* Secrets: allowlist oauth profile fixtures
* Secrets: allowlist compaction identifier fixture
* Secrets: allowlist model auth fixture
* Secrets: allowlist model status fixtures
* Secrets: allowlist custom onboarding fixture
* Secrets: allowlist mattermost token summary fixtures
* Secrets: allowlist gateway auth suite fixtures
* Secrets: allowlist channel summary fixture
* Secrets: allowlist provider usage auth fixtures
* Secrets: allowlist media proxy fixture
* Secrets: allowlist secrets audit fixtures
* Secrets: refresh baseline after final fixture allowlists
* Feishu: prefer explicit client timeout
* Feishu: test direct timeout precedence
|
2026-03-06 19:35:26 -05:00 |
|
Mariano
|
6df57d9633
|
iOS Security Stack 2/5: Concurrency Locks (#33241)
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: b99ad804fb
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:28:27 +00: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
|
cd011897d0
|
refactor(ios): dedupe status, gateway, and service flows
|
2026-03-02 11:32:20 +00:00 |
|
Peter Steinberger
|
c35368c6dd
|
fix(ios): eliminate Swift warnings and clean build logs
|
2026-02-26 22:42:23 +00:00 |
|
Peter Steinberger
|
52d933b3a9
|
refactor: replace bot.molt identifiers with ai.openclaw
|
2026-02-25 05:03:24 +00:00 |
|
Peter Steinberger
|
f4e6f87303
|
refactor(ios): drop legacy talk payload and keychain fallbacks
|
2026-02-24 22:39:37 +00:00 |
|
Nimrod Gutman
|
d58f71571a
|
feat(talk): add provider-agnostic config with legacy compatibility
|
2026-02-24 15:02:52 +00:00 |
|
DoncicX
|
32d7756d8c
|
iOS: extract device/platform info into DeviceInfoHelper, keep Settings platform string as iOS X.Y.Z
|
2026-02-24 13:56:43 +00:00 |
|
Peter Steinberger
|
ff4e6ca0d9
|
fix(ios): gate agent deep links with local confirmation
|
2026-02-24 02:51:58 +00:00 |
|
Nimrod Gutman
|
8a661e30c9
|
fix(ios): prefetch talk tts segments
|
2026-02-21 20:52:05 +02:00 |
|
Shadow
|
4ab946eebf
|
Discord VC: voice channels, transcription, and TTS (#18774)
|
2026-02-20 16:06:07 -06:00 |
|
Mariano
|
67edc7790f
|
iOS: gate capabilities by permissions and add settings controls (#22135)
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 92c2660d08
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-20 19:26:30 +00:00 |
|
Mariano
|
5828708343
|
iOS/Gateway: harden pairing resolution and settings-driven capability refresh (#22120)
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 55b8a93a99
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-20 18:57:04 +00:00 |
|
Mariano
|
8fa46d709a
|
fix(ios): force tls for non-loopback manual gateway hosts (#21969)
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 9fb39f566e
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-20 16:28:47 +00:00 |
|
Mariano
|
57083e4220
|
iOS: add Apple Watch companion message MVP (#20054)
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 720791ae6b
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-18 13:37:41 +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
|
2e7fac2231
|
iOS: port talk redaction, accessibility, and ATS hardening (#18163)
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 8a9a05f04e
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:00:08 +00:00 |
|
Peter Steinberger
|
3cd786cc2d
|
refactor(swift): share discovery status text
|
2026-02-15 20:40:47 +00:00 |
|
Peter Steinberger
|
778959b3dc
|
refactor(ios): dedupe gateway helpers
|
2026-02-15 20:38:26 +00:00 |
|
Peter Steinberger
|
054366dea4
|
fix(security): require explicit trust for first-time TLS pins
|
2026-02-14 17:55:20 +01:00 |
|
Peter Steinberger
|
d583782ee3
|
fix(security): harden discovery routing and TLS pins
|
2026-02-14 17:18:14 +01:00 |
|
Mariano Belinky
|
6aedc54bd7
|
iOS: alpha node app + setup-code onboarding (#11756)
|
2026-02-08 18:08:13 +01: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
|
6cd3bc3a46
|
iOS: improve gateway auto-connect and voice permissions
|
2026-02-02 16:42:18 +00:00 |
|
Mariano Belinky
|
ff6114599e
|
iOS: update onboarding and gateway UI
|
2026-02-02 16:42:18 +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
|
f72ac60b01
|
iOS: streamline notify timeouts
|
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
|
84e115834f
|
Gateway: fix node invoke receive loop
|
2026-02-02 16:42:17 +00:00 |
|
Mariano Belinky
|
7b0a0f3dac
|
iOS: wire node services and tests
|
2026-02-02 16:42:17 +00:00 |
|