Commit Graph

1558 Commits

Author SHA1 Message Date
Peter Steinberger
df609cdd27 feat: add node location support 2026-01-04 00:54:44 +01:00
Peter Steinberger
76c118657e feat(macos): sync gateway config 2026-01-03 22:17:04 +01:00
Peter Steinberger
965f9c4746 Discord: default reaction notifications to own 2026-01-03 18:48:36 +00:00
Shadow
1acd162502 Discord: add reaction notification allowlist 2026-01-03 18:48:36 +00:00
Peter Steinberger
40192f9f22 fix: avoid Swift compiler crash in onboarding wizard 2026-01-03 17:59:37 +00:00
Peter Steinberger
5052414f12 feat: unify onboarding + config schema 2026-01-03 16:48:08 +01:00
Peter Steinberger
d6509b9e55 fix: update protocol models and android parsing 2026-01-03 15:04:24 +00:00
Peter Steinberger
1eb491c30b fix: restructure macOS connections settings 2026-01-03 14:25:03 +01:00
Peter Steinberger
5f95aabe19 fix(macos): expand onboarding window height 2026-01-03 13:34:30 +01:00
Peter Steinberger
38b755935c feat: centralize tool display metadata 2026-01-03 13:18:27 +01:00
Peter Steinberger
79d21b58e4 refactor: rename bundle identifiers to com.clawdis 2026-01-03 12:26:22 +01:00
Peter Steinberger
a5340a920b feat: support configurable gateway port 2026-01-03 12:00:17 +01:00
Shadow
cdd30c4c3e Discord: update UIs to use the new config 2026-01-03 01:02:22 -06:00
Peter Steinberger
2dcd90ece8 chore: update protocol swift models 2026-01-03 06:44:21 +01:00
Peter Steinberger
e9e1b83418 fix: show rich session names in chat UIs 2026-01-03 05:07:13 +01:00
Shadow
250db134cb UI: add discord action toggles 2026-01-03 03:07:13 +01:00
Shadow
1aff389226 Discord: drop enableReactions config 2026-01-03 03:07:13 +01:00
Peter Steinberger
41fd695de6 fix: respect onboarding scroll indicator preference 2026-01-03 02:55:43 +01:00
Shadow
e10ee6fb27 macOS: add onboarding scroll gutter 2026-01-03 02:55:43 +01:00
Peter Steinberger
4fb2fbb523 fix(mac): resolve camera type deprecation 2026-01-03 01:49:27 +01:00
Peter Steinberger
015239367c fix(mac): harden remote tunnel recovery 2026-01-03 00:02:27 +01:00
Peter Steinberger
1756e6a891 fix: align discord config ui 2026-01-02 21:15:59 +01:00
Peter Steinberger
b01ee75b8d Merge pull request #108 from thewilloftheshadow/shadow/ui-connection-update
UI: Update connections UIs
2026-01-02 21:04:45 +01:00
Peter Steinberger
95c0b832d8 fix(macos): resolve gateway launch args 2026-01-02 19:58:38 +00:00
Peter Steinberger
5a65a0db96 test: cover camera list invoke 2026-01-02 20:24:41 +01:00
Peter Steinberger
5a1067fb58 fix(macos): improve session preview loading 2026-01-02 19:55:19 +01:00
Shadow
fb708b073b macOS: swiftformat connections settings 2026-01-02 12:30:59 -06:00
Shadow
2211996cea macOS: fix swiftlint param count 2026-01-02 12:25:47 -06:00
Shadow
e347bf8656 Update connections UIs 2026-01-02 12:06:05 -06:00
Peter Steinberger
12b2e98f59 fix: satisfy swiftformat for ios build 2026-01-02 18:48:05 +01:00
Peter Steinberger
e33c732880 fix(macos): decode session preview payload 2026-01-02 18:32:03 +01:00
Peter Steinberger
057ec6c811 feat(macos): add session previews in menu 2026-01-02 18:29:47 +01:00
Peter Steinberger
95a6c4bceb feat: add camera list and device selection 2026-01-02 18:23:26 +01:00
Peter Steinberger
6339269ff1 fix: resolve mac camera continuation isolation 2026-01-02 18:02:24 +01:00
Peter Steinberger
af9bea95e1 fix: wait for camera exposure to settle 2026-01-02 17:57:34 +01:00
Peter Steinberger
2271d1a664 test(macos): cover gateway password whitespace 2026-01-02 17:15:26 +01:00
Peter Steinberger
1e89e507d8 fix(macos): keep config writes on main actor 2026-01-02 17:15:26 +01:00
Peter Steinberger
3536400745 chore: fix lint and add gateway auth tests 2026-01-02 17:15:26 +01:00
Peter Steinberger
d471340937 chore: merge origin/main 2026-01-02 16:50:29 +01:00
Peter Steinberger
560ed9a12e fix: harden gateway password auth 2026-01-02 16:47:52 +01:00
Peter Steinberger
b6fdb743e3 feat(macos): add Camera permission to onboarding flow
- Add 'camera' case to Capability enum
- Add UI strings (title, subtitle, icon) in PermissionsSettings
- Add ensureCamera() and camera status check in PermissionManager
- Add CameraPermissionHelper for opening System Settings

