Peter Steinberger
0fdc21cfb3
fix(android): use system DNS for wide-area discovery
2025-12-18 01:04:13 +01:00
Peter Steinberger
9b09d765b2
Android: reorder settings sections
2025-12-18 01:00:50 +01:00
Peter Steinberger
f61d88542a
iOS: reorder settings sections
2025-12-18 01:00:36 +01:00
Peter Steinberger
851220a148
fix(android): show idle background under WebView
2025-12-18 00:53:31 +01:00
Peter Steinberger
4b7e1f629b
macOS: unify device + OS chip
2025-12-18 00:43:58 +01:00
Peter Steinberger
afc1c34cee
style(android): improve idle background
2025-12-18 00:41:21 +01:00
Peter Steinberger
4b05aeeee2
style(android): use tonal surfaces for overlays
2025-12-18 00:34:11 +01:00
Peter Steinberger
18969e2379
macOS: remove Instances row duplication
2025-12-18 00:28:45 +01:00
Peter Steinberger
0b3e141c54
macOS: compact Instances row
2025-12-18 00:24:10 +01:00
Peter Steinberger
1d1d42f1da
style(ios): use Offline bridge status
2025-12-18 00:20:37 +01:00
Peter Steinberger
52c3a8d340
style(android): use Offline bridge status
2025-12-18 00:20:28 +01:00
Peter Steinberger
03ed0f3509
refactor(android): unify chat status label
2025-12-18 00:20:19 +01:00
Peter Steinberger
a9e17fe0ae
Android: enable immersive fullscreen
2025-12-18 00:07:58 +01:00
Peter Steinberger
d26e7919d5
Android: polish settings UI
2025-12-18 00:07:52 +01:00
Peter Steinberger
6dd59a6641
style(android): make chat more Material
2025-12-17 23:57:14 +01:00
Peter Steinberger
484ee2b38d
feat(android): chat parity + wide-area discovery
2025-12-17 23:49:29 +01:00
Peter Steinberger
fc6ea62736
macOS: remove stale WebChat exclude
2025-12-17 23:31:46 +01:00
Peter Steinberger
15d9e5d443
chore(webchat): remove legacy bundled web assets
2025-12-17 23:27:27 +01:00
Peter Steinberger
e9ea394f3e
nodes: better default display names
2025-12-17 23:15:15 +01:00
Peter Steinberger
75eeb3750e
refactor(webchat): SwiftUI-only WebChat UI
...
# Conflicts:
# apps/macos/Package.swift
2025-12-17 23:05:28 +01:00
Peter Steinberger
ac757375d9
ChatUI: swiftformat fixes
2025-12-17 23:01:31 +01:00
Peter Steinberger
d615cb33f3
ui(chat): reduce padding
2025-12-17 23:01:31 +01:00
Peter Steinberger
14562535cc
ui(chat): align status pill with send
2025-12-17 23:01:31 +01:00
Peter Steinberger
66e967450b
ui(chat): tighten padding + keep status in composer
2025-12-17 23:01:31 +01:00
Peter Steinberger
2ef77bf66b
ui(chat): move connection pill into composer
2025-12-17 23:01:30 +01:00
Peter Steinberger
670d8b7662
test(chat): harden abort/stream + hide session switching
2025-12-17 23:01:30 +01:00
Peter Steinberger
cbdd1ad654
macOS: load device model names from dataset
2025-12-17 22:55:50 +01:00
Peter Steinberger
e1b5e4fb85
fix(android): canvas idle background + tailscale DNS
2025-12-17 22:27:16 +01:00
Peter Steinberger
bbe686b1cf
macOS: show friendly device names in Instances
2025-12-17 22:23:57 +01:00
Peter Steinberger
23b5392011
style(android): format bridge hello
2025-12-17 22:04:51 +01:00
Peter Steinberger
a0e9e8fe13
feat(android): iOS canvas background
2025-12-17 22:03:11 +01:00
Peter Steinberger
3c0bd39718
feat(android): add status pill overlay
2025-12-17 22:00:12 +01:00
Peter Steinberger
2a1d3b6326
fix(android): dedupe hello fields
2025-12-17 21:53:38 +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
278ea0984e
Docs/tests: node list hardware fields
2025-12-17 20:11:13 +00:00
Peter Steinberger
d7ea011621
clawdis-mac: show hardware model in node list
2025-12-17 20:11:05 +00:00
Peter Steinberger
aa4f32eabc
Android: advertise device model to bridge
2025-12-17 20:10:58 +00:00
Peter Steinberger
aaffc72f19
macOS: include node hardware identifiers
2025-12-17 20:10:50 +00:00
Peter Steinberger
c53d9f1476
Tests: cover clawdis-mac node list
2025-12-17 20:03:56 +00:00
Peter Steinberger
391a8870df
clawdis-mac: enrich node list output
2025-12-17 20:03:56 +00:00
Peter Steinberger
dfcdc4a07a
Bridge: advertise node capabilities
2025-12-17 20:03:56 +00:00
Peter Steinberger
10120a6824
macOS: fix InstanceInfo device fields
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
44d243dc95
fix(android): bonjour discovery parity
2025-12-17 20:57:04 +01:00
Peter Steinberger
38ba295496
feat(chat): Swift chat parity (abort/sessions/stream)
2025-12-17 20:51:27 +01:00
Peter Steinberger
e0f84b6b5d
tools: add blucli
2025-12-17 20:39:34 +01:00
Peter Steinberger
3024056e0e
Canvas: click progress + context-rich actions
2025-12-17 20:34:54 +01:00
Peter Steinberger
d8152f1ba0
fix(macos): improve canvas A2UI forwarding
2025-12-17 20:31:21 +01:00
Peter Steinberger
bc754f6a04
Menu: reopen canvas without reload
2025-12-17 20:31:21 +01:00
Peter Steinberger
37c931ae4a
Canvas: fix A2UI click actions
2025-12-17 20:31:21 +01:00
Peter Steinberger
fc10e137d9
macOS: auto-start gateway for Canvas actions
2025-12-17 20:31:21 +01:00
Peter Steinberger
50d5c2f9dd
macOS: fix gateway strict-concurrency issues
2025-12-17 20:31:21 +01:00
Peter Steinberger
7c931e34d6
macOS: fold agent control into GatewayConnection
2025-12-17 20:31:21 +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
6bad593b22
chore(canvas): rebuild CanvasA2UI bundle
2025-12-17 19:15:19 +00:00
Peter Steinberger
f149737cc2
feat(macos): show Anthropic auth mode + OAuth connect
2025-12-17 19:15:19 +00:00
Peter Steinberger
bf090ddcd1
fix(macos): sync node pairing approvals
2025-12-17 19:15:19 +00: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
c4bc45aa01
GatewayConnection: validate agent message
2025-12-17 16:09:22 +01:00
Peter Steinberger
93e3308e19
macOS: fold AgentRPC into GatewayConnection
2025-12-17 16:07:37 +01:00
Peter Steinberger
9acb6b54f1
Canvas: forward A2UI actions
2025-12-17 15:41:04 +01:00
Peter Steinberger
087837d874
Android: fix unicast discovery address resolution
2025-12-17 15:32:07 +01:00
Peter Steinberger
2018c1320f
Android: add unicast discovery domain + app icon
2025-12-17 15:29:45 +01:00
Peter Steinberger
ef9a69870a
Canvas: shrink close button
2025-12-17 14:52:32 +01:00
Peter Steinberger
732389f7ee
Canvas: add vibrancy close pill
2025-12-17 14:50:29 +01:00
Peter Steinberger
c6b52a0172
Canvas: fix A2UI push rendering
2025-12-17 14:36:42 +01:00
Peter Steinberger
8a1710abf9
iOS: allow unicast DNS-SD discovery domain
2025-12-17 14:14:17 +01:00
Peter Steinberger
6387305319
Canvas: fix A2UI v0.8 rendering
2025-12-17 13:20:27 +01:00
Peter Steinberger
f8bdd6d785
feat(macos): add menu Canvas open/close
2025-12-17 11:53:57 +01:00
Peter Steinberger
7b2a45f0e2
fix(macos): avoid treating '/' as file target
2025-12-17 11:36:51 +01:00
Peter Steinberger
c6fcfd3865
macOS: update config settings copy
2025-12-17 11:36:21 +01:00
Peter Steinberger
a38b340e07
feat(macos): add Canvas A2UI renderer
2025-12-17 11:35:06 +01:00
Peter Steinberger
df6f032f86
Canvas: simplify show + report status
2025-12-17 10:37:35 +01:00
Peter Steinberger
d293c36c85
fix(macos): anchor canvas panel to active screen
2025-12-17 09:28:53 +01:00
Peter Steinberger
2351387916
fix(chat): reduce system spam and cap history
2025-12-16 20:35:03 +01:00
Peter Steinberger
428a55971b
fix(chat-ui): improve typing dots and composer
2025-12-16 20:13:23 +01:00
Peter Steinberger
1764880037
test(macos): guard FileHandle read APIs
2025-12-16 10:41:47 +01:00
Peter Steinberger
2c97f97a3e
fix(macos): use safe FileHandle reads
2025-12-16 10:41:47 +01:00
Tu Nombre Real
90c5fce647
fix(macos): lazy-init AVAudioEngine to prevent Bluetooth audio ducking
...
Creating AVAudioEngine at singleton init time causes macOS to switch
Bluetooth headphones from A2DP (high quality) to HFP (headset) profile,
resulting in degraded audio quality even when Voice Wake is disabled.
This change makes audioEngine optional and only creates it when voice
recognition actually starts, preventing the profile switch for users
who don't use Voice Wake.
Fixes #30
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 09:35:02 +00:00
Peter Steinberger
672aab20c4
ui(macos): remove Claude auth skip button
2025-12-14 19:23:49 +00:00
Peter Steinberger
cb3b0ffd4b
ui(macos): polish onboarding wording
2025-12-14 19:22:31 +00:00
Peter Steinberger
e69e5bbf60
fix(macos): hide skipped onboarding panes
2025-12-14 19:14:05 +00:00
Peter Steinberger
46aaa097da
ui(macos): recommend Opus on Claude step
2025-12-14 19:13:55 +00:00
Peter Steinberger
3aef8aea20
ui(macos): tweak Claude sign-in copy
2025-12-14 19:12:52 +00:00
Peter Steinberger
5997653cfc
fix(macos): clarify OAuth detection
2025-12-14 19:10:48 +00:00
Peter Steinberger
c6262f9dfb
docs(macos): critter-first onboarding copy
2025-12-14 06:26:51 +00: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
dba10a46bb
fix(android): avoid non-exhaustive sheet switch
2025-12-14 05:42:39 +00:00
Peter Steinberger
476fffc26f
Merge remote-tracking branch 'origin/main'
2025-12-14 05:32:24 +00:00
Peter Steinberger
0c5b7995a2
Merge remote-tracking branch 'origin/main'
2025-12-14 05:31:06 +00:00
Peter Steinberger
355bf31580
test(macos): cover control/camera disabled paths
2025-12-14 05:30:39 +00:00
Peter Steinberger
504990193b
fix(camera): harden capture pipeline
2025-12-14 05:30:34 +00:00
Peter Steinberger
0895ec5a34
refactor(macos): tidy gateway discovery naming
2025-12-14 05:30:07 +00:00
Peter Steinberger
a6544fd622
fix(android): respect insets and enable settings scroll
2025-12-14 05:30:07 +00:00
Peter Steinberger
c80fbb3f71
fix(ios): update observation env in smoke tests
2025-12-14 05:27:19 +00:00
Peter Steinberger
53740c56d9
fix(macos): fix oauth base64 helper visibility
2025-12-14 05:19:49 +00:00
Peter Steinberger
0e76a55661
fix(chat-ui): reflect gateway connection
2025-12-14 05:19:01 +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
aa597631c2
fix(macos): satisfy swiftformat
2025-12-14 05:16:03 +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
7a5e9d8258
style(macos): swiftformat
2025-12-14 05:09:48 +00:00
Peter Steinberger
2c5a612329
refactor(observation): migrate SwiftUI state
2025-12-14 05:06:34 +00:00
Peter Steinberger
bd47aa4522
refactor(chat-ui): compact layout
2025-12-14 05:06:34 +00:00
Peter Steinberger
63fbafc80f
feat(android): sync wake words via gateway
2025-12-14 05:06:27 +00:00
Peter Steinberger
1d16c110c1
feat(ios): sync wake words via gateway
2025-12-14 05:06:27 +00:00
Peter Steinberger
2c0a2a4d8b
feat(macos): sync wake words via gateway
2025-12-14 05:06:27 +00:00
Peter Steinberger
db8278ea31
fix(macos): live-check Pi oauth.json
2025-12-14 04:48:03 +00:00
Peter Steinberger
9374c0b786
style(ios): swiftformat
2025-12-14 04:47:15 +00:00
Peter Steinberger
8ab161e1e4
style(macos): swiftformat
2025-12-14 04:42:04 +00:00
Peter Steinberger
1839f766b9
chore(protocol): sync generated artifacts
2025-12-14 04:42:04 +00:00
Peter Steinberger
a09fd319ef
feat(ios): add discovery debug logs
2025-12-14 04:36:00 +00:00
Peter Steinberger
bbcf078dce
fix(android): safe area + settings scroll
2025-12-14 04:35:06 +00:00
Peter Steinberger
8b25844f85
test(macos): boost Clawdis coverage to 40%
2025-12-14 04:31:04 +00:00
Peter Steinberger
84d466ed1a
fix(camera): retain capture delegates
2025-12-14 04:31:04 +00:00
Peter Steinberger
0105786fe3
fix(chat): improve history + polish SwiftUI panel
2025-12-14 04:31:04 +00:00
Peter Steinberger
420e6040ed
fix(macos): sane chat window placement
2025-12-14 04:31:04 +00:00
Peter Steinberger
c040262c78
chore(tools): match repo emojis
2025-12-14 04:31:04 +00:00
Peter Steinberger
92fa839c6b
chore(tools): add emoji tool names
2025-12-14 04:31:04 +00:00
Peter Steinberger
7ebf20a098
fix(webchat): reconnect gateway ws
2025-12-14 04:31:04 +00:00
Peter Steinberger
526e04bbe5
fix(macos): suggest critter emojis only
2025-12-14 04:29:07 +00:00
Peter Steinberger
de890f66bc
feat(macos): onboard Claude OAuth + identity
2025-12-14 04:22:38 +00:00
Peter Steinberger
c794c5a4cf
ui(macos): skip whatsapp onboarding in remote mode
2025-12-14 04:20:16 +00:00
Peter Steinberger
4049ea0582
chore(macos): silence onboarding type length lint
2025-12-14 04:09:20 +00:00
Peter Steinberger
d21ca93b50
refactor(macos): simplify bridge frame handling
2025-12-14 04:09:20 +00:00
Peter Steinberger
044487f255
ui(macos): always enable deep links
2025-12-14 04:06:34 +00:00
Peter Steinberger
bc0c7f7c08
style: satisfy formatters
2025-12-14 04:03:32 +00:00
Peter Steinberger
2e94ceafc1
ui(macos): remove duplicate canvas toggle
2025-12-14 04:00:57 +00:00
Peter Steinberger
6f1e3d1d31
ui(macos): fix security notice wrapping
2025-12-14 03:57:32 +00:00
Peter Steinberger
91d9ba04c4
ui(macos): make master discovery selectable
2025-12-14 03:53:45 +00:00
Peter Steinberger
58b00c67c2
style(swift): fix lint and formatting warnings
2025-12-14 03:49:34 +00:00
Peter Steinberger
601b68cf33
ui(macos): skip local onboarding steps in remote mode
2025-12-14 03:49:17 +00:00
Peter Steinberger
1c5c8d3ac5
ui(macos): lower onboarding welcome content
2025-12-14 03:45:27 +00:00
Peter Steinberger
dd623e4607
test(ios): cover bridge client + more views
2025-12-14 03:39:33 +00:00
Peter Steinberger
1ece6a1e16
fix(macos): hide session store path in remote mode
2025-12-14 03:38:47 +00:00
Peter Steinberger
bceae364e9
feat(macos): move camera setting to General
2025-12-14 03:33:24 +00:00
Peter Steinberger
c8051f43a5
test(ios): add smoke coverage tests
2025-12-14 03:29:08 +00:00
Peter Steinberger
fc5d3e5a7e
docs: recommend git repo for workspace backups
2025-12-14 03:19:02 +00:00
Peter Steinberger
d6eca6382a
feat: bootstrap agent workspace and AGENTS.md
2025-12-14 03:14:58 +00:00
Peter Steinberger
715739d3d2
fix(android): make settings sheet scrollable
2025-12-14 03:13:36 +00:00
Peter Steinberger
0a45f8e8a0
fix(android): inset top buttons for status bar
2025-12-14 03:10:46 +00:00
Peter Steinberger
3357936f3b
test(macos): cover settings + activity models
2025-12-14 03:06:12 +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