Commit Graph

161 Commits

Author SHA1 Message Date
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
Peter Steinberger
d4e62f5d80 fix: land macos resource bundle guard (#473) — thanks @gupsammy 2026-01-08 19:24:20 +00: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
bb2ad2abb0 style: swiftformat sweep 2026-01-08 02:36:29 +00:00
Peter Steinberger
3e5a784d04 fix(ClawdbotKit): bundle tool-display.json 2026-01-07 18:30:45 +00:00
Marcus Neves
9572f92a0f Cron: normalize cron.add inputs + align channels (#256)
* fix: harden cron add and align channels

* fix: keep cron tool id params

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-06 02:09:48 +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
Peter Steinberger
eda4540021 fix: render thinking text in italics 2026-01-04 02:44:11 +01:00
Peter Steinberger
df609cdd27 feat: add node location support 2026-01-04 00:54:44 +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
e9e1b83418 fix: show rich session names in chat UIs 2026-01-03 05:07:13 +01:00
Peter Steinberger
12b2e98f59 fix: satisfy swiftformat for ios build 2026-01-02 18:48:05 +01:00
Peter Steinberger
95a6c4bceb feat: add camera list and device selection 2026-01-02 18:23:26 +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
Peter Steinberger
19eb761f57 fix: keep chat scrolled to bottom on session switch 2026-01-02 00:21:48 +01:00
Peter Steinberger
1775fd3de9 feat: add recent session switchers 2026-01-01 23:50:26 +01:00
Peter Steinberger
b41fbd8e41 chore: pin ElevenLabsKit + wizard note 2026-01-01 20:19:00 +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