Commit Graph

450 Commits

Author SHA1 Message Date
Peter Steinberger
2aeaa06a95 style(macos): remove quit separator and resize settings 2025-12-09 02:28:05 +01:00
Peter Steinberger
c543f71a45 feat(macos): add instances tab and presence beacons 2025-12-09 02:25:45 +01:00
Peter Steinberger
40b4fe277e Voice wake: send or dismiss on release 2025-12-09 02:25:06 +01:00
Peter Steinberger
6491048c52 chore: harden rpc assistant streaming types 2025-12-09 01:41:05 +01:00
Peter Steinberger
ac17dc581a feat(macos): surface session activity in menu bar 2025-12-09 01:41:05 +01:00
Peter Steinberger
ee6c509aa4 control: reconnect on EOF and relax rpc text parse 2025-12-09 00:29:31 +00:00
Peter Steinberger
1cae65acdb chore: single-source working state from agent events 2025-12-09 01:17:01 +01:00
Peter Steinberger
9b4c7bedb8 chore(mac): drop duplicate job-state tracking 2025-12-09 01:06:46 +01:00
Peter Steinberger
b21a1e68f9 macos: log health timeout and control requests 2025-12-09 00:00:50 +00:00
Peter Steinberger
b5d80a57b4 chore(mac): prefer host runtime for remote relay 2025-12-09 00:59:56 +01:00
Peter Steinberger
85fdcfe0de chore: guard host runtime and simplify packaging 2025-12-09 00:59:56 +01:00
Peter Steinberger
388a33df9f feat(mac): add agent events debug window 2025-12-09 00:59:56 +01:00
Peter Steinberger
0f5cc91536 macOS: extract attributed string helper 2025-12-09 00:59:56 +01:00
Peter Steinberger
1c341a9033 relay: don't crash when webchat port is busy 2025-12-08 23:49:57 +00:00
Peter Steinberger
83ba6a4b33 feat: stream tool/job events over control channel 2025-12-09 00:31:39 +01:00
Peter Steinberger
14c117f1ea feat: broadcast agent events over control channel 2025-12-09 00:28:03 +01:00
Peter Steinberger
6581b3d43a refactor(mac): split menubar UI into smaller files 2025-12-09 00:27:53 +01:00
Peter Steinberger
6e957d53cd macos: show detailed health failure 2025-12-08 23:20:14 +00:00
Peter Steinberger
40dc21128f feat: emit job-state events from rpc 2025-12-09 00:18:14 +01:00
Peter Steinberger
6e5e466052 fix(mac): stabilize voice wake visuals 2025-12-09 00:12:43 +01:00
Peter Steinberger
662749df89 Mac: clarify runtime comments 2025-12-09 00:08:19 +01:00
Peter Steinberger
4238316abe fix(mac): switch push-to-talk to right option 2025-12-08 23:50:31 +01:00
Peter Steinberger
5fa1de87d9 macos: timeout control health probes 2025-12-08 22:45:58 +00:00
Peter Steinberger
6ca9ab9ad2 macos: keep remote control tunnel alive 2025-12-08 23:28:03 +01:00
Peter Steinberger
9a2f868216 Build: update webchat bundle 2025-12-08 23:20:10 +01:00
Peter Steinberger
4f061e92ec VoiceWake: track listening state for PTT 2025-12-08 23:17:11 +01:00
Peter Steinberger
f8cfc92127 macos: swap bubble shadow for 1px border 2025-12-08 23:14:00 +01:00
Peter Steinberger
5ec4b930cf macos: add inset margin so overlay shadow isn't clipped 2025-12-08 22:56:49 +01:00
Peter Steinberger
07b72bbf5a macos: fail fast when SSH tunnel exits 2025-12-08 22:53:40 +01:00
Peter Steinberger
6184ff62de VoiceWake: guard trigger chime 2025-12-08 22:52:51 +01:00
Peter Steinberger
374351530e macos: add soft shadow behind overlay bubble 2025-12-08 22:51:04 +01:00
Peter Steinberger
1aab87b8fd macos: deepen shadow on close pill 2025-12-08 22:45:40 +01:00
Peter Steinberger
8f20b3c657 Remove overlay bar meter 2025-12-08 22:45:40 +01:00
Peter Steinberger
47a4a22ebb macos: restore overlay close button 2025-12-08 21:40:18 +00:00
Peter Steinberger
72f54fc78e macos: stabilize close hover and unclipped button 2025-12-08 22:38:51 +01:00
Peter Steinberger
6b0453edc3 VoiceWake: button meter + fix label color 2025-12-08 22:38:30 +01:00
Peter Steinberger
0f8901bd57 macos: stabilize control connection wait 2025-12-08 21:37:07 +00:00
Peter Steinberger
701f14dae4 macos: blink critter when overlay dismisses empty 2025-12-08 22:34:11 +01:00
Peter Steinberger
422a9ae515 macos: sync ears with overlay visibility 2025-12-08 22:31:03 +01:00
Peter Steinberger
4dbbd6c717 VoiceWake: add level meter 2025-12-08 22:28:49 +01:00
Peter Steinberger
735e5f5c6d macos: refine speech noise floor tracking 2025-12-08 22:24:12 +01:00
Peter Steinberger
9580ff3ac0 macos: polish voice overlay and remote command handling 2025-12-08 22:23:24 +01:00
Peter Steinberger
d1d4906db2 macos: harden control channel connect continuation 2025-12-08 22:16:05 +01:00
Peter Steinberger
609b89b653 ux: float close button outside bubble, stronger shadow 2025-12-08 22:11:38 +01:00
Peter Steinberger
a45cd40158 macos: control channel diagnostics and tunnel-based testing 2025-12-08 22:04:02 +01:00
Peter Steinberger
a44ddb3eea fix: avoid auto-send task init error 2025-12-08 22:02:03 +01:00
Peter Steinberger
43d52297f8 ux: float close button outside bubble and reduce hover flicker 2025-12-08 21:59:05 +01:00
Peter Steinberger
1ba7dcf0b1 chore: sync webchat bundle and voice wake settings 2025-12-08 21:51:08 +01:00
Peter Steinberger
926c6dd90f macos: use control channel for health and heartbeat 2025-12-08 21:50:51 +01:00
Peter Steinberger
bebd620656 VoiceWake: centralize send chime and guard play 2025-12-08 21:25:30 +01:00
Peter Steinberger
21127449ff ux: add hover/ edit close button and keep overlay until escape or send 2025-12-08 21:22:04 +01:00
Peter Steinberger
b754971847 VoiceWake: skip send chime when nothing to send 2025-12-08 20:57:41 +01:00
Peter Steinberger
bb2cb83126 VoiceWake: streamline chimes, default to Glass 2025-12-08 20:50:34 +01:00
Peter Steinberger
17fc11e475 VoiceWake: add chimes for trigger and send 2025-12-08 20:45:05 +01:00
Peter Steinberger
2c4fbf82d0 ux: keep window in edit, add escape to cancel; fix lint drift 2025-12-08 20:22:56 +01:00
Peter Steinberger
f38556bebf VoiceWake: sanitize triggers only when applying 2025-12-08 20:20:56 +01:00
Peter Steinberger
43183aeff7 RPC: stream heartbeat events to menu 2025-12-08 20:18:54 +01:00
Peter Steinberger
ecc0743fd8 HeartbeatStore: fix main-actor cleanup 2025-12-08 20:17:38 +01:00
Peter Steinberger
13bbc5cfe6 VoiceWake: keep empty trigger rows 2025-12-08 20:13:49 +01:00
Peter Steinberger
0782d913f6 ux: top-align overlay content 2025-12-08 20:10:39 +01:00
Peter Steinberger
ede1d43f99 ui: strip label color attributes so text uses primary color 2025-12-08 20:00:36 +01:00
Peter Steinberger
414acf3aaf ux: use primary text color in display label 2025-12-08 19:57:29 +01:00
Peter Steinberger
90e8b97e5e ux: wrap label to overlay width, remove label background 2025-12-08 19:43:07 +01:00
Peter Steinberger
4cf5862d61 ux: keep vibrancy, brighten label, ensure wrapping 2025-12-08 19:36:48 +01:00
Peter Steinberger
41d807d66b ui: drop translucency for overlay background 2025-12-08 19:20:46 +01:00
Peter Steinberger
c219067e73 ux: brighten display label and wrap properly 2025-12-08 19:15:58 +01:00
Peter Steinberger
d7183f0ff3 ux: show vibrant label until edit, then switch to text view 2025-12-08 19:11:59 +01:00
Peter Steinberger
2f6c23e2b9 tweak: strengthen partial transcript tint 2025-12-08 18:54:02 +01:00
Peter Steinberger
964db9b232 tweak: centralize overlay max/min heights 2025-12-08 18:52:19 +01:00
Peter Steinberger
8c13ed42f3 fix: hide overlay scrollbar unless content overflows 2025-12-08 18:50:14 +01:00
Peter Steinberger
132cc164e8 perf(mac): move blocking launchctl/webchat work off main 2025-12-08 18:42:13 +01:00
Peter Steinberger
980815f6dd tweak: allow overlay to grow to 400px then scroll 2025-12-08 18:33:14 +01:00
Peter Steinberger
0484f2782b fix: keep overlay attributed colors and auto-resize 2025-12-08 18:28:17 +01:00
Peter Steinberger
a755f55757 docs/macos: simplify sag install (auto-tap) 2025-12-08 18:19:54 +01:00
Peter Steinberger
4d3a82dc85 fix: polish voice overlay and webchat lint 2025-12-08 17:32:34 +01:00
Peter Steinberger
c7ffca1fea fix(mac): surface webchat load failures and preflight reachability 2025-12-08 17:24:08 +01:00
Peter Steinberger
0cf02f5b79 feat(mac): add push-to-talk hotkey 2025-12-08 17:24:08 +01:00
Peter Steinberger
b07763df7d Webchat: push updates over WebSocket 2025-12-08 16:19:33 +00:00
Peter Steinberger
141af1715a fix: restart webchat tunnel on main actor 2025-12-08 17:14:43 +01:00
Peter Steinberger
3903ad5e3a fix(mac): harden remote webchat tunnel and keep it alive 2025-12-08 17:14:43 +01:00
Peter Steinberger
492d0229ab fix: resize overlay on text updates and keep final tint 2025-12-08 17:14:43 +01:00
Peter Steinberger
9e3e6acd88 Webchat: poll session for messages/thinking 2025-12-08 16:14:12 +00:00
Peter Steinberger
11b31f7b47 Webchat: sync thinking level with session 2025-12-08 16:10:14 +00:00
Peter Steinberger
dd2a3b5e26 chore: use 5s silence before speech, 2s after 2025-12-08 17:06:12 +01:00
Peter Steinberger
5b1d5d5dbc chore: fix lint warnings and formatting 2025-12-08 17:05:27 +01:00
Peter Steinberger
36e7996646 chore: extend voice capture hard stop to 120s 2025-12-08 16:58:38 +01:00
Peter Steinberger
169be77ad6 chore: use 2s silence or 5s max capture 2025-12-08 16:55:08 +01:00
Peter Steinberger
eb138da2cd fix(mac): run remote health with pnpm under zsh 2025-12-08 16:52:42 +01:00
Peter Steinberger
56cb9e4153 fix: finalize only after full 1s silence 2025-12-08 16:52:13 +01:00
Peter Steinberger
b53084adb6 fix(mac): surface health errors instead of pending 2025-12-08 16:50:20 +01:00
Peter Steinberger
ccf682acb3 feat: add outcome-based dismiss animations 2025-12-08 16:49:58 +01:00
Peter Steinberger
1f6f30f38a chore: remove overlay shadow/border 2025-12-08 16:45:25 +01:00
Peter Steinberger
d61a06ca2e fix: animate overlay resizing on updates 2025-12-08 16:44:44 +01:00
Peter Steinberger
474b674ed5 feat: show partial transcripts with subdued tint 2025-12-08 16:44:00 +01:00
Peter Steinberger
a1159e4f1e feat: tint partial transcripts and stabilize delays 2025-12-08 16:41:33 +01:00
Peter Steinberger
c23e5b9f07 fix: delay logic waits for post-trigger content 2025-12-08 16:38:33 +01:00
Peter Steinberger
f3db5893f6 test: cover trigger trimming for voice wake 2025-12-08 16:36:53 +01:00
Peter Steinberger
2f32c49fce fix: trim overlay transcript to post-trigger 2025-12-08 16:35:03 +01:00
Peter Steinberger
e0044b81aa feat: add adaptive voice wake delays 2025-12-08 16:34:06 +01:00
Peter Steinberger
b5b4e318b3 feat: refine voice wake overlay animations 2025-12-08 16:34:06 +01:00
Peter Steinberger
5f76466122 feat: add voice wake overlay 2025-12-08 16:34:06 +01:00
Peter Steinberger
03ba7de9ef Webchat: update bundled assets after attachment support 2025-12-08 14:48:03 +00:00
Peter Steinberger
8151964028 Webchat: inline attachments to agent RPC and fix status compile 2025-12-08 14:46:33 +00:00
Peter Steinberger
dd39795d04 feat(macos): add voice wake mic picker 2025-12-08 15:05:57 +01:00
Peter Steinberger
09cfd8b40a macOS webchat: use relay HTTP transport directly 2025-12-08 13:12:34 +00:00
Peter Steinberger
52bf44e2a7 Split clawdis node vs mac helper commands 2025-12-08 13:26:12 +01:00
Peter Steinberger
e315a38420 SSH remote uses clawdis only 2025-12-08 13:20:55 +01:00
Peter Steinberger
9408670050 Remote web chat tunnel and onboarding polish 2025-12-08 12:50:37 +01:00
Peter Steinberger
f6d54664d3 webchat: send via http rpc endpoint and show errors 2025-12-08 12:23:45 +01:00
Peter Steinberger
2a7b1bfe4a webchat: surface bootstrap errors in UI 2025-12-08 12:17:39 +01:00
Peter Steinberger
ebad54b940 webchat: move serving to relay loopback and tunnel from mac app 2025-12-08 11:54:30 +01:00
Peter Steinberger
b89a2e31af webchat: fetch remote sessions via CLI and log missing history 2025-12-08 01:55:09 +01:00
Peter Steinberger
e7bd656f21 chore(ci): fix lint and swiftformat failures 2025-12-08 01:48:53 +01:00
Peter Steinberger
ba150e35fc webchat: load remote history from tau fallback and send to session 2025-12-08 01:36:00 +01:00
Peter Steinberger
a325939017 VoiceWake: capture utterance and add prefix 2025-12-08 01:35:42 +01:00
Peter Steinberger
abee148535 webchat: make remote mode load history and send via rpc 2025-12-08 01:27:18 +01:00
Peter Steinberger
eecc6e75b0 ui: drop default sound picker; use cli per-notification sound 2025-12-08 00:56:36 +01:00
Peter Steinberger
9c5bf7fa5b health: surface ssh output when probe fails 2025-12-08 00:52:31 +01:00
Peter Steinberger
1c88047681 copy: rename menu toggle to Remote Clawdis Active when remote 2025-12-08 00:41:31 +01:00
Peter Steinberger
37d56ad313 copy: capitalize send heartbeats menu label 2025-12-08 00:40:30 +01:00
Peter Steinberger
93eea879bd feat(macos): add Sparkle updates and release docs 2025-12-08 00:18:16 +01:00
Peter Steinberger
9d59a1b805 ui: remove duplicate health row in General 2025-12-08 00:17:29 +01:00
Peter Steinberger
285c5c85c8 ui: move Clawdis active toggle to top 2025-12-08 00:16:25 +01:00
Peter Steinberger
8a25534d23 copy: shorten tailscale tip 2025-12-08 00:14:58 +01:00
Peter Steinberger
43789b7aeb fix: stop voice wake tester after short post-trigger silence 2025-12-07 23:43:50 +01:00
Peter Steinberger
be0393b83d copy: rename recognition language label 2025-12-07 23:35:58 +01:00
Peter Steinberger
49b03177e4 ui: place health row under remote picker and improve timeout message 2025-12-07 23:34:49 +01:00
Peter Steinberger
068974233b ui: tidy tables, links, and hide redundant voice wake forwarder 2025-12-07 23:26:28 +01:00
Peter Steinberger
8f72672ac3 ui: move health/cli info to Debug; add single health row in General 2025-12-07 23:22:54 +01:00
Peter Steinberger
eb1e006421 ui: fold remote mode label into picker 2025-12-07 23:21:00 +01:00
Peter Steinberger
95c0cef374 ui: reuse compact remote card in General and hide voice wake forwarder 2025-12-07 23:20:14 +01:00
Peter Steinberger
8f6d71c21b fix: remote test uses CLI path discovery again 2025-12-07 23:12:33 +01:00
Peter Steinberger
94a94ec139 ui: make General tab scrollable 2025-12-07 23:06:10 +01:00
Peter Steinberger
f290033ddd ui: align voice wake forwarding with remote mode 2025-12-07 23:04:51 +01:00
Peter Steinberger
0c38517baa style: bump onboarding height to 840px 2025-12-07 22:58:05 +01:00
Peter Steinberger
3e2fd900c8 chore: refresh webchat bundle 2025-12-07 22:57:12 +01:00
Peter Steinberger
4cab66118c macOS: surface stderr in health failure text 2025-12-07 21:37:06 +00:00
Peter Steinberger
80a257e5eb MenuBar: fix health label age string 2025-12-07 19:03:49 +01:00
Peter Steinberger
81310c39bc Utilities: add age helper for menu health label 2025-12-07 19:02:50 +01:00
Peter Steinberger
1b888af439 Launch agent: disable autostart without killing running app 2025-12-07 19:01:14 +01:00
Peter Steinberger
1489de6738 style: increase onboarding window height 2025-12-07 19:01:14 +01:00
Peter Steinberger
8d2fd382e4 build: add local node bin to restart script PATH 2025-12-07 19:01:14 +01:00
Peter Steinberger
0af70ed3fa chore: surface helper install status in onboarding 2025-12-07 19:01:14 +01:00
Peter Steinberger
95a56fcac5 style: enlarge onboarding window to fit full permission list 2025-12-07 19:01:14 +01:00
Peter Steinberger
410a595379 style: compact remote setup card and move advanced ssh fields 2025-12-07 19:01:14 +01:00
Peter Steinberger
2938b09d6c style: increase onboarding content height 2025-12-07 19:01:14 +01:00
Peter Steinberger
e2b4d3223e style: tighten onboarding hero spacing 2025-12-07 19:01:14 +01:00
Peter Steinberger
8135e76372 VoiceWake: add escaping regression tests 2025-12-07 19:01:14 +01:00
Peter Steinberger
1a58b52898 macOS: fix web chat agent PATH and surface stderr 2025-12-07 17:31:14 +00:00
Peter Steinberger
73053d2f79 macOS: show last health result with age in menu 2025-12-07 17:23:51 +00:00