🦞 Clawd's first code contribution!
2026-01-02 15:27:54 +00:00
Peter Steinberger
189c4889c8 fix(macos): return node name 2026-01-02 15:28:34 +01:00
Peter Steinberger
2d88ded666 fix(macos): show gateway in devices list 2026-01-02 15:27:21 +01:00
Peter Steinberger
8913c8a507 fix(macos): suppress cancelled node refresh 2026-01-02 15:12:57 +01:00
Peter Steinberger
1e0f9f9e74 fix(macos): clarify gateway error state 2026-01-02 13:48:19 +01:00
Peter Steinberger
c65ee8e1f9 fix: add top padding before first chat message 2026-01-02 10:23:40 +01:00
Peter Steinberger
ce319bef69 refactor: normalize group session keys 2026-01-02 10:14:58 +01:00
Jefferson Nunn
bdef1abb4b feat(macOS): add gateway password auth support and fix Swift 6.2 concurrency
- Add CLAWDIS_GATEWAY_PASSWORD to launchd plist environment
- Read password from gateway.remote.password config in client
- Fix Swift 6.2 sending parameter violations in config save functions
- Add password parameter to GatewayConnection.Config type
- GatewayChannel now sends password in connect auth params
- GatewayEndpointStore and GatewayLaunchAgentManager read password from config
- CLI gateway client reads password from remote config and env
2026-01-01 21:34:46 -06:00
jeffersonwarrior
67b2f08b55 fix(macos): support password auth mode for gateway connections
GatewayChannel now sends both 'token' and 'password' fields in the auth
payload to support both authentication modes. Gateway checks the field
matching its auth.mode configuration ('token' or 'password').

Also adds config file password fallback for remote mode, allowing
gateway password to be configured in ~/.clawdis/clawdis.json without
requiring environment variables.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-01 21:26:37 -06:00
Peter Steinberger
19eb761f57 fix: keep chat scrolled to bottom on session switch 2026-01-02 00:21:48 +01:00
Peter Steinberger
680cdee9e3 style: fix swiftlint warnings 2026-01-02 00:17:49 +01:00
Peter Steinberger
1775fd3de9 feat: add recent session switchers 2026-01-01 23:50:26 +01:00
Peter Steinberger
db9977e38e fix(macos): colorize provider status subtitles 2026-01-01 23:16:22 +01:00
Peter Steinberger
9137a1decc feat(macos): verify Claude OAuth in onboarding 2026-01-01 23:16:15 +01:00
Peter Steinberger
383c500cec feat(macos): show skills in onboarding 2026-01-01 22:55:10 +01:00
Peter Steinberger
5c87ec8bbe fix: improve canvas debug status in remote mode 2026-01-01 20:41:13 +00:00
Peter Steinberger
ab69dd7ff9 fix: resolve macOS config store concurrency 2026-01-01 21:31:37 +01:00
Peter Steinberger
9a4f42f1ca test: cover remote config routing 2026-01-01 20:29:53 +01:00
Peter Steinberger
b41fbd8e41 chore: pin ElevenLabsKit + wizard note 2026-01-01 20:19:00 +01:00
Peter Steinberger
97c4b994c6 fix: route macOS remote config via gateway 2026-01-01 18:58:41 +01:00
Petter Blomberg
c8a85014f5 build: fix hardcoded dependency path for ElevenLabsKit 2026-01-01 17:43:27 +01:00
Marc Beaupre
9813dfbe71 fix(chat): clear input immediately after send to prevent duplicate messages
Two issues were causing the input field to retain text after sending:

