a4a0272ccc
Implements automatic cleanup of Signal sessions to prevent database growth: **Configuration (environment variables):** - BAILEYS_SESSION_CLEANUP_ENABLED=true (default: true) - BAILEYS_SESSION_CLEANUP_INTERVAL=86400000 (24h default) - BAILEYS_SESSION_CLEANUP_HOUR=3 (3am default) - BAILEYS_SESSION_SECONDARY_INACTIVE_DAYS=15 - BAILEYS_SESSION_PRIMARY_INACTIVE_DAYS=30 - BAILEYS_SESSION_LID_ORPHAN_HOURS=24 **Cleanup rules:** 1. Secondary devices (Web, Desktop): inactive > 15 days 2. Primary devices: inactive > 30 days 3. LID orphans (no PN mapping): > 24 hours **Safety guarantees:** - Does NOT affect WebSocket connections - Does NOT cause message loss (Signal Protocol auto-recreates sessions) - Runs in low-traffic hours (3am default, configurable) - Atomic transactions (all-or-nothing) - Comprehensive logging and statistics **Implementation:** - src/Signal/session-cleanup.ts: Core cleanup logic - src/Defaults/index.ts: Configuration defaults - src/Socket/socket.ts: Integration and lifecycle management **Note:** Activity tracking not yet implemented (required for time-based cleanup). Current implementation only cleans LID orphans (sessions without PN mapping). https://claude.ai/code/session_01SoNUGBEWbJwWWws3F2fuzh