Skip to content

Commit 4e2ec2c

Browse files
johnsideserfclaude
andauthored
Add disappearing messages support (#61) (#97)
* Add disappearing messages support (#61) Store expiration metadata per-message and per-conversation, add /disappearing command to set timers via signal-cli RPC, show timer indicators in chat header and on messages, and periodically sweep expired messages from memory and DB. - DB migration v7: expiration_timer on conversations, expires_in_seconds + expiration_start_ms on messages - New ExpirationTimerChanged event replaces SystemMessage for timer updates - Extract expiresInSeconds from all incoming/sync messages - /disappearing (alias /dm) command with duration parser (off/30s/5m/1h/1d/1w) - Periodic 10-second sweep deletes expired messages - Startup purge removes messages that expired while app was closed - Timer indicator in chat header and message timestamps Closes #61 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Address PR review: deduplicate code, remove dead code, fix timer sync - Extract format_compact_duration to input.rs, reuse in ui.rs and main.rs - Consolidate insert_message_with_expiry into insert_message_full (single method) - Remove unused load_expiration_timers method - Fix timer sync: also sync when incoming message has expires_in_seconds=0 (handles case where timer was disabled while app was offline) - Revert unrelated doc changes that were swept into the PR Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent af09d90 commit 4e2ec2c

File tree

7 files changed

+466
-32
lines changed

7 files changed

+466
-32
lines changed

0 commit comments

Comments
 (0)