You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Runtime mirroring toggle with /tg slash command and status bar
Add `ctm toggle` subcommand that flips mirroring on/off via a shared
status.json file. The bridge daemon gates all Telegram sends through
an AtomicBool, and the hook fast-path skips socket connection entirely
when disabled (<1ms). A Command message type lets the CLI notify the
running daemon to flip state in real time.
- config.rs: MirrorStatus struct, read/write helpers with 0o600 perms
- main.rs: Toggle + Stop subcommands, status now shows mirroring state
- bridge.rs: mirroring_enabled AtomicBool, Command handler, PID in status
- hook.rs: early return when status.json says disabled
- .claude/commands/tg.md: /tg slash command triggers ctm toggle
- statusline.cjs: TG ON/OFF indicator in header (green/red)
- docs: updated for image/file transfer and hook format changes
Co-Authored-By: DreamLabAI <github@thedreamlab.uk>
Copy file name to clipboardExpand all lines: docs/PRD.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,6 +45,9 @@ The TypeScript implementation has 3 CRITICAL, 4 HIGH, and 3 MEDIUM security vuln
45
45
- All file operations via `OpenOptions::mode()`
46
46
- Zero `unsafe` blocks
47
47
- No shell interpolation anywhere
48
+
-**Bidirectional image/file transfer** — photos/documents from Telegram downloaded and injected into Claude; images/files sent to Telegram via bridge socket
49
+
-**Human-readable tool summaries** — rule-based with optional LLM fallback
50
+
-**Stale topic auto-cleanup** — dead sessions and their forum topics cleaned up automatically
0 commit comments