1. ChatComposer's NSViewRepresentable was skipping all updates while the
   text view was first responder. Now it allows clearing (empty binding)
   even during editing, only skipping other updates to avoid cursor jumps.

2. ChatViewModel cleared input after awaiting the network response, leaving
   text visible during the round trip. Now clears immediately after capturing
   the message content, before the async send.

Together these prevent users from accidentally re-sending messages when
the input appeared unchanged after pressing Enter.
2026-01-01 17:42:05 +01:00
Petter Blomberg
3b82377feb fix(macos): prioritize main bundle for device resources to prevent crash 2026-01-01 17:39:33 +01:00
Peter Steinberger
4b6395febd fix(macos): add icon to app logging menu 2026-01-01 16:48:17 +01:00
Peter Steinberger
47c992c9e4 fix: add bottom padding to macos web chat 2026-01-01 13:20:27 +01:00
Peter Steinberger
0b9bc031d8 fix: polish macos web chat composer 2026-01-01 12:49:05 +01:00
Peter Steinberger
cb7a941efb fix: make composer pill full-width 2026-01-01 12:18:18 +01:00
Peter Steinberger
fd2ab7f089 fix: polish web chat empty/error state 2026-01-01 11:40:11 +01:00
Peter Steinberger
23246cbc22 fix(macos): restore swift test build 2026-01-01 11:05:14 +01:00
Peter Steinberger
bc458e0599 fix: tidy web chat composer layout 2026-01-01 11:05:14 +01:00
Peter Steinberger
edf0738919 docs: annotate nix path resolution 2026-01-01 09:30:12 +01:00
Peter Steinberger
388ddd0f85 feat: centralize config paths and expose in snapshot 2026-01-01 09:22:37 +01:00
Peter Steinberger
8059613856 fix: honor nix config overrides in mac app 2026-01-01 09:17:21 +01:00
Peter Steinberger
2d7b457b21 Merge remote-tracking branch 'origin/main' into upstream-preview-nix-2025-12-20 2026-01-01 09:15:28 +01:00
Peter Steinberger
01a07f711e fix: prefer module bundle for device models 2026-01-01 08:58:54 +01:00
Peter Steinberger
8d7b29f261 Merge pull request #64 from mbelinky/fix-instances-crash
Fix Instances crash by bundling device model resources
2026-01-01 08:58:35 +01:00
Mariano Belinky
39d24a2287 Use user home for pnpm path 2026-01-01 08:35:54 +01:00
Mariano Belinky
f81f9c4a17 Fix device model resources for Instances 2025-12-31 16:45:35 +01:00
Peter Steinberger
fcf3a1d156 chore: add mac app logging coverage 2025-12-31 16:28:51 +01:00
Peter Steinberger
f262196625 feat: add swift-log app logging controls 2025-12-31 16:03:18 +01:00
Manuel Jiménez Torres
cb6466ee0a fix(android): wrong text color in user chat bubbles 2025-12-31 12:48:59 +01:00
Peter Steinberger
d9503d6163 fix: satisfy swiftformat in chat view 2025-12-30 20:41:12 +01:00
Peter Steinberger
ca1fba630e fix: restore talk orb hit testing 2025-12-30 20:25:52 +01:00
Peter Steinberger
eaac0dd561 fix: avoid duplicate gateway reconnecting pill 2025-12-30 14:37:59 +01:00
Peter Steinberger
4592391281 fix: allow mp3 fallback result 2025-12-30 14:35:53 +01:00
Peter Steinberger
bbad34479f fix: fallback mp3 when pcm blocked 2025-12-30 14:32:47 +01:00
Peter Steinberger
2e82abe2c4 fix: hop audio to main actor 2025-12-30 14:22:03 +01:00
Peter Steinberger
461169e996 fix: improve talk overlay input + drag 2025-12-30 14:18:51 +01:00
Peter Steinberger
3639a75e2c fix: modernize chat scroll position 2025-12-30 13:52:12 +01:00
Peter Steinberger
26f02543d6 refactor: inject audio players 2025-12-30 13:46:14 +01:00
Peter Steinberger
a39f30f7e7 fix: tighten macOS menu device rows 2025-12-30 13:31:11 +01:00
Peter Steinberger
748f9cf628 chore: sync local changes 2025-12-30 12:53:17 +01:00
Peter Steinberger
7412f0ba19 fix: default android talk pcm_24000 2025-12-30 12:52:56 +01:00
Peter Steinberger
fba012549c refactor: extract elevenlabs kit 2025-12-30 12:48:09 +01:00
Peter Steinberger
2a0b3ca2b2 test: add pcm streaming smoke 2025-12-30 12:27:06 +01:00
Peter Steinberger
3bac41c7ad fix: address talk streaming build 2025-12-30 12:20:32 +01:00
Peter Steinberger
0db06400e2 fix: stream elevenlabs tts playback 2025-12-30 12:17:40 +01:00
Peter Steinberger
7b84aa93b0 feat(talk): pause + drag overlay orb 2025-12-30 11:37:52 +01:00
Peter Steinberger
1ee99b6f00 feat: add talk voice alias map 2025-12-30 11:35:29 +01:00
Peter Steinberger
f3b9c8fc7b test: cover external chat completion 2025-12-30 11:23:45 +01:00
Peter Steinberger
46fac79541 fix: clear external streaming bubbles 2025-12-30 11:21:57 +01:00
Peter Steinberger
80a3766d65 fix(ui): move mac talk orb to corner 2025-12-30 11:20:14 +01:00
Peter Steinberger
b22ef01850 fix(ios): unblock device builds 2025-12-30 11:16:15 +01:00
Peter Steinberger
3cebaec512 fix(macos): await-safe session key selection 2025-12-30 11:07:34 +01:00
Peter Steinberger
89ebff4da3 fix(talk): harden TTS + add system fallback 2025-12-30 07:40:02 +01:00
Peter Steinberger
6ae39ffdc7 fix(ui): refine talk overlays 2025-12-30 06:47:35 +01:00
Peter Steinberger
e409c6f04c fix(talk): align sessions and chat UI 2025-12-30 06:47:19 +01:00
Peter Steinberger
3bb9e13ac6 fix(talk): harden playback, interrupts, and timeouts 2025-12-30 06:05:43 +01:00
Peter Steinberger
6fcd9e880e fix(talk): hard-timeout ElevenLabs synthesis 2025-12-30 05:46:47 +01:00
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
2739d935aa chore(protocol): regenerate Swift gateway models 2025-12-30 04:42:08 +01:00
Peter Steinberger
b115d75d40 fix(android): stabilize BridgeSession shutdown 2025-12-30 04:42:02 +01:00
Peter Steinberger
093ba105cd feat: add ui.seamColor accent 2025-12-30 04:14:36 +01:00
Peter Steinberger
ad9802ef11 fix(macos): prevent Talk Mode audio hang 2025-12-30 04:14:16 +01:00
Peter Steinberger
d5b0ff4ea7 fix: make android canvas background visible 2025-12-30 04:02:52 +01:00
Peter Steinberger
aa496597c8 fix: brighten android canvas 2025-12-30 03:58:18 +01:00
Peter Steinberger
8b5e7234cf fix: tag A2UI platform and boost Android canvas 2025-12-30 03:49:24 +01:00
Peter Steinberger
58476173bc fix: android talk timestamp parsing 2025-12-30 02:05:14 +01:00
Peter Steinberger
53a648363c feat: talk mode key distribution and tts polling 2025-12-30 01:57:58 +01:00
Peter Steinberger
6b85f6df6a fix(macos): hide Restart Gateway when remote 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
bb1a3be02b fix: expand talk overlay bounds 2025-12-30 00:58:58 +01:00
Peter Steinberger
f4233b13d6 fix: talk overlay + elevenlabs defaults 2025-12-30 00:51:17 +01:00
Peter Steinberger
c4fa466c61 fix: wire talk menu + mac build 2025-12-30 00:17:10 +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
5a88e4d520 fix: adjust android talk parser for kotlin json 2025-12-29 23:26:38 +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
e1488106cb fix: show connected nodes only 2025-12-29 18:35:52 +01:00
Josh Palmer
6c080c3425 macOS: load device models from bundle resources 2025-12-29 17:49:13 +01:00
Josh Palmer
c3073e0c5f feat(macos): add current TeamID to Peekaboo allowlist
Problem: The bridge only accepts the upstream TeamID, so packaged builds signed locally (Nix/CI) can’t use the bridge even though they are the same app.

