Commit Graph

69 Commits

Author SHA1 Message Date
Peter Steinberger
29df1639ed Generalize prefix config: messagePrefix + responsePrefix
Replaces samePhoneMarker/samePhoneResponsePrefix with:
- messagePrefix: prefix for all inbound messages
  - Default: '[warelay]' if no allowFrom, else ''
- responsePrefix: prefix for all outbound replies

Also adds timestamp options:
- timestampPrefix: boolean to enable [Nov 29 06:30] format
- timestampTimezone: IANA timezone (default UTC)

Updated README with new config table entries.
2025-11-29 05:27:58 +00:00
Peter Steinberger
a7b6914a64 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
d78f4abe2d Fix broken link: claude-config.md -> clawd.md 2025-11-28 05:19:43 +00:00
Peter Steinberger
2a4f56e66b 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
301630a65f Docs: link Clawd setup and current config 2025-11-27 18:17:17 +01:00
Peter Steinberger
561b17cbae Update README.md 2025-11-27 18:14:54 +01:00
Peter Steinberger
44570769b7 Heartbeat: add ultrathink marker 2025-11-27 03:15:51 +01:00
Peter Steinberger
cb050b022f Heartbeat: session-id override and safer fallback 2025-11-26 18:19:54 +01:00
Peter Steinberger
ba543640d3 Heartbeat: harden targeting and support lid mapping 2025-11-26 18:15:57 +01:00
Peter Steinberger
b13fa6bcc3 CLI: rename heartbeat tmux helper and log file path 2025-11-26 18:00:23 +01:00
Peter Steinberger
1c64f83b31 Heartbeat: add relay helper and fix CLI tests 2025-11-26 17:49:34 +01:00
Peter Steinberger
4c58baa14b docs: document heartbeat idle override and tests 2025-11-26 17:31:56 +01:00
Peter Steinberger
a6af33d262 docs: document heartbeat triggers 2025-11-26 17:05:09 +01:00
Peter Steinberger
2bb62c1594 docs: finalize web refactor and coverage 2025-11-26 02:54:43 +01:00
Peter Steinberger
2af00b9765 Auto-reply: refresh typing indicator every 8s 2025-11-26 01:27:51 +01:00
Peter Steinberger
41dc5ed5eb feat: keep typing indicators alive during commands 2025-11-26 00:05:11 +01:00
Peter Steinberger
1dfc2ccf6e feat: send session prompt once 2025-11-25 23:52:38 +01:00
Peter Steinberger
cb61b9ff84 docs: document media caps and tidy web tests 2025-11-25 23:43:57 +01:00
Peter Steinberger
9992f778e6 docs: clarify transcript prompt and config 2025-11-25 23:14:23 +01:00
Peter Steinberger
9b8bcf36c3 feat: optional audio transcription via CLI 2025-11-25 23:06:54 +01:00
Peter Steinberger
62a746f8c3 docs: document media resize config 2025-11-25 22:16:09 +01:00
Peter Steinberger
47a79e7a93 Release 0.1.3 2025-11-25 16:53:30 +01:00
Peter Steinberger
55ffef744a Update README.md 2025-11-25 14:52:43 +01:00
Peter Steinberger
0595c8de1f docs: simplify FAQ heading 2025-11-25 14:51:20 +01:00
Peter Steinberger
6a29eae01e docs: restyle README badges below header 2025-11-25 14:42:12 +01:00
Peter Steinberger
c55170711f docs: add README header image 2025-11-25 14:29:21 +01:00
Peter Steinberger
15c02b078f chore: prep 0.1.1 (version bump, lowercase branding, ua update) 2025-11-25 14:13:17 +01:00
Peter Steinberger
84b623e6de Restore original tagline 2025-11-25 13:51:13 +01:00
Peter Steinberger
9c05354d2b Align header with steipete tagline 2025-11-25 13:50:18 +01:00
Peter Steinberger
d6929e0400 docs: add CI/npm/license badges 2025-11-25 12:49:44 +01:00
Peter Steinberger
b07155206d docs: tagline in header 2025-11-25 12:48:40 +01:00
Peter Steinberger
ede043a16a docs: add README tagline 2025-11-25 12:47:37 +01:00
Peter Steinberger
26d132d02b CLI: add verbose flag to send and status 2025-11-25 12:43:20 +01:00
Peter Steinberger
137fd4293b Cleanup: remove deprecated up alias and update ingress docs 2025-11-25 12:40:56 +01:00
Peter Steinberger
78e53b53f1 CLI: unify webhook ingress and keep up as tailscale alias 2025-11-25 12:38:38 +01:00
Peter Steinberger
6a0b4c12b4 Update README.md 2025-11-25 12:31:27 +01:00
Peter Steinberger
47ae2065ad Docs: swap example Twilio number for randomized placeholder 2025-11-25 12:31:07 +01:00
Peter Steinberger
91c01847c6 CLI: drop web:login alias and simplify web quickstart 2025-11-25 12:30:43 +01:00
Peter Steinberger
05976b8cbb Update README.md 2025-11-25 12:28:07 +01:00
Peter Steinberger
b4c340969d Docs: add Claude CLI config guide and link from README 2025-11-25 12:11:05 +01:00
Peter Steinberger
ca15e27bdb Tidy docs: drop '(new)' from images section 2025-11-25 12:01:15 +01:00
Peter Steinberger
ab6b11dd1b Prepare 0.1.0 changelog and npm-focused quickstart 2025-11-25 12:00:48 +01:00
Peter Steinberger
83b6da0f28 Add release checklist and adjust README tagline 2025-11-25 11:59:15 +01:00
Peter Steinberger
c41da2384a docs: compact auto-reply parameter table 2025-11-25 05:54:23 +01:00
Peter Steinberger
92cba9c6a9 docs: add image send quickstart 2025-11-25 04:58:59 +01:00
Peter Steinberger
d8d5d278cf docs: add guidance to use dedicated WhatsApp account 2025-11-25 04:46:14 +01:00
Peter Steinberger
f7b2e07988 docs: fix markdown escaping in README 2025-11-25 04:45:43 +01:00
Peter Steinberger
b5d67a4742 docs: expand README with Claude setup and FAQ 2025-11-25 04:44:10 +01:00
Peter Steinberger
a12aa733cd feat: retries for webhook bring-up and send --json docs 2025-11-25 04:10:20 +01:00
Peter Steinberger
0826596ba0 docs: note dry-run and config validation 2025-11-25 03:52:48 +01:00