Commit Graph

164 Commits

Author SHA1 Message Date
Peter Steinberger
ede3cd78c8 docs: document testing kit 2026-01-10 01:15:47 +00:00
Peter Steinberger
a29f5dda2e test(live): gateway smoke across profile-key models 2026-01-10 01:09:41 +00:00
Peter Steinberger
3ed877a813 fix: sandbox browser CDP proxy 2026-01-10 01:09:41 +00:00
Peter Steinberger
cb10682d3e fix(openai): avoid invalid reasoning replay 2026-01-10 00:45:10 +00:00
Peter Steinberger
0730e15c6c fix: verify bundled relay with version check (#615) (thanks @YuriNachos) 2026-01-09 23:40:52 +01:00
Yurii Chukhlib
9c05675d66 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
55e830b009 fix: harden onboarding for non-systemd environments 2026-01-09 22:17:09 +01:00
Peter Steinberger
834e2b82f3 docs: comment doctor switch e2e 2026-01-09 18:16:59 +01:00
Peter Steinberger
044ea90dde fix: repair doctor service install switches 2026-01-09 17:50:28 +01:00
Peter Steinberger
ee70a1d1fb fix(status): use claude-cli token for usage 2026-01-09 16:24:55 +00:00
Peter Steinberger
e8d75a39bc ci: drop output sanitize wrapper 2026-01-09 16:49:12 +01:00
Peter Steinberger
014a4d51a6 feat(status): add claude.ai usage fallback 2026-01-09 15:34:58 +00:00
Peter Steinberger
92b792b3f0 fix: land #569 (thanks @bjesuiter) 2026-01-09 15:32:55 +01:00
Peter Steinberger
7b81d97ec2 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
a0bb2bccaf Onboarding: add MiniMax hosted API key option 2026-01-09 13:39:28 +01:00
Josh Palmer
7b79823b24 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
151523f47b feat: add usage cost reporting 2026-01-09 02:29:54 +00:00
Peter Steinberger
948ce5eb5f feat(models): add oauth auth health 2026-01-09 00:34:38 +00:00
L36 Server
6484195bfe scripts: add auth management and Termux widget scripts 2026-01-09 00:34:38 +00:00
gupsammy
29e9a574b0 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
19595a8f99 refactor: simplify cli commands 2026-01-08 07:16:12 +01:00
Peter Steinberger
8b7b86ada8 docs: keep steipete first 2026-01-08 07:02:17 +01:00
Peter Steinberger
9eb71b1f88 docs: trim clawtributors overrides 2026-01-08 06:30:08 +01:00
Peter Steinberger
41f972c307 docs: infer logins from email local 2026-01-08 06:26:50 +01:00
Peter Steinberger
b0f4e0cfdc docs: prioritize steipete in clawtributors 2026-01-08 06:22:34 +01:00
Peter Steinberger
689875dfbb docs: dedupe clawtributors names 2026-01-08 06:20:47 +01:00
Peter Steinberger
fe17743696 docs: keep full clawtributors list 2026-01-08 06:16:52 +01:00
Peter Steinberger
3c20e72e33 docs: refresh clawtributors list 2026-01-08 05:48:29 +01:00
Peter Steinberger
67d1f61872 fix: harden session caching and topic transcripts 2026-01-07 22:51:26 +00:00
hsrvc
5400766b3c 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
aa87d6cee8 refactor(relay): add --smoke entrypoint 2026-01-07 03:12:30 +00:00
Peter Steinberger
2a50eadcc1 fix(ui): self-heal ui builds 2026-01-06 16:03:04 +01:00
Peter Steinberger
c27dd75135 build(control-ui): prefer bun for UI build 2026-01-06 09:08:25 +01:00
Ayaan Zaidi
7a48b908e4 refactor: replace tsx with bun for TypeScript execution (#278) 2026-01-06 07:14:08 +00:00
Ayaan Zaidi
a79c100594 fix: targetDir symlink handling in postinstall script (#272) 2026-01-05 23:36:11 -06:00
Peter Steinberger
c1698b6975 docs: add bun install support 2026-01-06 03:41:56 +01:00
Peter Steinberger
17db03ad55 test: ignore SIGPIPE in docker e2e 2026-01-06 02:49:45 +01:00
Peter Steinberger
28fad05e96 test: stabilize docker onboarding e2e 2026-01-06 02:49:45 +01:00
Peter Steinberger
b85248bd07 fix: patch qrcode-terminal import for Node 22 2026-01-06 02:23:55 +01:00
Peter Steinberger
bc74e7cd9b docs: default mac build arch to host 2026-01-05 06:45:23 +01:00
Peter Steinberger
5dbbad0452 chore: default mac packaging to notarize 2026-01-05 04:22:58 +01:00
Peter Steinberger
e4335ea094 fix: bundle qr renderer in relay 2026-01-05 02:19:49 +01:00
Andranik Sahakyan
d9a9f6db7d 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
246adaa119 chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Peter Steinberger
4b3ca29404 build: add homebrew to sandbox image 2026-01-04 06:12:06 +00:00
Peter Steinberger
be9fa124df build: add pkg-config + libasound2-dev to sandbox image 2026-01-04 05:28:08 +00:00
Peter Steinberger
5673f4299a build: add sandbox common image builder 2026-01-04 04:17:13 +00:00
Peter Steinberger
f2ce455c8c fix: set writable home for sandbox browser 2026-01-04 03:49:39 +00:00
Peter Steinberger
70f79bd926 fix: stabilize sandbox browser startup 2026-01-04 03:45:14 +00:00
Peter Steinberger
52f59e6dc1 fix: drop stale ClawdisCLI build flag 2026-01-04 00:42:22 +01:00