Commit Graph

213 Commits

Author SHA1 Message Date
Peter Steinberger
59007a144b test(live): gateway smoke across profile-key models 2026-01-10 01:09:41 +00:00
Peter Steinberger
c94d67ac54 fix: sandbox browser CDP proxy 2026-01-10 01:09:41 +00:00
Peter Steinberger
4fb4184cea fix(openai): avoid invalid reasoning replay 2026-01-10 00:45:10 +00:00
Peter Steinberger
65d4f482a3 fix: verify bundled relay with version check (#615) (thanks @YuriNachos) 2026-01-09 23:40:52 +01:00
Yurii Chukhlib
3aaadea9d9 fix(build): remove non-functional smoke test from package-mac-app.sh
The --smoke qr argument was removed from the relay CLI, but the smoke
test remained in the macOS app packaging script. This caused the build
to fail with exit code 1 when the bundled relay didn't recognize the
argument.

Removes the 2-line smoke test section to fix the build.

Fixes #317

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-09 23:37:57 +01:00
Peter Steinberger
a9677bc137 fix: harden onboarding for non-systemd environments 2026-01-09 22:17:09 +01:00
Peter Steinberger
e64f0aedd1 docs: comment doctor switch e2e 2026-01-09 18:16:59 +01:00
Peter Steinberger
d77e19e8c4 fix: repair doctor service install switches 2026-01-09 17:50:28 +01:00
Peter Steinberger
ef5021a760 fix(status): use claude-cli token for usage 2026-01-09 16:24:55 +00:00
Peter Steinberger
402c588f4f ci: drop output sanitize wrapper 2026-01-09 16:49:12 +01:00
Peter Steinberger
c54af0658f feat(status): add claude.ai usage fallback 2026-01-09 15:34:58 +00:00
Peter Steinberger
7eba5be1f3 fix: land #569 (thanks @bjesuiter) 2026-01-09 15:32:55 +01:00
Peter Steinberger
947844117c feat: wire multi-agent config and routing
Co-authored-by: Mark Pors <1078320+pors@users.noreply.github.com>
2026-01-09 12:48:42 +00:00
Tobias Bischoff
89ff9aa65a Onboarding: add MiniMax hosted API key option 2026-01-09 13:39:28 +01:00
Josh Palmer
9d56b06c98 Adjust UI install for offline pnpm fetch (#568)
* 🤖 codex: make ui build install prod deps for offline pnpm (issue-pnpm-offline)

* 🤖 codex: ensure ui:test installs dev deps (issue-pnpm-offline)
2026-01-09 13:38:46 +01:00
Peter Steinberger
276f0b0407 feat: add usage cost reporting 2026-01-09 02:29:54 +00:00
Peter Steinberger
e91b36f89e feat(models): add oauth auth health 2026-01-09 00:34:38 +00:00
L36 Server
175ee23e9d scripts: add auth management and Termux widget scripts 2026-01-09 00:34:38 +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
497816dc80 refactor: simplify cli commands 2026-01-08 07:16:12 +01:00
Peter Steinberger
1e275be315 docs: keep steipete first 2026-01-08 07:02:17 +01:00
Peter Steinberger
970aae8b79 docs: trim clawtributors overrides 2026-01-08 06:30:08 +01:00
Peter Steinberger
1002668185 docs: infer logins from email local 2026-01-08 06:26:50 +01:00
Peter Steinberger
e3e84940c8 docs: prioritize steipete in clawtributors 2026-01-08 06:22:34 +01:00
Peter Steinberger
d62f008428 docs: dedupe clawtributors names 2026-01-08 06:20:47 +01:00
Peter Steinberger
7f453762d3 docs: keep full clawtributors list 2026-01-08 06:16:52 +01:00
Peter Steinberger
38f4a7facc docs: refresh clawtributors list 2026-01-08 05:48:29 +01:00
Peter Steinberger
fff3593984 fix: harden session caching and topic transcripts 2026-01-07 22:51:26 +00:00
hsrvc
9b56d89c7b Optimize multi-topic performance with TTL-based session caching
Add in-memory TTL-based caching to reduce file I/O bottlenecks in message processing:

1. Session Store Cache (45s TTL)
   - Cache entire sessions.json in memory between reads
   - Invalidate on writes to ensure consistency
   - Reduces disk I/O by ~70-80% for active conversations
   - Controlled via CLAWDBOT_SESSION_CACHE_TTL_MS env var

2. SessionManager Pre-warming
   - Pre-warm .jsonl conversation history files into OS page cache
   - Brings SessionManager.open() from 10-50ms to 1-5ms
   - Tracks recently accessed sessions to avoid redundant warming

3. Configuration Support
   - Add SessionCacheConfig type with cache control options
   - Enable/disable caching and set custom TTL values

4. Testing
   - Comprehensive unit tests for cache functionality
   - Test cache hits, TTL expiration, write invalidation
   - Verify environment variable overrides

This fixes the slowness reported with multiple Telegram topics/channels.

Expected performance gains:
- Session store loads: 99% faster (1-5ms → 0.01ms)
- Overall message latency: 60-80% reduction for multi-topic workloads
- Memory overhead: < 1MB for typical deployments
- Disk I/O: 70-80% reduction in file reads

Rollback: Set CLAWDBOT_SESSION_CACHE_TTL_MS=0 to disable caching

🤖 Generated with Claude Code

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-07 22:51:26 +00:00
Peter Steinberger
4c28ab602b refactor(relay): add --smoke entrypoint 2026-01-07 03:12:30 +00:00
Peter Steinberger
eeed6ca96e fix(ui): self-heal ui builds 2026-01-06 16:03:04 +01:00
Peter Steinberger
67b2f07bfb build(control-ui): prefer bun for UI build 2026-01-06 09:08:25 +01:00
Ayaan Zaidi
757c19e6e7 refactor: replace tsx with bun for TypeScript execution (#278) 2026-01-06 07:14:08 +00:00
Ayaan Zaidi
233c318b39 fix: targetDir symlink handling in postinstall script (#272) 2026-01-05 23:36:11 -06:00
Peter Steinberger
7ba5ef9760 docs: add bun install support 2026-01-06 03:41:56 +01:00
Peter Steinberger
5adf62f706 test: ignore SIGPIPE in docker e2e 2026-01-06 02:49:45 +01:00
Peter Steinberger
7244cb7b46 test: stabilize docker onboarding e2e 2026-01-06 02:49:45 +01:00
Peter Steinberger
0e6b3e6a7e fix: patch qrcode-terminal import for Node 22 2026-01-06 02:23:55 +01:00
Peter Steinberger
e7f62c120b docs: default mac build arch to host 2026-01-05 06:45:23 +01:00
Peter Steinberger
2e1ac125db chore: default mac packaging to notarize 2026-01-05 04:22:58 +01:00
Peter Steinberger
aec8c93590 fix: bundle qr renderer in relay 2026-01-05 02:19:49 +01:00
Andranik Sahakyan
9ade229e09 fix(mac): add Sendable conformance to generated Swift protocol structs (#195)
* fix(mac): add Sendable conformance to generated Swift protocol structs

* fix(mac): make generated protocol types Sendable

* chore(mac): drop redundant Sendable extensions

* docs(changelog): thank @andranik-sahakyan for Sendable fix

* chore(swiftformat): exclude generated protocol models

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-04 22:39:21 +00:00
Peter Steinberger
f7cb3846f1 chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Peter Steinberger
e63c9a97cc build: add homebrew to sandbox image 2026-01-04 06:12:06 +00:00
Peter Steinberger
c7e1a69a77 build: add pkg-config + libasound2-dev to sandbox image 2026-01-04 05:28:08 +00:00
Peter Steinberger
a547db2f4f build: add sandbox common image builder 2026-01-04 04:17:13 +00:00
Peter Steinberger
bb4082b7a5 fix: set writable home for sandbox browser 2026-01-04 03:49:39 +00:00
Peter Steinberger
8ff81c5b07 fix: stabilize sandbox browser startup 2026-01-04 03:45:14 +00:00
Peter Steinberger
3caae04b1a fix: drop stale ClawdisCLI build flag 2026-01-04 00:42:22 +01:00
Peter Steinberger
f4c20d44da feat: add sandbox browser support 2026-01-03 22:14:18 +01:00
Peter Steinberger
28ec06cddc feat: add per-session agent sandbox 2026-01-03 21:41:58 +01:00
Peter Steinberger
294e831297 fix: document macOS permission requirements 2026-01-03 20:05:22 +01:00
Jake
12938be78b Scripts: Make ad-hoc fallback opt-in with stronger TCC warnings 2026-01-03 20:05:22 +01:00
Jake
375d97323f Scripts: Fallback to ad-hoc signing in codesign-mac-app.sh 2026-01-03 20:05:22 +01:00
Peter Steinberger
870f627c53 build: lock x86_64 relay to AVX2 2026-01-03 16:52:06 +01:00
Peter Steinberger
79d21b58e4 refactor: rename bundle identifiers to com.clawdis 2026-01-03 12:26:22 +01:00
Peter Steinberger
5dc3ee35b3 fix: use x86_64 bun for relay builds 2026-01-03 11:06:49 +01:00
Peter Steinberger
7c1baf5d08 fix: skip duplicate arch merge for Sparkle 2026-01-03 11:06:49 +01:00
Peter Steinberger
5cc8c0bfd5 fix: make Sparkle builds numeric + universal 2026-01-03 11:06:48 +01:00
Peter Steinberger
d34f9855c6 test: silence docker onboarding noise 2026-01-02 20:46:26 +01:00
Peter Steinberger
b4224050ba test: annotate onboarding docker e2e 2026-01-02 20:41:47 +01:00
Peter Steinberger
8fd433adb2 test: stabilize docker onboarding e2e 2026-01-02 20:40:33 +01:00
Peter Steinberger
bb01ad2b17 fix: add camera entitlement to macOS signing 2026-01-02 17:31:59 +01:00
Peter Steinberger
a6101b5600 test: harden wizard e2e flow 2026-01-01 21:09:32 +01:00
Peter Steinberger
b41fbd8e41 chore: pin ElevenLabsKit + wizard note 2026-01-01 20:19:00 +01:00
Peter Steinberger
45942f03de feat: expand wizard setup flow 2026-01-01 19:14:14 +01:00
Peter Steinberger
77a93a125d feat: expand onboarding wizard 2026-01-01 18:23:59 +01:00
Peter Steinberger
0390b6a15a test: add onboarding e2e harness 2026-01-01 18:01:42 +01:00
Petter Blomberg
a61fb5bcc9 macOS: move rpath configuration to build step for reliability 2026-01-01 17:44:39 +01:00
Petter Blomberg
0620f7380b scripts: fix ad-hoc signing crashes and bash unbound variable error 2026-01-01 15:29:01 +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
3c66c83f2f chore: add bench-model script 2026-01-01 08:59:31 +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
a676f8c60e Bundle Control UI in Mac app 2026-01-01 08:55:09 +01:00
Mariano Belinky
f81f9c4a17 Fix device model resources for Instances 2025-12-31 16:45:35 +01:00
Peter Steinberger
4d063ddb7f chore: harden restart script 2025-12-29 18:09:27 +01:00
Josh Palmer
f8e2670e70 chore(macos): harden mktemp templates in codesign 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
41b67fd3af chore: harden release checks 2025-12-27 19:35:39 +01:00
Peter Steinberger
6fdefd9441 refactor: node tools and canvas host url 2025-12-27 01:36:29 +01:00
Peter Steinberger
d22f60573c fix(macos): allow http loads in canvas webview 2025-12-27 00:20:58 +01:00
Peter Steinberger
a0a2ec51ee chore(ios): add team id helper 2025-12-26 18:16:13 +01:00
Peter Steinberger
356093dfce fix(a2ui): skip bundle when inputs unchanged 2025-12-26 18:11:00 +01:00
Peter Steinberger
1ba6bccf77 docs: add Sparkle HTML release notes 2025-12-25 04:27:20 +01:00
Peter Steinberger
fdecdfcafa chore: resolve docs list from cwd 2025-12-23 00:28:55 +00:00
Peter Steinberger
5e4084d0d3 build(mac): add notarize flow for release artifacts 2025-12-21 12:33:45 +01:00
Peter Steinberger
bf8f47e304 fix(mac): allow tailscale localapi http 2025-12-21 02:17:55 +00:00
Peter Steinberger
96dd222791 build: silence mac packaging warnings 2025-12-21 02:06:12 +01:00
Peter Steinberger
b1d89ab7fa perf(dmg): shrink rw image before lzma convert 2025-12-20 19:44:26 +00:00
Peter Steinberger
da8385745d refactor(macos): bundle single relay binary 2025-12-20 19:35:30 +00:00
Peter Steinberger
257d85c615 build(macos): bundle playwright in embedded gateway 2025-12-20 19:16:52 +00:00
Peter Steinberger
9adf4530b6 fix(macos): validate embedded CLI helper 2025-12-20 15:12:57 +00:00
Peter Steinberger
87ae486266 feat(skills): load bundled skills 2025-12-20 12:23:53 +00:00
Peter Steinberger
ad3fef6b6b refactor(canvas): host A2UI via gateway 2025-12-20 12:17:27 +00:00
Peter Steinberger
da1f09324d refactor(cli): unify on clawdis CLI + node permissions 2025-12-20 02:08:04 +00:00
Peter Steinberger
f6357c109b fix: align DMG background and icon layout 2025-12-19 22:38:36 +01:00
Peter Steinberger
8ce9e39874 build(macos): add dmg+zip packaging 2025-12-19 22:22:09 +01:00
Peter Steinberger
2a08560e76 perf(macos): compile embedded gateway with bytecode 2025-12-19 22:11:41 +01:00
Peter Steinberger
ec93b56c9d fix(macos): sign bun gateway with jit entitlements 2025-12-19 19:24:49 +01:00
Peter Steinberger
4327b01cfe build(macos): bundle bun gateway 2025-12-19 19:21:26 +01:00