Commit Graph

1513 Commits

Author SHA1 Message Date
Peter Steinberger
048e62ef0a fix(gateway): cap chat.history payload size 2025-12-16 19:34:36 +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
Peter Steinberger
d723235b34 docs(changelog): note macOS voice audio fix 2025-12-16 09:35:02 +00: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
4a8494a6b1 chore(auto-reply): satisfy biome 2025-12-16 10:30:57 +01:00
Peter Steinberger
61be364c6f fix(auto-reply): parse agent_end and avoid rpc JSON leaks 2025-12-16 10:28:57 +01: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
a1eecb7102 test(web): stabilize group heartbeat test 2025-12-14 05:36:01 +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
6fac3e3990 chore: gitignore .worktrees 2025-12-14 05:21:21 +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
66770b86a8 feat(voicewake): add gateway-owned wake words sync 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
7b3902eded fix(config): tolerate session store races 2025-12-14 04:42:04 +00:00
Peter Steinberger
c10c580f6d test: cover identity defaults and pi flags 2025-12-14 04:40:01 +00:00
Peter Steinberger
1f8e453c24 docs(agents): prefer Observation framework 2025-12-14 04:36:07 +00:00
Peter Steinberger
5fd1b1a415 docs(bonjour): document gateway and iOS discovery logging 2025-12-14 04:36:00 +00:00