Commit Graph

921 Commits

Author SHA1 Message Date
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