Commit Graph

948 Commits

Author SHA1 Message Date
Peter Steinberger
9101bda4b6 test: cover every schedule anchor boundary 2026-01-02 11:33:49 +01:00
Peter Steinberger
0a99379ee3 Merge pull request #80 from jamesgroat/fix/cron-every-schedule-infinite-loop
fix(cron): prevent every schedule from firing in infinite loop
2026-01-02 11:29:08 +01:00
Peter Steinberger
038d837f39 merge main into shadow/discord-id 2026-01-02 11:27:24 +01:00
Peter Steinberger
3a02d69c5a fix(discord): add tag/id to from label 2026-01-02 11:26:09 +01:00
Peter Steinberger
b2f7912e28 test: cover discord config + slug routing 2026-01-02 11:19:10 +01:00
Peter Steinberger
e19ef8605b feat: add discord guild map + group dm controls 2026-01-02 11:15:52 +01:00
Peter Steinberger
0f84464d4b fix: unbreak TypeScript build 2026-01-02 11:02:06 +01:00
Peter Steinberger
a8fc6f5761 fix: improve onboarding allowlist + Control UI link 2026-01-02 10:57:04 +01:00
Peter Steinberger
3266ad6211 fix: refine web chat session selector 2026-01-02 10:40:24 +01:00
Peter Steinberger
eff4a3da2d feat: add discord dm/guild allowlists 2026-01-02 10:32:21 +01:00
Peter Steinberger
ce319bef69 refactor: normalize group session keys 2026-01-02 10:14:58 +01:00
Shadow
56886cba4d feat: pass discord id to clawd so it can ping users 2026-01-01 23:30:03 -06:00
Peter Steinberger
29f6386d41 fix(media): preserve GIF animation, skip JPEG optimization
- Skip JPEG optimization for image/gif content type (both local and URL)
- Preserves animation in uploaded GIFs to Discord/other providers
- Added tests for GIF preservation from local files and URLs
- Updated changelog
2026-01-02 00:56:04 +00:00
Peter Steinberger
3e89059036 fix: refine HEARTBEAT_OK handling 2026-01-02 01:42:27 +01:00
James Groat
5bb0f2028e fix(cron): prevent every schedule from firing in infinite loop
When anchorMs is not provided (always in production), the schedule
computed nextRunAtMs as nowMs, causing jobs to fire immediately and
repeatedly instead of at the configured interval.

- Change nowMs <= anchor to nowMs < anchor to prevent early return
- Add Math.max(1, ...) to ensure steps is always at least 1
- Add test for anchorMs not provided case
2026-01-01 17:30:05 -07:00
Peter Steinberger
950340a634 style: apply biome formatting 2026-01-02 01:29:05 +01:00
Peter Steinberger
7f4ae6a690 feat: add imessage rpc adapter 2026-01-02 01:19:40 +01:00
Peter Steinberger
d8af307804 fix(logging): trim provider log prefixes 2026-01-02 00:15:01 +00:00
Peter Steinberger
e793be648d docs: default discord reactions to on 2026-01-02 01:11:04 +01:00
Peter Steinberger
cbbd5b8cd7 fix(gateway): stream chat events for agent runs 2026-01-02 01:04:59 +01:00
Peter Steinberger
6fe538276d feat: add discord reaction tool 2026-01-02 00:29:32 +01:00
Peter Steinberger
1d3ba3dbaf chore: refresh a2ui bundle hash 2026-01-02 00:17:59 +01:00
Peter Steinberger
251f5d2f8b fix: allow remote gateway password config 2026-01-02 00:17:54 +01:00
Peter Steinberger
6b06bc008f fix: add discord mention context history 2026-01-01 23:58:35 +01:00
Peter Steinberger
5073dd3392 fix: suppress stray HEARTBEAT_OK replies 2026-01-01 23:53:29 +01:00
Peter Steinberger
62f11c38ea fix(gateway): read CLAWDIS_GATEWAY_PASSWORD from env
The CLI client (callGateway) now reads password from:
1. opts.password (explicit parameter)
2. CLAWDIS_GATEWAY_PASSWORD env var (NEW)
3. remote.password from config

This allows CLI commands like doctor/health to authenticate
without needing a --password flag when the env var is set.

Fixes auth issues for users with password-protected gateways.
2026-01-01 22:40:36 +00:00
Peter Steinberger
ff4bab4f34 feat(cli): hint gateway reachability for local/remote 2026-01-01 23:30:02 +01:00
Peter Steinberger
1fc19964fd feat(cli): add provider setup primers 2026-01-01 23:22:52 +01:00
Peter Steinberger
c66f2048fe fix(cli): allow skipping skill dependency installs 2026-01-01 23:19:26 +01:00
Peter Steinberger
df7466d5ff fix(cli): colorize provider status note 2026-01-01 23:16:36 +01:00
Peter Steinberger
655e4708a0 feat(cli): explain Tailscale exposure options 2026-01-01 23:16:28 +01:00
Peter Steinberger
9bc0f2f79f feat(process): support env overrides in exec 2026-01-01 22:55:21 +01:00
Peter Steinberger
2d6f85fae1 fix(cli): improve skill install failure output 2026-01-01 22:55:15 +01:00
Peter Steinberger
5f658edac2 fix: preserve webchat run ordering 2026-01-01 22:46:43 +01:00
Peter Steinberger
e7f0564124 feat: add remote CDP browser support 2026-01-01 22:44:52 +01:00
Peter Steinberger
7a60e8fdd4 fix: gate skills by OS 2026-01-01 22:25:37 +01:00
Peter Steinberger
83351a3157 fix: refine A2UI status HUD styling 2026-01-01 20:47:51 +00:00
Peter Steinberger
4a59f635ed build: refresh a2ui bundle hash 2026-01-01 20:41:09 +00:00
Peter Steinberger
ab69dd7ff9 fix: resolve macOS config store concurrency 2026-01-01 21:31:37 +01:00
Peter Steinberger
f260e99a1c chore: fix lint warnings 2026-01-01 21:25:29 +01:00
Peter Steinberger
ef51c9a1b1 fix: align telegram token resolution 2026-01-01 21:22:59 +01:00
Peter Steinberger
e744cbc1cf feat: add remote gateway client config 2026-01-01 20:10:50 +01:00
Peter Steinberger
45942f03de feat: expand wizard setup flow 2026-01-01 19:14:14 +01:00
Peter Steinberger
7eb344546f fix(signal): map stderr INFO to log 2026-01-01 17:30:51 +00:00
Peter Steinberger
8b1bd7bae6 style: format onboarding commands 2026-01-01 17:30:51 +00:00
Peter Steinberger
77a93a125d feat: expand onboarding wizard 2026-01-01 18:23:59 +01:00
Peter Steinberger
f3f5f860cf fix: narrow onboarding prompt types 2026-01-01 17:14:02 +00:00
Peter Steinberger
3bcf99c08c style: apply biome formatting 2026-01-01 17:06:47 +00:00
Peter Steinberger
4debbca139 fix: keep pi-ai tool types for published sdk 2026-01-01 17:02:02 +00:00
Peter Steinberger
0390b6a15a test: add onboarding e2e harness 2026-01-01 18:01:42 +01:00