Fix: Include the running app’s TeamID (from its code signature) in the allowlist.

Safety: TeamID gating remains; this just adds the app’s own TeamID to preserve permissions/automation in reproducible installs.
2025-12-29 17:49:13 +01:00
Josh Palmer
93d75d6d33 feat: improve health checks (telegram tokenFile + hints) 2025-12-29 17:49:13 +01:00
Josh Palmer
2e9ff2ef73 feat: Nix mode config, UX, onboarding, SwiftPM plist, docs 2025-12-29 17:49:13 +01:00
Peter Steinberger
68b80f61f0 chore: set ios signing team for device builds 2025-12-29 17:38:21 +01:00
Peter Steinberger
22552c0cf6 fix: menu devices list 2025-12-29 17:31:23 +01:00
Peter Steinberger
dc70386428 fix: enable canvas webview scrolling on mobile nodes 2025-12-29 17:13:31 +01:00
Peter Steinberger
4bb0a2f057 fix(macos): fully stop Voice Wake runtime when disabled 2025-12-28 10:17:30 +00:00
Peter Steinberger
7cffe0af90 fix: start gateway before control channel 2025-12-28 09:24:43 +00:00
Peter Steinberger
546f386735 fix: harden heartbeat acks + gateway reconnect 2025-12-27 20:02:27 +00:00
Peter Steinberger
c2184dcb6f fix(macos): soften light mode usage bar track 2025-12-27 14:05:36 +01:00
Peter Steinberger
9694cf17fa fix(macos): boost light mode usage bar contrast 2025-12-27 14:03:45 +01:00
Peter Steinberger
c27e028abf fix(macos): refresh sessions on menu open 2025-12-27 13:49:03 +01:00
Peter Steinberger
807d005344 fix(macos): tighten chat window chrome 2025-12-27 03:21:14 +01:00
Peter Steinberger
cba34c8c64 fix(macos): relax chat window min size 2025-12-27 02:55:24 +01:00
Peter Steinberger
60c1a45b0d fix(macos): round chat window chrome 2025-12-27 02:51:59 +01:00
Peter Steinberger
095c16a07f fix(macos): enforce chat window default size 2025-12-27 02:43:50 +01:00
Peter Steinberger
aafd104483 fix(macos): stabilize menu width tracking 2025-12-27 02:43:50 +01:00
Peter Steinberger
310c9bd083 fix(macos): lock menu width on hover 2025-12-27 01:50:25 +01:00
Peter Steinberger
c740d98a3c chore: update protocol models 2025-12-27 01:45:58 +01:00
Peter Steinberger
3938e89642 fix: resolve CI lint and android build 2025-12-27 01:41:43 +01:00
Peter Steinberger
6fdefd9441 refactor: node tools and canvas host url 2025-12-27 01:36:29 +01:00
Peter Steinberger
8c5761581a fix(macos): enforce node bridge timeouts 2025-12-27 00:02:41 +01:00
Peter Steinberger
497b5b8ab1 fix(macos): refresh menu sessions without resizing 2025-12-26 22:48:58 +01:00
Peter Steinberger
cf9f577d87 fix(macos): expand highlighted menu rows to full width 2025-12-26 22:41:29 +01:00
Peter Steinberger
5f0c1d296b fix(macos): stabilize menu row width 2025-12-26 22:34:18 +01:00
Peter Steinberger
173cefd0f0 feat(mac): add allow camera toggle 2025-12-26 21:33:22 +00:00
Peter Steinberger
ff2d04af2f feat(mac): add discord connections UI 2025-12-26 21:33:22 +00:00
Peter Steinberger
8596b70813 fix(macos): expand menu hover highlight width 2025-12-26 22:30:29 +01:00
Peter Steinberger
a2b465a181 fix(macos): keep menu width stable while open 2025-12-26 22:27:24 +01:00
Peter Steinberger
14f06a2216 fix(macos): detect and reset stale SSH tunnels 2025-12-26 22:12:33 +01:00
Peter Steinberger
392a798700 fix(nodes): improve version reporting 2025-12-26 21:45:00 +01:00
Peter Steinberger
84f77a7a17 feat(mac): add node ssh and compact versions 2025-12-26 20:42:49 +00:00
Peter Steinberger
6f7aaf0f73 fix(mac): reorder menu toggles 2025-12-26 20:42:45 +00:00
Peter Steinberger
baf2d574e8 fix(mac): move action group below toggles 2025-12-26 20:31:37 +00:00
Peter Steinberger
564bd85cac fix(ios): accept truthy A2UI ready check 2025-12-26 21:17:37 +01:00
Peter Steinberger
bcfd8bd9a3 fix(mac): refine node submenu copy behavior 2025-12-26 20:05:23 +00:00
Peter Steinberger
45a86653d4 fix(a2ui): center empty canvas text 2025-12-26 20:43:45 +01:00
Peter Steinberger
7075ce7815 fix(mac): align node details 2025-12-26 19:32:48 +00:00
Peter Steinberger
ce098c3dde fix(mac): show node versions in menu 2025-12-26 19:25:28 +00:00
Peter Steinberger
f8ed7ca501 fix(mac): tweak menu icons 2025-12-26 19:23:53 +00:00
Peter Steinberger
abe833e23a fix(mac): regroup menubar sections 2025-12-26 19:18:12 +00:00
Peter Steinberger
72c09f4769 refactor: make browser actions ref-only 2025-12-26 19:02:27 +00:00
Peter Steinberger
cbf0e8a2f2 feat(mac): refine menubar nodes layout 2025-12-26 19:02:27 +00:00
Peter Steinberger
62f1a6cb46 fix(canvas): center debug status overlay 2025-12-26 20:01:23 +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
Shadow
c717aa0c72 feat(discord): Discord transport 2025-12-26 13:20:30 +01:00
Peter Steinberger
e6b9dbf395 chore: require node >=22.12 and fix swiftformat lint 2025-12-25 23:02:31 +01:00
Peter Steinberger
0e3e0d2873 fix(webchat): refresh bubbles on theme change 2025-12-25 22:35:46 +01:00
Peter Steinberger
f7ad2e0c02 fix: align chat scroll anchor 2025-12-25 04:10:47 +01:00
Peter Steinberger
6028d21691 fix: silence view warnings 2025-12-25 03:23:31 +01:00
Peter Steinberger
140ff512e1 fix: default tailscale serve in settings 2025-12-24 22:09:23 +00:00
Peter Steinberger
886475cc74 refactor: split utilities 2025-12-24 22:16:06 +01:00
Peter Steinberger
0053138aaf fix: resolve coverage profile symbol at runtime 2025-12-24 21:43:46 +01:00
Peter Steinberger
b83024e03c refactor: split canvas window 2025-12-24 21:04:52 +01:00
Peter Steinberger
e9edeb34ca fix: allow overlay present access 2025-12-24 20:24:37 +01:00
Peter Steinberger
82e90ec4ba fix: restore voice wake overlay build 2025-12-24 20:17:01 +01:00
Peter Steinberger
cea7d9c8b8 refactor: split voice wake overlay 2025-12-24 20:09:56 +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
786733d251 refactor: split critter status label 2025-12-24 19:56:24 +01:00
Peter Steinberger
2eccb69ce3 style: format port guardian 2025-12-24 19:41:32 +01:00
Peter Steinberger
dfef6c42e0 style: format cron settings 2025-12-24 19:40:11 +01:00
Peter Steinberger
714dc63942 refactor: split cron settings 2025-12-24 19:36:10 +01:00
Peter Steinberger
9eb24d9b9a test: add mac coverage helpers 2025-12-24 19:29:44 +01:00
Peter Steinberger
d6deef90e3 refactor: split onboarding view 2025-12-24 19:29:27 +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
09a42c08d6 style: format macos sources 2025-12-24 17:47:35 +01:00
Peter Steinberger
06458da151 test: expand overlay coverage 2025-12-24 17:43:30 +01:00
Peter Steinberger
aac4c14cd3 test: expand menu and node coverage 2025-12-24 17:43:30 +01:00
Peter Steinberger
6ae7613c15 test: expand settings coverage 2025-12-24 17:43:30 +01:00
Peter Steinberger
e4b38ab895 test: expand onboarding coverage 2025-12-24 17:43:30 +01:00
Peter Steinberger
216a1ef208 test: add coverage flush helper 2025-12-24 17:43:30 +01:00
Peter Steinberger
ca92766282 fix: use recognition update segments 2025-12-24 15:27:06 +01:00
Peter Steinberger
b3a3ab1912 style: swiftformat chat ui 2025-12-24 15:10:31 +01:00
Peter Steinberger
851dacbd25 fix: address swiftlint warnings 2025-12-24 15:10:22 +01:00
Peter Steinberger
52e8958c22 ui: merge tool call results 2025-12-24 14:38:43 +01:00
Peter Steinberger
25ba8393c9 fix: import AnyCodable for tool cards 2025-12-24 14:35:06 +01:00
Peter Steinberger
3d76850589 ui: render tool call cards 2025-12-24 14:29:40 +01:00
Peter Steinberger
604d96b26d ui: constrain typing indicator width 2025-12-24 14:10:32 +01:00
Peter Steinberger
5dfed40cc9 test: cover overlay level throttling 2025-12-24 13:54:03 +01:00
Peter Steinberger
a15721a20b perf: throttle voice overlay updates 2025-12-24 13:51:41 +01:00
Peter Steinberger
96107ae85e perf: gate idle pulse animations 2025-12-24 13:51:40 +01:00
Peter Steinberger
2bd6e2aa4f perf: reduce chat animation churn 2025-12-24 13:51:40 +01:00
Peter Steinberger
b55ed0b7fa style: swiftformat gateway process manager 2025-12-24 00:33:40 +00:00
Peter Steinberger
d980ce77f2 refactor: move inbound config 2025-12-24 00:22:52 +00:00
Peter Steinberger
ba3eab35cf refactor: update macOS config paths 2025-12-23 23:45:27 +00:00
Peter Steinberger
8486a9652b refactor: drop PAM auth and require password for funnel 2025-12-23 13:13:09 +00:00
Peter Steinberger
f98dcdedec fix: avoid spawning duplicate gateway when external listener exists 2025-12-23 12:43:51 +00:00
Peter Steinberger
6751c35779 fix: relax Sparkle delegate isolation 2025-12-23 03:36:56 +01:00
Peter Steinberger
ad0c42f327 fix: isolate Sparkle delegate conformance 2025-12-23 03:28:39 +01:00
Peter Steinberger
a99616ab83 fix: isolate updater factory on main actor 2025-12-23 03:16:47 +01:00
Peter Steinberger
fd02f4b759 chore: update gateway protocol models 2025-12-23 03:05:04 +01:00
Peter Steinberger
bc05e9f722 style: format macOS sources 2025-12-23 03:02:09 +01:00
Tu Nombre Real
fe7b17e098 fix(macOS): remove redundant kickstart -k causing gateway restart loop
The launchd bootstrap already starts the gateway job. The subsequent
kickstart -k was killing it immediately after startup, and combined
with KeepAlive=true, this caused a port-conflict restart loop where
launchd would try to restart while the old instance was still
shutting down.

Symptoms: 'Bootstrap failed: 5: Input/output error' and repeated
'Gateway failed to start: another gateway instance is already
listening' messages in the log.
2025-12-23 01:57:54 +01:00
Peter Steinberger
eb41ee69c0 feat(mac): surface update-ready state 2025-12-23 01:42:33 +01:00
Peter Steinberger
bd14186928 chore: format wake gate + chat theme 2025-12-23 01:41:13 +01:00
Peter Steinberger
f38300e756 fix(mac): default session menu checks 2025-12-23 01:36:01 +01:00
Peter Steinberger
23230afc9b chore: remove shared build artifacts 2025-12-23 01:32:02 +01:00
Peter Steinberger
eaac00ebc3 feat: share wake gate via SwabbleKit 2025-12-23 01:31:59 +01:00
Peter Steinberger
c09dc4d635 refactor: remove session syncing metadata 2025-12-23 00:50:51 +01:00
Peter Steinberger
9941ead528 style(mac): increase session row padding 2025-12-23 00:10:38 +01:00
Peter Steinberger
df668c0e5b fix(mac): drop syncing menu + show state checks 2025-12-23 00:10:38 +01:00