Peter Steinberger
d0293649cd
fix(macos): refresh menu sessions without resizing
2025-12-26 22:48:58 +01:00
Peter Steinberger
5ffbddcc57
feat(mac): add allow camera toggle
2025-12-26 21:33:22 +00:00
Peter Steinberger
7daa93cf5a
fix(macos): expand menu hover highlight width
2025-12-26 22:30:29 +01:00
Peter Steinberger
1f25e38c2d
fix(macos): keep menu width stable while open
2025-12-26 22:27:24 +01:00
Peter Steinberger
c10a386d17
fix(macos): detect and reset stale SSH tunnels
2025-12-26 22:12:33 +01:00
Peter Steinberger
ec392dc870
feat(mac): add node ssh and compact versions
2025-12-26 20:42:49 +00:00
Peter Steinberger
e336b7f27e
fix: use final heartbeat payload
2025-12-26 20:39:20 +00:00
Peter Steinberger
ab73c40bfe
fix(mac): refine node submenu copy behavior
2025-12-26 20:05:23 +00:00
Peter Steinberger
1236c4dafb
refactor: make browser actions ref-only
2025-12-26 19:02:27 +00:00
Peter Steinberger
747cc4daa5
fix: gate libsignal session logs behind verbose
2025-12-26 19:02:27 +00:00
Peter Steinberger
ed2e738ea4
fix: provider startup order and enable flags
2025-12-26 16:54:53 +00:00
Peter Steinberger
15dbac8193
docs: update beta3 changelog
2025-12-26 17:21:29 +01:00
Peter Steinberger
54de5ad3fa
test: isolate vitest home
2025-12-26 11:45:16 +00:00
Peter Steinberger
2045487d5e
fix: extract quoted WhatsApp reply text
2025-12-26 10:51:08 +01:00
Peter Steinberger
112908886c
fix: log heartbeat failure reasons
2025-12-26 08:34:42 +00:00
Peter Steinberger
0d8e0ddc4f
feat: unify gateway heartbeat
2025-12-26 02:35:40 +01:00
Peter Steinberger
72267e97ca
docs: note hour durations
2025-12-26 01:36:08 +01:00
Peter Steinberger
9f7b1f0942
feat: move heartbeat config to agent.heartbeat
2025-12-26 01:13:42 +01:00
Peter Steinberger
1c88d9575e
fix(webchat): refresh bubbles on theme change
2025-12-25 22:35:46 +01:00
Peter Steinberger
1e4e02ddd3
docs: update beta3 changelog
2025-12-25 21:15:45 +00:00
Peter Steinberger
aafcd569b1
feat: line-based process logs
2025-12-25 18:03:57 +00:00
Peter Steinberger
dc93350e0a
docs: add background bash changelog
2025-12-25 00:54:08 +00:00
Peter Steinberger
1b69c94f76
docs: clarify reply threading change
2025-12-24 22:37:32 +01:00
Peter Steinberger
523d9ec3c2
feat: add gmail hooks wizard
2025-12-24 19:48:35 +00:00
Peter Steinberger
4a64e86ecb
chore: update changelog
2025-12-24 14:39:26 +00:00
Peter Steinberger
1ed5ca3fde
feat: add gateway webhooks
2025-12-24 14:33:05 +00:00
Peter Steinberger
b9c2bdf641
docs: update changelog
2025-12-24 13:52:41 +01:00
Peter Steinberger
20c7df35c4
docs: note config refactor
2025-12-24 00:24:05 +00:00
Peter Steinberger
0f06e9926b
docs: update routing/messages/session config
2025-12-24 00:22:57 +00:00
Peter Steinberger
f667d56701
fix: tag owner numbers in system prompt
2025-12-23 14:19:41 +00:00
Peter Steinberger
df5284beaf
fix: suppress thinking stream + typing
2025-12-23 14:17:18 +00:00
Peter Steinberger
863d26558a
fix: delay typing until reply payload
2025-12-23 13:55:01 +00:00
Peter Steinberger
cba12a1abd
fix: inject group activation in system prompt
2025-12-23 13:32:07 +00:00
Peter Steinberger
e54ed10bc1
fix: honor /new resets with mentions in groups
2025-12-23 13:20:11 +00:00
Peter Steinberger
c8c807adcc
refactor: drop PAM auth and require password for funnel
2025-12-23 13:13:09 +00:00
Peter Steinberger
cd6ed79433
fix: honor group requireMention default
2025-12-23 12:53:30 +00:00
Peter Steinberger
56245d5646
fix: strip repeated heartbeat ok tails
2025-12-23 03:12:24 +01:00
Peter Steinberger
4af08b1606
fix: preserve whatsapp group JIDs
2025-12-23 03:05:59 +01:00
Peter Steinberger
de1813ab32
docs: add beta3 changelog
2025-12-23 03:02:30 +01:00
Peter Steinberger
67a3dda53a
fix: inject reply context into body
2025-12-23 02:44:38 +01:00
Peter Steinberger
6550e7d562
fix: add whatsapp reply context
2025-12-23 02:30:21 +01:00
Peter Steinberger
6496a288b8
fix: add A2UI inset vars
2025-12-21 03:21:49 +01:00
Peter Steinberger
d2fda411f3
docs: add 2.0.0-beta2 changelog
2025-12-21 01:54:27 +01:00
Peter Steinberger
377169959d
chore: prep 2.0.0-beta1 release
2025-12-19 18:02:30 +01:00
Peter Steinberger
d182f7e4b2
chore(naming): remove Iris codename
2025-12-18 13:18:33 +01:00
Peter Steinberger
272015c701
Docs: document canvas.* node.invoke commands
2025-12-18 01:20:20 +00:00
Peter Steinberger
b443c20cef
docs(changelog): note macOS voice audio fix
2025-12-16 09:35:02 +00:00
Peter Steinberger
a9e1eabcbd
docs(changelog): add 2.0.0-beta1 entry
2025-12-14 00:34:22 +00:00
Peter Steinberger
89d5d807ee
docs: pi-only terminology
2025-12-13 13:26:44 +00:00
Peter Steinberger
00336f554f
docs: clarify voice wake last-channel routing
2025-12-12 16:26:19 +00:00
Peter Steinberger
a76d00a08e
chore: drop gateway ipc remnants
2025-12-09 20:21:41 +00:00
Peter Steinberger
a3bf2bdd8c
chore: rename relay to gateway
2025-12-09 18:00:01 +00:00
Peter Steinberger
1f19ca1665
chore: drop runner shim and add committer helper
2025-12-09 17:24:25 +00:00
Peter Steinberger
b6bd39660f
IPC: rename relay socket to gateway.sock
2025-12-09 17:04:58 +00:00
Peter Steinberger
90a0bb5acb
feat(cli): unify relay providers and heartbeat flag
2025-12-08 16:34:06 +01:00
Peter Steinberger
17fa2f4053
refactor(cli): drop tmux helpers and update help copy
2025-12-08 12:43:13 +01:00
Peter Steinberger
5f5846a08b
Telegram: enable grammY throttler and webhook tests
2025-12-07 22:52:57 +01:00
Peter Steinberger
d463c82c95
build: add local node bin to restart script PATH
2025-12-07 19:01:14 +01:00
Peter Steinberger
e2c6546b61
auto-reply: enrich chat status
2025-12-07 16:53:33 +00:00
Peter Steinberger
139697b9cd
voice wake: keep default key when identity is blank
2025-12-07 16:23:35 +01:00
Peter Steinberger
6c3d3b98b8
chore: purge warelay references
2025-12-07 03:36:57 +00:00
Peter Steinberger
757cedc233
fix: remove legacy relay references
2025-12-06 23:21:25 +00:00
Peter Steinberger
e863fd78d6
CLI: compact sessions table output
2025-12-06 00:49:21 +00:00
Peter Steinberger
28e0dbc02f
fix: harden directive handling
2025-12-05 23:43:30 +00:00
Peter Steinberger
d7a188fb34
fix: broaden prompt-echo guard and add heartbeat directive test
2025-12-05 22:56:07 +00:00
Peter Steinberger
4cb2a92037
fix: avoid echoing prompts when rpc returns empty
2025-12-05 22:52:21 +00:00
Peter Steinberger
24d90c17c2
fix: ignore directives inside history blocks
2025-12-05 22:49:41 +00:00
Peter Steinberger
fffe1be521
docs: note directive short-circuit
2025-12-05 21:30:01 +00:00
Peter Steinberger
e7a9313135
chore: remove twilio and expand pi cli detection
2025-12-05 21:13:23 +00:00
Peter Steinberger
c25b0c1a66
docs: update for web-only pi rpc
2025-12-05 19:04:09 +00:00
Peter Steinberger
fcf0c28132
chore: make pi-only rpc with fixed sessions
2025-12-05 17:50:02 +00:00
Peter Steinberger
916a41ed60
branding: default to clawdis paths and launchd label
2025-12-04 18:01:30 +00:00
Peter Steinberger
9797a9993a
docs: document agent CLI and changelog
2025-12-04 17:55:38 +00:00
Peter Steinberger
89d49cd925
chore: bump version to 1.4.0
2025-12-03 15:45:43 +00:00
Peter Steinberger
84f8d8733e
docs: note media-only mention fix
2025-12-03 15:45:43 +00:00
Peter Steinberger
a321bf1a90
fix(web): surface media fetch failures
2025-12-03 15:45:43 +00:00
Peter Steinberger
92a0763a74
changelog: note verbose tool emoji/previews
2025-12-03 15:45:43 +00:00
Peter Steinberger
b55ac994ea
feat(web): prime group sessions with member roster
2025-12-03 15:45:43 +00:00
Peter Steinberger
edc894f6c7
fix(web): annotate group replies with sender
2025-12-03 13:25:34 +00:00
Peter Steinberger
47d0b6fc14
changelog: note logging capture and verbose trace
2025-12-03 13:09:29 +00:00
Peter Steinberger
8204351d67
fix(web): allow group replies past allowFrom
2025-12-03 13:08:54 +00:00
Peter Steinberger
6afe6f4ecb
feat(web): add group chat mention support
2025-12-03 12:35:18 +00:00
Peter Steinberger
0824873ffb
Add /restart WhatsApp command to restart warelay
2025-12-03 12:14:32 +00:00
Peter Steinberger
3958450223
Tau RPC: resolve on agent_end or exit
2025-12-03 11:34:00 +00:00
Peter Steinberger
cc596ef011
Pi: resume Tau sessions with --continue
2025-12-03 11:33:51 +00:00
Peter Steinberger
341ecf3bbe
Docs: note 1s tool coalescing window
2025-12-03 10:19:10 +00:00
Peter Steinberger
38a03ff2c8
Verbose: batch rapid tool results
2025-12-03 10:11:41 +00:00
Peter Steinberger
527bed2b53
Verbose: include tool arg metadata in prefixes
2025-12-03 09:57:41 +00:00
Peter Steinberger
318166f8b0
Verbose: send tool result metadata only
2025-12-03 09:40:05 +00:00
Peter Steinberger
394c751d7d
Tau RPC: resolve on agent_end
2025-12-03 09:39:26 +00:00
Peter Steinberger
86d707ad51
Docs: note streaming verbose tool results
2025-12-03 09:22:43 +00:00
Peter Steinberger
85917d4769
Docs: mention verbose hints
2025-12-03 09:08:03 +00:00
Peter Steinberger
086dd284d6
Auto-reply: add /verbose directives and tool result replies
2025-12-03 09:04:37 +00:00
Peter Steinberger
48dfb1c8ca
Auto-reply: ack think directives
2025-12-03 08:54:38 +00:00
Peter Steinberger
5a83a44112
Docs: document thinking levels
2025-12-03 08:45:30 +00:00
Peter Steinberger
4faba0fe8b
Changelog: heartbeat array handling
2025-12-03 01:03:59 +00:00
Peter Steinberger
b6c45485bc
Auto-reply: smarter chunking breaks
2025-12-03 00:25:01 +00:00
Peter Steinberger
10182f1182
limits: chunk replies for twilio/web
2025-12-02 23:10:16 +00:00
Peter Steinberger
cfaec9d608
auto-reply: support multi-text RPC outputs
2025-12-02 23:03:55 +00:00
Peter Steinberger
ea32cd85fe
chore: cut 1.3.1 in changelog
2025-12-02 21:13:47 +00:00
Peter Steinberger
716524c151
docs: note media cleanup and tau rpc typing
2025-12-02 21:13:21 +00:00
Peter Steinberger
a0d1004909
test(media): add redirect coverage and update changelog
2025-12-02 21:09:26 +00:00
Peter Steinberger
202eff984d
docs: update agent guidance and changelog
2025-12-02 20:10:43 +00:00
Peter Steinberger
a34271adf9
chore: credit media fix contributor
2025-12-02 18:38:02 +00:00
Peter Steinberger
2cf134668c
fix(media): block symlink traversal
2025-12-02 18:37:15 +00:00
Peter Steinberger
26921cbe68
chore(logs): rotate daily and prune after 24h
2025-12-02 17:11:43 +00:00
Peter Steinberger
8844674825
chore(security): purge session store on logout
2025-12-02 16:33:44 +00:00
Peter Steinberger
c9fbe2cb92
chore(security): harden ipc socket
2025-12-02 16:09:40 +00:00
Peter Steinberger
2b941ccc93
Changelog: note multi-agent and batching
...
Co-authored-by: RealSid08 <RealSid08@users.noreply.github.com>
2025-12-02 11:11:50 +00:00
Peter Steinberger
52c311e47f
chore: bump version to 1.3.0
2025-12-02 07:54:49 +00:00
Peter Steinberger
96152f6577
Add typing indicator after IPC send
...
After sending via IPC, automatically show "composing" indicator so
user knows more messages may be coming from the running session.
2025-12-02 06:58:17 +00:00
Peter Steinberger
e86b507da7
Add IPC to prevent Signal session corruption from concurrent connections
...
When the relay is running, `warelay send` and `warelay heartbeat` now
communicate via Unix socket IPC (~/.warelay/relay.sock) to send messages
through the relay's existing WhatsApp connection.
Previously, these commands created new Baileys sockets that wrote to the
same auth state files, corrupting the Signal session ratchet and causing
the relay's subsequent sends to fail silently.
Changes:
- Add src/web/ipc.ts with Unix socket server/client
- Relay starts IPC server after connecting
- send command tries IPC first, falls back to direct
- heartbeat uses sendWithIpcFallback helper
- inbound.ts exposes sendMessage on listener object
- Messages sent via IPC are added to echo detection set
2025-12-02 06:31:07 +00:00
Peter Steinberger
2fc3a822c8
web: isolate session fixtures and skip heartbeat when busy
2025-12-02 06:17:16 +00:00
Peter Steinberger
1b0e1edb08
Update changelog with error message and test isolation fixes
2025-12-02 05:59:31 +00:00
Peter Steinberger
c5ab442f46
Fix empty result JSON dump and missing heartbeat prefix
...
Bug fixes:
- Empty result field handling: Changed truthy check to explicit type
check (`typeof parsed?.text === "string"`) in command-reply.ts.
Previously, Claude CLI returning `result: ""` would cause raw JSON
to be sent to WhatsApp.
- Response prefix on heartbeat: Apply `responsePrefix` to heartbeat
alert messages in runReplyHeartbeat, matching behavior of regular
message handler.
2025-12-02 04:29:17 +00:00
Peter Steinberger
c5677df56e
Increase watchdog timeout to 30 minutes
...
Changed from 10 to 30 minutes to avoid false positives when
heartbeatMinutes is set to 10. The watchdog should be significantly
longer than the heartbeat interval to account for:
- Network latency
- Slow command responses
- Brief connection hiccups
With heartbeatMinutes=10, a 30-minute watchdog gives 3x buffer before
triggering auto-restart.
2025-11-30 18:03:19 +00:00
Peter Steinberger
21ba0fb8a4
Fix test isolation to prevent loading real user config
...
Tests were picking up real ~/.warelay/warelay.json with emojis and
prefixes (like "🦞 "), causing test assertions to fail. Added proper
config mocks to all test files.
Changes:
- Mock loadConfig() in index.core.test.ts, inbound.media.test.ts,
monitor-inbox.test.ts
- Update test-helpers.ts default mock to disable all prefixes
- Tests now use clean config: no messagePrefix, no responsePrefix,
no timestamp, allowFrom=["*"]
This ensures tests validate core behavior without user-specific config.
The responsePrefix feature itself is already fully config-driven - this
only fixes test isolation.
2025-11-30 18:00:57 +00:00
Peter Steinberger
d88ede92b9
feat: same-phone mode with echo detection and configurable marker
...
Adds full support for self-messaging setups where you chat with yourself
and an AI assistant replies in the same WhatsApp bubble.
Changes:
- Same-phone mode (from === to) always allowed, bypasses allowFrom check
- Echo detection via bounded Set (max 100) prevents infinite loops
- Configurable samePhoneMarker in config (default: "[same-phone]")
- Messages prefixed with marker so assistants know the context
- fromMe filter removed from inbound.ts (echo detection in auto-reply)
- Verbose logging for same-phone detection and echo skips
Tests:
- Same-phone allowed without/despite allowFrom configuration
- Body prefixed only when from === to
- Non-same-phone rejected when not in allowFrom
2025-11-29 04:52:21 +00:00
Peter Steinberger
5bafe9483d
chore: release 1.2.2
2025-11-28 08:17:22 +01:00
Peter Steinberger
4e3663b4d4
chore: move heartbeat notes to unreleased 1.2.2
2025-11-28 08:14:51 +01:00
Peter Steinberger
c11abc1134
chore: release 1.2.1
2025-11-28 08:11:07 +01:00
Peter Steinberger
f63bdda628
docs: document mime-first media handling
2025-11-28 08:07:53 +01:00
Peter Steinberger
6d7e620430
Release 1.2.0
2025-11-27 18:52:26 +01:00
Peter Steinberger
0cc732dce3
Docs: refresh 1.2.0 changelog; fix webhook host import
2025-11-27 18:46:46 +01:00
Peter Steinberger
85f53a4174
Fix WebSocket crash + heartbeat default 10min + docs refresh
...
- Wrap Baileys connection.update listeners in try-catch to prevent
unhandled exceptions from crashing the relay process
- Add WebSocket-level error handlers in session.ts
- Add global unhandledRejection/uncaughtException handlers in index.ts
- Make listener.onClose error-safe with .catch() in auto-reply.ts
- Change default heartbeat from 30min to 10min
- Rewrite claude-config.md with personality, better explain personal
assistant features, add recommended MCPs section
2025-11-27 18:21:14 +01:00
Peter Steinberger
aa6637b47a
Heartbeat: session-id override and safer fallback
2025-11-26 18:19:54 +01:00
Peter Steinberger
8f6e43fd66
Changelog: bump to 1.2.0 unreleased
2025-11-26 18:18:13 +01:00
Peter Steinberger
c20a266a11
Heartbeat: harden targeting and support lid mapping
2025-11-26 18:15:57 +01:00
Peter Steinberger
7e5b3958cc
CLI: rename heartbeat tmux helper and log file path
2025-11-26 18:00:23 +01:00
Peter Steinberger
deded848ee
Heartbeat: add relay helper and fix CLI tests
2025-11-26 17:49:34 +01:00
Peter Steinberger
117161e6ff
docs: document heartbeat idle override and tests
2025-11-26 17:31:56 +01:00
Peter Steinberger
3998933b30
docs: document heartbeat triggers
2025-11-26 17:05:09 +01:00
Peter Steinberger
c9e2d69bfb
docs: open 1.1.x unreleased section
2025-11-26 03:33:44 +01:00
Peter Steinberger
5c66e8273b
chore: update changelog and surface web relay settings
2025-11-26 02:43:24 +01:00
Peter Steinberger
8682352edb
docs: trim changelog to user-facing auto-reply changes
2025-11-26 02:19:21 +01:00
Peter Steinberger
0145f3a585
docs: note auto-reply helper split
2025-11-26 02:18:39 +01:00
Peter Steinberger
e5f677803f
chore: format to 2-space and bump changelog
2025-11-26 00:53:53 +01:00
Peter Steinberger
d871dad85f
feat: keep typing indicators alive during commands
2025-11-26 00:05:11 +01:00
Peter Steinberger
2e3b8a03aa
feat: send session prompt once
2025-11-25 23:52:38 +01:00
Peter Steinberger
d924b7d283
docs: document media caps and tidy web tests
2025-11-25 23:43:57 +01:00
Peter Steinberger
5dced02a20
docs: clarify transcript prompt and config
2025-11-25 23:14:23 +01:00
Peter Steinberger
7d0ae151e8
feat: optional audio transcription via CLI
2025-11-25 23:06:54 +01:00
Peter Steinberger
0a0418b973
web: compress auto-reply media
2025-11-25 20:09:03 +01:00
Peter Steinberger
f81f432af5
Release 1.0.4
2025-11-25 18:12:44 +01:00
Peter Steinberger
dda017df23
Web relay: auto-reconnect Baileys and test
2025-11-25 18:09:57 +01:00
Peter Steinberger
46be5eac7d
Auto-reply: send timeout fallback and tests
2025-11-25 17:52:57 +01:00
Peter Steinberger
c251681a40
Chore: prep 0.1.4 unreleased placeholder and release guardrails
2025-11-25 17:08:13 +01:00
Peter Steinberger
9c25e15e92
Release 0.1.3
2025-11-25 16:53:30 +01:00
Peter Steinberger
bcbf0de240
Add cwd option for command replies
2025-11-25 16:19:24 +01:00
Peter Steinberger
4f27f4cf79
chore: trim 0.1.2 changelog entry
2025-11-25 14:50:34 +01:00
Peter Steinberger
b7c46909cd
chore: reorder changelog and add 0.1.3 stub
2025-11-25 14:47:48 +01:00
Peter Steinberger
80d9d288c2
chore: bump to 0.1.2 and fix commander typings
2025-11-25 14:26:55 +01:00
Peter Steinberger
f7cdb12101
chore: document 0.1.1 changes in changelog
2025-11-25 14:10:42 +01:00
Peter Steinberger
dd32638eb4
Cleanup: remove deprecated up alias and update ingress docs
2025-11-25 12:40:56 +01:00
Peter Steinberger
c83efdc5bc
CLI: unify webhook ingress and keep up as tailscale alias
2025-11-25 12:38:38 +01:00
Peter Steinberger
e6b98cb445
CLI: drop web:login alias and simplify web quickstart
2025-11-25 12:30:43 +01:00
Peter Steinberger
2efbcae449
Prepare 0.1.0 changelog and npm-focused quickstart
2025-11-25 12:00:48 +01:00