mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-07-01 03:43:03 +00:00
Forced ephemeral retention only converts conversations that are subsequently written (convert-on-touch), so enabling the mode on a deployment with existing data left untouched permanent chats (isTemporary: false/expiredAt: null) satisfying the visibility filter and never expiring. Add a sweepForcedRetention helper that streams every non-conforming conversation and converts it, its messages, and its shares to the forced window, capping each to the earlier of its own deadline and the window so it never extends data scheduled to expire sooner and never lets a message outlive its conversation. Expose it through a config/migrate-ephemeral-retention.js script (and npm run migrate:ephemeral-retention) that loads the app config, refuses to run unless ephemeral mode is enabled (or --force), and supports --dry-run. The sweep is idempotent and safe to re-run. |
||
|---|---|---|
| .. | ||
| api | ||
| client | ||
| data-provider | ||
| data-schemas | ||