Chris Herold
6e33f3f0f3
iOS: implement dual-connection gateway architecture with deadlock fix
...
Aligns the iOS app with the Clawnet refactor by implementing proper role
separation for gateway connections. Uses separate operator and node sessions
to match the gateway's authorization requirements.
Changes:
- New GatewayOperatorSession: Wraps GatewayChannelActor for operator-role
RPC requests (chat.*, health, sessions.list) without invoke handling
- Dual-connection architecture: Operator session for requests, node session
for node.event calls (e.g., chat.subscribe)
- Separate websocket sessions: Each connection gets its own URLSession to
prevent response cross-talk
- Updated chat transport: IOSGatewayChatTransport uses operator session for
requests, node session for subscriptions
ClawdbotKit (shared):
- Deadlock fix in GatewayChannel.swift: Moved connection finalization
(listen(), connected=true, isConnecting=false, waiter resumption) to occur
before calling pushHandler. This fixes a latent bug where requests made
from onConnected callbacks would deadlock. Does not affect macOS (its
callback doesn't make requests).
- Package.swift: Fixed argument order for Swift 6.2 compatibility
iOS chat is now working. This is the base PR to unlock further work on
the iOS app.
2026-01-27 14:46:27 -08:00
Shadow
f7a0b0934d
Branding: update bot.molt bundle IDs + launchd labels
2026-01-27 14:46:50 -06:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00
Peter Steinberger
72fea5e305
chore: bump version to 2026.1.26
2026-01-27 09:10:47 +00:00
Peter Steinberger
8f6542409a
chore: bump versions for 2026.1.25
2026-01-25 22:13:04 +00:00
Peter Steinberger
bcedeb4e1f
chore: bump 2026.1.24
2026-01-24 15:00:00 +00:00
Peter Steinberger
69f645c662
fix: auto-save voice wake words across apps
2026-01-23 23:59:08 +00:00
Peter Steinberger
4ee70be690
chore: bump version to 2026.1.23
2026-01-23 22:14:56 +00:00
Peter Steinberger
3ad0d2fe23
chore: bump version to 2026.1.21
2026-01-22 01:59:16 +00:00
Peter Steinberger
842be7b864
chore: bump version to 2026.1.20
2026-01-20 16:36:37 +00:00
Peter Steinberger
1f7cb4b853
fix: shorten bonjour gateway service type
2026-01-20 15:10:06 +00:00
Peter Steinberger
fa51294f65
fix: sync mobile gateway auth v3
2026-01-20 13:30:40 +00:00
Peter Steinberger
795985d339
refactor: migrate iOS gateway to unified ws
2026-01-19 10:08:33 +00:00
Peter Steinberger
1ab1e312b2
feat: add TLS for node bridge
2026-01-16 05:28:40 +00:00
Peter Steinberger
bf7e813573
chore: release 2026.1.11-4
2026-01-12 10:52:34 +00:00
Peter Steinberger
5a29ec78ca
chore: release 2026.1.11-3
2026-01-12 10:35:50 +00:00
Peter Steinberger
c1f8f1d9d0
chore: release 2026.1.11-2
2026-01-12 10:14:24 +00:00
Peter Steinberger
c13de0b41d
chore: release 2026.1.11-1
2026-01-12 09:46:34 +00:00
Peter Steinberger
6bd689a847
chore: release 2026.1.11
2026-01-12 09:27:43 +00:00
Peter Steinberger
f428ed9038
fix(ios): enable strict concurrency checks
2026-01-10 16:04:32 +00:00
Peter Steinberger
e0c310d056
chore: bump versions to 2026.1.9
2026-01-09 10:02:15 +01:00
Peter Steinberger
7d492cb0ab
chore: sync app versions
2026-01-08 05:21:20 +00:00
Peter Steinberger
1e1293cc0a
style: swiftformat sweep
2026-01-08 02:36:29 +00:00
Peter Steinberger
246adaa119
chore: rename project to clawdbot
2026-01-04 14:38:51 +00:00
Peter Steinberger
7165c8a7e5
refactor: rename bundle identifiers to com.clawdis
2026-01-03 12:26:22 +01:00
Peter Steinberger
73d595eecc
chore: sync local changes
2025-12-30 12:53:17 +01:00
Peter Steinberger
b0396e196f
fix: refresh bridge tokens and enrich node settings
2025-12-29 22:11:12 +01:00
Peter Steinberger
cf42fabfd8
test: add ios swift testing + android kotest
2025-12-29 21:10:44 +01:00
Peter Steinberger
ebfe55f909
fix: enable canvas webview scrolling on mobile nodes
2025-12-29 17:13:31 +01:00
Peter Steinberger
3774494f7e
test: add ios coverage tests
2025-12-24 20:00:51 +01:00
Peter Steinberger
01719b02e2
test: cover bridge settings discovery
2025-12-24 18:07:41 +01:00
Peter Steinberger
4ba86bbe00
test: cover bridge hello defaults
2025-12-24 18:07:38 +01:00
Peter Steinberger
ef35868bef
feat: share wake gate via SwabbleKit
2025-12-23 01:31:59 +01:00
Peter Steinberger
65329496a7
refactor: serve canvas host on gateway port
2025-12-20 17:13:36 +01:00
Peter Steinberger
8f0b5d2d97
iOS: fix camera clip clamp regression test
2025-12-19 00:53:06 +01:00
Peter Steinberger
0e3e4f269d
iOS: allow Tailnet/MagicDNS canvas actions
2025-12-19 00:52:52 +01:00
Peter Steinberger
9ace6af3df
iOS: allow A2UI actions from local canvas host
2025-12-18 23:31:49 +01:00
Peter Steinberger
982f85bf90
chore(naming): remove remaining iris references
2025-12-18 13:30:22 +01:00
Peter Steinberger
d182f7e4b2
chore(naming): remove Iris codename
2025-12-18 13:18:33 +01:00
Peter Steinberger
c61bd6c84d
A2UI: share web UI and action bridge
2025-12-18 11:38:32 +01:00
Peter Steinberger
6f58a9d643
iOS: support canvas.a2ui push/reset
2025-12-18 10:44:32 +01:00
Peter Steinberger
402b04a68c
ci: raise iOS coverage
2025-12-18 10:34:09 +01:00
Peter Steinberger
efed2ae30f
Nodes: advertise canvas invoke commands
2025-12-18 02:06:35 +00:00
Peter Steinberger
33bf5cf42a
iOS: centralize canvas commands and capabilities
2025-12-18 02:16:31 +01:00
Peter Steinberger
e82ee731bf
test(ios): bump app coverage
2025-12-14 06:09:28 +00:00
Peter Steinberger
5e09aae4ca
test(ios): cover RootCanvas bridge states
2025-12-14 05:51:48 +00:00
Peter Steinberger
740f7b0fb6
test(ios): exercise ScreenController eval
2025-12-14 05:51:12 +00:00
Peter Steinberger
7510a6f66a
test(ios): cover ScreenController webview setup
2025-12-14 05:42:39 +00:00
Peter Steinberger
1b83fc85cd
fix(ios): update observation env in smoke tests
2025-12-14 05:27:19 +00:00
Peter Steinberger
0cef22ef83
feat(ios): sync wake words via gateway
2025-12-14 05:06:27 +00:00