Commit 4e2ec2c
* 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
0 commit comments