mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-07-11 00:33:40 +00:00
Both the migration sweep and the convert-on-touch cascade skipped a parent that already satisfied the forced-retention gap filter, so an already-temporary chat with dependent rows that lag behind it (permanent shares or later-window files created before the mode switch, or left by a partial earlier backfill) kept those children past the parent's TTL. Cap the children independently of the parent gap check: the single cascade runs the message/share/file caps before its parent conversion regardless of whether the parent needs converting (each cap is an indexed no-op once children conform; the bulk tag/project cascade already worked this way), and the sweep gains an alignment pass that walks already-conforming temporary conversations and caps their children to each parent's own deadline, reported via a new `aligned` count. The cap helpers now return their modified counts to support that reporting. |
||
|---|---|---|
| .. | ||
| api | ||
| client | ||
| data-provider | ||
| data-schemas | ||