Peter Steinberger
1cc85703dc
feat(ui): add centered talk orb
2025-12-30 05:27:29 +01:00
Peter Steinberger
ada86eb1e8
fix(voice): sync talk mode chat events
2025-12-30 05:27:11 +01:00
Peter Steinberger
add1fbdb11
fix: avoid iOS talk mode audio tap crash
2025-12-30 04:52:57 +01:00
Peter Steinberger
093ba105cd
feat: add ui.seamColor accent
2025-12-30 04:14:36 +01:00
Peter Steinberger
8b5e7234cf
fix: tag A2UI platform and boost Android canvas
2025-12-30 03:49:24 +01:00
Peter Steinberger
53a648363c
feat: talk mode key distribution and tts polling
2025-12-30 01:57:58 +01:00
Peter Steinberger
a0c9e7dd8a
chore: sync pending changes
2025-12-30 00:59:30 +01:00
Peter Steinberger
d271fe67b7
feat: move talk mode to overlay button
2025-12-30 00:01:21 +01:00
Peter Steinberger
5dee007aec
fix: align ios lint and android build
2025-12-29 23:45:58 +01:00
Peter Steinberger
49073ea950
feat: extend status activity indicators
2025-12-29 23:42:22 +01:00
Peter Steinberger
8d2a27e83d
feat: add talk mode across nodes
2025-12-29 23:21:05 +01:00
Peter Steinberger
ae40eab072
fix: align camera payload caps
2025-12-29 23:20:55 +01:00
Peter Steinberger
919c4df0fe
fix: cap camera snap payload size
2025-12-29 23:12:20 +01:00
Peter Steinberger
6bf6097f50
feat: surface camera activity in status pill
2025-12-29 23:12:03 +01:00
Peter Steinberger
20f687fa8a
fix: refresh bridge tokens and enrich node settings
2025-12-29 22:11:12 +01:00
Peter Steinberger
a273dca171
test: add ios swift testing + android kotest
2025-12-29 21:10:44 +01:00
Peter Steinberger
24263f3cce
fix: mark screen recorder sendable
2025-12-29 20:28:06 +01:00
Peter Steinberger
d7a75e26ae
fix: avoid self capture in ReplayKit start
2025-12-29 20:26:49 +01:00
Peter Steinberger
b25a580d55
fix: align ReplayKit stopCapture call
2025-12-29 20:25:44 +01:00
Peter Steinberger
97364f9045
fix: isolate ReplayKit capture state
2025-12-29 20:24:34 +01:00
Peter Steinberger
69b5e768d9
fix: avoid screen recorder data races
2025-12-29 20:22:26 +01:00
Peter Steinberger
b4e7995def
fix: avoid main-actor stopCapture error
2025-12-29 20:20:14 +01:00
Peter Steinberger
ea56c558d7
fix: prevent iOS screen capture crash
2025-12-29 20:10:36 +01:00
Peter Steinberger
68b80f61f0
chore: set ios signing team for device builds
2025-12-29 17:38:21 +01:00
Peter Steinberger
dc70386428
fix: enable canvas webview scrolling on mobile nodes
2025-12-29 17:13:31 +01:00
Peter Steinberger
564bd85cac
fix(ios): accept truthy A2UI ready check
2025-12-26 21:17:37 +01:00
Peter Steinberger
cb49ca2e76
chore(ios): auto team id fallback
2025-12-26 18:19:48 +01:00
Peter Steinberger
a0a2ec51ee
chore(ios): add team id helper
2025-12-26 18:16:13 +01:00
Peter Steinberger
86fd2dd484
fix(ios): silence device build warnings
2025-12-26 18:09:44 +01:00
Peter Steinberger
e97bf09535
test: add ios coverage tests
2025-12-24 20:00:51 +01:00
Peter Steinberger
5c0a1cf778
test: add ios coverage hooks
2025-12-24 20:00:45 +01:00
Peter Steinberger
2cc531c55a
test: cover bridge settings discovery
2025-12-24 18:07:41 +01:00
Peter Steinberger
daf3665a10
test: cover bridge hello defaults
2025-12-24 18:07:38 +01:00
Peter Steinberger
96107ae85e
perf: gate idle pulse animations
2025-12-24 13:51:40 +01:00
Peter Steinberger
eaac00ebc3
feat: share wake gate via SwabbleKit
2025-12-23 01:31:59 +01:00
Peter Steinberger
ba54a4eced
feat(ios): toggle debug canvas status
2025-12-21 14:21:06 +01:00
Peter Steinberger
75c1b370da
fix: align canvas defaults and A2UI auto-nav
2025-12-21 12:32:36 +01:00
Peter Steinberger
0df20f4208
fix: clear canvas error banner on load
2025-12-21 03:21:48 +01:00
Peter Steinberger
727741e70d
fix: use A2UI message context
2025-12-21 01:48:21 +01:00
Peter Steinberger
7cdeed35ce
build: update iOS lint scripts
2025-12-21 01:48:21 +01:00
Peter Steinberger
7359c5ca13
fix: restore canvas action bridge
2025-12-21 01:07:35 +01:00
Peter Steinberger
172a59e03e
chore(ios): link AppIntents framework
2025-12-21 00:24:24 +01:00
Peter Steinberger
ec86e49a5b
refactor: serve canvas host on gateway port
2025-12-20 17:13:36 +01:00
Peter Steinberger
5163e83c74
fix: route voice wake to main
2025-12-20 15:33:28 +01:00
Peter Steinberger
ad3fef6b6b
refactor(canvas): host A2UI via gateway
2025-12-20 12:17:27 +00:00
Peter Steinberger
246ed17f08
style: polish logging and lint hints
2025-12-20 01:48:29 +01:00
Peter Steinberger
7c9005e3a4
fix: tighten iOS main-actor handling
2025-12-20 01:48:29 +01:00
Peter Steinberger
3d05589486
fix: harden device model decoding
2025-12-20 01:48:29 +01:00
Peter Steinberger
95369a949d
fix(ios): make parseA2UIActionBody nonisolated
2025-12-19 18:10:10 +01:00
Peter Steinberger
d8d189c5f2
fix(ios): refine canvas and screen handling
2025-12-19 17:47:04 +01:00
Peter Steinberger
be5ea7a288
refactor: replace canvas.show with canvas.present
2025-12-19 03:35:33 +01:00
Peter Steinberger
3f680103a6
feat: route mac control via nodes
2025-12-19 03:16:25 +01:00
Peter Steinberger
6ae65abf8a
feat: add node screen recording across apps
2025-12-19 02:57:00 +01:00
Peter Steinberger
cd8ffa8cf7
fix(canvas): load A2UI resources across platforms
2025-12-19 01:53:55 +00:00
Peter Steinberger
af143a6135
iOS: fix camera clip clamp regression test
2025-12-19 00:53:06 +01:00
Peter Steinberger
5879979f34
iOS: allow Tailnet/MagicDNS canvas actions
2025-12-19 00:52:52 +01:00
Peter Steinberger
e3ca38389a
iOS: allow A2UI actions from local canvas host
2025-12-18 23:31:49 +01:00
Peter Steinberger
8e6ae25313
iOS: allow HTTP loads in WKWebView
2025-12-18 19:59:43 +01:00
Peter Steinberger
f69d61a4a6
iOS: support jpeg canvas snapshots
2025-12-18 19:48:29 +01:00
Peter Steinberger
7d2ab6cbf7
feat(node): show camera capture HUD
2025-12-18 14:49:07 +01:00
Peter Steinberger
9d8ec2ddb4
fix(ios): restore ScreenController.mode
2025-12-18 13:56:40 +01:00
Peter Steinberger
5e2ab06325
chore(naming): remove remaining iris references
2025-12-18 13:30:22 +01:00
Peter Steinberger
8b3495bf0c
chore(naming): remove Iris codename
2025-12-18 13:18:33 +01:00
Peter Steinberger
2658900eca
feat(canvas): remove setMode; host A2UI in scaffold
2025-12-18 13:18:24 +01:00
Peter Steinberger
f56ee14e11
A2UI: share web UI and action bridge
2025-12-18 11:38:32 +01:00
Peter Steinberger
11f525cd96
iOS: support canvas.a2ui push/reset
2025-12-18 10:44:32 +01:00
Peter Steinberger
356474c8f7
ci: raise iOS coverage
2025-12-18 10:34:09 +01:00
Peter Steinberger
5608efc2f0
iOS: fix BridgeClient SwiftFormat indent
2025-12-18 08:40:59 +01:00
Peter Steinberger
66ff9d78bc
ui: improve idle background blend mode fallback
2025-12-18 08:32:06 +01:00
Peter Steinberger
bc5bf51bd8
Nodes: advertise canvas invoke commands
2025-12-18 02:06:35 +00:00
Peter Steinberger
3f3b59953a
fix(ui): harden idle background animation
2025-12-18 02:27:11 +01:00
Peter Steinberger
390613b46f
Nodes: handle canvas.* commands on iOS/Android
2025-12-18 01:20:20 +00:00
Peter Steinberger
ba44406989
iOS: centralize canvas commands and capabilities
2025-12-18 02:16:31 +01:00
Peter Steinberger
9bd9cc13ce
iOS: alias canvas.* invoke commands
2025-12-18 01:57:31 +01:00
Peter Steinberger
81ee4d7e04
gateway: persist and surface node capabilities
2025-12-18 01:36:38 +01:00
Peter Steinberger
b3292e3124
iOS: allow settings light mode
2025-12-18 01:29:45 +01:00
Peter Steinberger
155830f104
ui(nodes): unify idle background animation
2025-12-18 01:22:26 +01:00
Peter Steinberger
f61d88542a
iOS: reorder settings sections
2025-12-18 01:00:36 +01:00
Peter Steinberger
1d1d42f1da
style(ios): use Offline bridge status
2025-12-18 00:20:37 +01:00
Peter Steinberger
e9ea394f3e
nodes: better default display names
2025-12-17 23:15:15 +01:00
Peter Steinberger
a4656602db
style(swift): fix lint
2025-12-17 21:51:36 +01:00
Peter Steinberger
3725d08d00
Presence: add device identity fields
2025-12-17 21:51:36 +01:00
Peter Steinberger
dfcdc4a07a
Bridge: advertise node capabilities
2025-12-17 20:03:56 +00:00
Peter Steinberger
c6ce562072
Mobile: prevent sleep setting
2025-12-17 21:01:47 +01:00
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