Commit Graph

49 Commits

Author SHA1 Message Date
Nimrod Gutman
c30797c2ca refactor(gateway): share request encoding 2026-01-25 11:48:22 +00:00
Nimrod Gutman
c9cb57fa7f fix(node): avoid invoke result deadlock 2026-01-25 11:48:22 +00:00
Peter Steinberger
6738ef85c4 fix: regenerate protocol models 2026-01-25 01:12:49 +00:00
Peter Steinberger
1db868b0fa chore: update protocol artifacts 2026-01-24 11:28:24 +00:00
Peter Steinberger
3cc666c8a2 fix: sync protocol swift models 2026-01-24 06:01:19 +00:00
Peter Steinberger
1b40881daf fix: regenerate protocol swift models 2026-01-24 05:41:00 +00:00
Peter Steinberger
c60cedaafc fix: stabilize tests and sync protocol models 2026-01-24 00:25:58 +00:00
Peter Steinberger
c2837c1b5f fix: export sessions preview payload init 2026-01-22 12:23:59 +00:00
Peter Steinberger
73cafb63c6 chore: update protocol Swift models 2026-01-22 11:02:15 +00:00
Peter Steinberger
4c5068fe81 feat: add sessions preview rpc and menu prewarm 2026-01-22 10:21:50 +00:00
Peter Steinberger
6c3a15f45b fix: keep chat pinned on stream 2026-01-22 07:35:50 +00:00
Peter Steinberger
9ac47ca07a fix: stabilize avatar tests on Windows 2026-01-22 07:24:12 +00:00
Peter Steinberger
cc9668589a fix: improve gateway ssh auth handling 2026-01-22 06:54:08 +00:00
Peter Steinberger
9e96b74a13 fix: handle Windows safe-bin exe names 2026-01-22 01:30:06 +00:00
Nimrod Gutman
883efdaaaa fix(node): handle invoke approvals and errors 2026-01-22 00:46:31 +00:00
Peter Steinberger
6b7bcc9e8e fix: stabilize ci 2026-01-21 22:59:11 +00:00
Vignesh Natarajan
b3c3cfd11e fix(node): enforce node.invoke timeout in node client
Use the timeout provided on node invoke requests to ensure node
clients always respond with a result.

This prevents gateway-side node.invoke calls from hanging until the
gateway timeout when a node command stalls.

Tests:
- swift test --filter GatewayNodeSessionTests
2026-01-20 20:50:20 -08:00
Peter Steinberger
d47ebd8ea1 fix: omit null payloadJSON in node invoke results 2026-01-21 04:13:47 +00:00
Peter Steinberger
9382e169d9 fix(macos): ignore launchd token in remote mode 2026-01-21 03:34:51 +00:00
Peter Steinberger
81fcefca51 chore: sync protocol outputs 2026-01-21 00:19:53 +00:00
Peter Steinberger
ee79a9455a fix: silence macos warning noise 2026-01-20 15:48:52 +00:00
Peter Steinberger
b2e4f416f4 fix: bridge gateway anycodable payloads 2026-01-20 15:48:52 +00:00
Peter Steinberger
8c2a478c6d fix: shorten bonjour gateway service type 2026-01-20 15:10:06 +00:00
Peter Steinberger
954ea86a46 fix: sync mobile gateway auth v3 2026-01-20 13:30:40 +00:00
Peter Steinberger
e8d5d2f816 feat: enrich presence with roles 2026-01-20 13:04:20 +00:00
Peter Steinberger
b2b4f9492c feat: wire role-scoped device creds 2026-01-20 13:04:19 +00:00
Peter Steinberger
ce1a36ffe0 feat: enforce device-bound connect challenge 2026-01-20 13:04:19 +00:00
Ryan Lisse
ab0bfee2f0 fix(ios): replace FileManager.default with FileManager() for Swift 6.2 compatibility 2026-01-20 07:37:01 +00:00
Peter Steinberger
ab5692cb27 fix: stabilize gateway ws + iOS 2026-01-19 10:09:04 +00:00
Peter Steinberger
a9ecdbd1dc refactor: migrate iOS gateway to unified ws 2026-01-19 10:08:33 +00:00
Peter Steinberger
41d7b0f07c refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
Peter Steinberger
f5fe41045d feat: surface node core/ui versions in macOS 2026-01-18 16:00:36 +00:00
Peter Steinberger
4dadb28d3b feat: add exec approvals tooling and service status 2026-01-18 15:23:41 +00:00
Peter Steinberger
0ecd13b7a2 feat: add exec host routing + node daemon 2026-01-18 07:46:00 +00:00
Peter Steinberger
5fa9bee53c feat: add exec host approvals flow 2026-01-18 04:27:41 +00:00
Peter Steinberger
5b05b727ce feat: add exec approvals allowlists 2026-01-18 01:34:31 +00:00
Peter Steinberger
767496255b fix: wire markdown variant renderer 2026-01-16 09:19:25 +00:00
Peter Steinberger
afd27925ce refactor: consolidate chat markdown rendering 2026-01-16 09:16:43 +00:00
Peter Steinberger
dbba858679 feat: render native chat markdown via Textual 2026-01-16 09:02:27 +00:00
Peter Steinberger
6c901fb7df feat: add system.which bin probe 2026-01-16 07:31:41 +00:00
Peter Steinberger
60b733794e fix: use canonical main session keys in apps 2026-01-15 08:59:05 +00:00
Peter Steinberger
7b49e1bb81 fix(macos): onboarding location + layout 2026-01-11 01:36:00 +01:00
Peter Steinberger
f012e08074 refactor(shared): default ToolDisplay config 2026-01-10 16:23:53 +00:00
Peter Steinberger
68927ca21c refactor(apple): share AsyncTimeout helper 2026-01-10 16:23:53 +00:00
Peter Steinberger
bd8b92a48e refactor: stop pinning hardcoded main session in chat UI 2026-01-09 23:20:58 +01:00
gupsammy
135fe4a148 fix(macos): prevent crash from missing ClawdbotKit resources and Swift library
The macOS app was crashing in two scenarios:

1. Bundle.module crash (fixes #213): When the first tool event arrived,
   ToolDisplayRegistry tried to load config via ClawdbotKitResources.bundle,
   which used Bundle.module directly. In packaged apps, Bundle.module
   couldn't find the resource bundle at the expected path, causing a
   fatal assertion failure after ~40-80 minutes of runtime.

2. dyld crash (fixes #417): Swift 6.2 requires libswiftCompatibilitySpan.dylib
   but SwiftPM doesn't bundle it automatically, causing immediate crash on
   launch with "Library not loaded" error.

Changes:
- ClawdbotKitResources.swift: Replace direct Bundle.module access with a
  safe locator that checks multiple paths and falls back gracefully
- package-mac-app.sh: Copy ClawdbotKit_ClawdbotKit.bundle to Resources
- package-mac-app.sh: Copy libswiftCompatibilitySpan.dylib from Xcode
  toolchain to Frameworks

Tested on macOS 26.2 with Swift 6.2 - app launches and runs without crashes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 19:24:20 +00:00
Peter Steinberger
3e5a784d04 fix(ClawdbotKit): bundle tool-display.json 2026-01-07 18:30:45 +00:00
Peter Steinberger
fa4d5cb362 chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
Peter Steinberger
f7cb3846f1 chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00