Commit Graph

185 Commits

Author SHA1 Message Date
Peter Steinberger
38ba295496 feat(chat): Swift chat parity (abort/sessions/stream) 2025-12-17 20:51:27 +01:00
Peter Steinberger
8d42bd7147 Discovery: wide-area bridge DNS-SD
# Conflicts:
#	apps/ios/Sources/Bridge/BridgeDiscoveryModel.swift
#	src/cli/dns-cli.ts
2025-12-17 20:31:02 +01:00
Peter Steinberger
f221f577ff iOS: satisfy SwiftFormat in bridge discovery 2025-12-17 18:01:01 +01:00
Peter Steinberger
a9de193625 Nodes: auto-discover clawdis.internal 2025-12-17 17:01:30 +01:00
Peter Steinberger
8a1710abf9 iOS: allow unicast DNS-SD discovery domain 2025-12-17 14:14:17 +01:00
Peter Steinberger
99e2d82751 test(ios): bump app coverage 2025-12-14 06:09:28 +00:00
Peter Steinberger
1384fbed97 test(ios): cover RootCanvas bridge states 2025-12-14 05:51:48 +00:00
Peter Steinberger
e3e474b724 test(ios): exercise ScreenController eval 2025-12-14 05:51:12 +00:00
Peter Steinberger
668514d29b test(ios): cover ScreenController webview setup 2025-12-14 05:42:39 +00:00
Peter Steinberger
0c5b7995a2 Merge remote-tracking branch 'origin/main' 2025-12-14 05:31:06 +00:00
Peter Steinberger
504990193b fix(camera): harden capture pipeline 2025-12-14 05:30:34 +00:00
Peter Steinberger
c80fbb3f71 fix(ios): update observation env in smoke tests 2025-12-14 05:27:19 +00:00
Peter Steinberger
96293461b6 style(ios): swiftformat 2025-12-14 05:17:59 +00:00
Peter Steinberger
86fac4bb86 ui(ios): animate idle background 2025-12-14 05:17:59 +00:00
Peter Steinberger
286c1865c0 fix(ios): use Observation environment in settings 2025-12-14 05:17:59 +00:00
Peter Steinberger
e941333d8c iOS: Fix canvas touch events and auto-hide status bubble
- Disable scroll on WKWebView to allow touch events to reach canvas
- Add WKNavigationDelegate to intercept clawdis:// deep links from canvas
- Wire up onDeepLink callback to handle taps on canvas buttons
- Auto-hide status bubble after 3 seconds
2025-12-14 05:14:26 +00:00
Peter Steinberger
2c5a612329 refactor(observation): migrate SwiftUI state 2025-12-14 05:06:34 +00:00
Peter Steinberger
1d16c110c1 feat(ios): sync wake words via gateway 2025-12-14 05:06:27 +00:00
Peter Steinberger
9374c0b786 style(ios): swiftformat 2025-12-14 04:47:15 +00:00
Peter Steinberger
a09fd319ef feat(ios): add discovery debug logs 2025-12-14 04:36:00 +00:00
Peter Steinberger
84d466ed1a fix(camera): retain capture delegates 2025-12-14 04:31:04 +00:00
Peter Steinberger
58b00c67c2 style(swift): fix lint and formatting warnings 2025-12-14 03:49:34 +00:00
Peter Steinberger
dd623e4607 test(ios): cover bridge client + more views 2025-12-14 03:39:33 +00:00
Peter Steinberger
c8051f43a5 test(ios): add smoke coverage tests 2025-12-14 03:29:08 +00:00
Peter Steinberger
610692f072 feat(ios): add always-on status overlay 2025-12-14 03:00:55 +00:00
Peter Steinberger
0b912bb312 fix(ios): satisfy Sendable in bridge timeout 2025-12-14 03:00:55 +00:00
Peter Steinberger
4724df9a07 test(ios): cover settings host/port parsing 2025-12-14 02:47:07 +00:00
Peter Steinberger
733e7fb12d test(ios): cover voice trigger + camera clamps 2025-12-14 02:47:06 +00:00
Peter Steinberger
c05ba68b4d fix(ios): timeout bridge connect 2025-12-14 02:41:51 +00:00
Peter Steinberger
47cdc7a4ec test(ios): add bridge session + keychain suites 2025-12-14 02:37:47 +00:00
Peter Steinberger
030282ab30 Merge remote-tracking branch 'origin/main' 2025-12-14 02:37:13 +00:00
Peter Steinberger
7200fb7bea fix(ios): make fastlane beta lane work 2025-12-14 02:35:59 +00:00
Peter Steinberger
e4b9362b4d fix(ios): make fastlane beta lane work 2025-12-14 02:35:35 +00:00
Peter Steinberger
02f5356dfd fix(camera): modernize mp4 export 2025-12-14 02:34:22 +00:00
Peter Steinberger
96d152d95a chore(fastlane): support p8 key path 2025-12-14 02:20:25 +00:00
Peter Steinberger
344e496286 chore(fastlane): support p8 key path 2025-12-14 02:19:51 +00:00
Peter Steinberger
7c4290ea39 fix(ios): make connection badge visible 2025-12-14 02:19:20 +00:00
Peter Steinberger
480c7b1033 Merge remote-tracking branch 'origin/main' into tmp/ios-statusicon 2025-12-14 02:18:09 +00:00
Peter Steinberger
6415fa0c52 fix(ios): show connection status badge 2025-12-14 02:17:54 +00:00
Peter Steinberger
2ae6b66958 test(ios): share scheme and add deep link tests 2025-12-14 02:17:44 +00:00
Peter Steinberger
388aa6c234 feat(ios): add fastlane setup 2025-12-14 02:10:31 +00:00
Peter Steinberger
4ce9048b98 test(ios): add unit test target 2025-12-14 02:05:50 +00:00
Peter Steinberger
6cd9e85f6a fix(ios): set CFBundleIconName 2025-12-14 02:05:44 +00:00
Peter Steinberger
4d2dce54d1 feat(camera): share jpeg transcoder + default maxWidth 2025-12-14 02:00:48 +00:00
Peter Steinberger
7cc619559b fix(ios): remove white border from app icon 2025-12-14 01:58:35 +00:00
Peter Steinberger
7e31cc4ccd feat(ios): unify manual bridge config and auto-reconnect 2025-12-14 01:55:40 +00:00
Peter Steinberger
0365f86288 fix(ios): ensure app icon asset catalog 2025-12-14 01:50:51 +00:00
Peter Steinberger
c12bbe6750 fix(ios): use mac icon + avoid voice wake crash 2025-12-14 01:09:40 +00:00
Peter Steinberger
ce32693b3f feat(camera): add snap/clip capture 2025-12-14 00:48:58 +00:00
Peter Steinberger
74d638bb88 feat(ios): reconnect to last discovered gateway 2025-12-14 00:48:16 +00:00
Peter Steinberger
6a31b1f9fd feat(ios): pulse settings indicator 2025-12-14 00:48:09 +00:00
Peter Steinberger
6a1f114528 feat(ios): reconnect to last bridge 2025-12-14 00:27:26 +00:00
Peter Steinberger
d9df608389 feat(chat): share SwiftUI chat across macOS+iOS 2025-12-14 00:17:07 +00:00
Peter Steinberger
c5a310320e iOS: configurable voice wake words 2025-12-13 23:49:22 +00:00
Peter Steinberger
6185a87271 iOS: copy bridge URL/host/port 2025-12-13 23:40:12 +00:00
Peter Steinberger
673204bfea iOS: show local IP in settings 2025-12-13 23:37:02 +00:00
Peter Steinberger
18494bfdd7 iOS: copy + clean bridge address 2025-12-13 23:32:57 +00:00
Peter Steinberger
56bd480f48 iOS: disable VoiceWake on Simulator 2025-12-13 20:52:31 +00:00
Peter Steinberger
767ac3c293 chore(swift): run swiftformat and clear swiftlint 2025-12-13 19:53:17 +00:00
Peter Steinberger
f0077c1429 refactor: apply stashed bridge + CLI changes 2025-12-13 19:30:46 +00:00
Peter Steinberger
65190d8a4a fix(ios): avoid actor-isolated access from audio tap 2025-12-13 19:14:36 +00:00
Peter Steinberger
d552ce2584 fix(bridge): prefer bonjour TXT displayName 2025-12-13 18:31:06 +00:00
Peter Steinberger
55f65cd643 fix(ios): improve bridge discovery and pairing UX 2025-12-13 17:58:03 +00:00
Peter Steinberger
c03b2efe3c feat(browser): add clawdis-mac browser controls 2025-12-13 17:05:58 +00:00
Peter Steinberger
df06a88394 chore(ios): rename app to Clawdis 2025-12-13 13:11:31 +00:00
Peter Steinberger
4777ad18ad fix(ios): stabilize voice wake + bridge UI 2025-12-13 12:29:39 +00:00
Peter Steinberger
253ea99d11 chore: share bonjour escapes + refresh webchat bundle 2025-12-13 10:59:48 +00:00
Peter Steinberger
2f1209db1b feat(discovery): bonjour beacons + bridge presence 2025-12-13 04:28:43 +00:00
Peter Steinberger
214980a55e fix(ios): prettify bonjour endpoint labels 2025-12-13 02:48:06 +00:00
Peter Steinberger
4549524097 ui(ios): glassy settings button 2025-12-13 02:19:34 +00:00
Peter Steinberger
64850f1d17 fix(ios): make canvas full-bleed 2025-12-13 02:15:03 +00:00
Peter Steinberger
fad0207cdf ui(ios): clean up connected bridge list 2025-12-13 02:02:38 +00:00
Peter Steinberger
a4d6f2f180 feat(bridge): show node ip in pairing 2025-12-13 01:57:40 +00:00
Peter Steinberger
47b47e763d feat(ios): add close button and ready canvas 2025-12-13 01:49:04 +00:00
Peter Steinberger
fb0fe315e6 refactor(swift): rename ClawdisNodeKit to ClawdisKit 2025-12-13 01:33:30 +00:00
Peter Steinberger
11d665d680 feat(deeplink): forward agent links via bridge 2025-12-13 01:19:36 +00:00
Peter Steinberger
475bdc0445 refactor(ios): minimal full-screen canvas 2025-12-13 00:50:20 +00:00
Peter Steinberger
fd227c0be7 refactor(ios): remove manual URL controls 2025-12-13 00:31:52 +00:00
Peter Steinberger
4d0e368ac4 fix(ios): avoid MainActor isolation in audio tap 2025-12-13 00:27:15 +00:00
Peter Steinberger
69ea20031e fix(ios): avoid actor isolation in audio tap 2025-12-13 00:27:15 +00:00
Peter Steinberger
4e3eaf901f fix(node): prevent iOS VoiceWake crash 2025-12-12 23:07:30 +00:00
Peter Steinberger
78e30f60a1 fix(bridge): use default Bonjour domain 2025-12-12 21:59:04 +00:00
Peter Steinberger
5bee0121a5 fix(ios): harden voice wake callbacks 2025-12-12 21:59:04 +00:00
Peter Steinberger
077eac5e02 feat(ios): add settings UI 2025-12-12 21:19:39 +00:00
Peter Steinberger
c5f4196104 feat(ios): add ClawdisNode app scaffold 2025-12-12 21:19:39 +00:00