mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-08-04 14:57:42 +00:00
The forced-retention cascade only matched parents that were not yet temporary, so switching from a longer temporary TTL to a shorter ephemeral one skipped conversations already marked isTemporary: true. Their older messages kept the longer deadline and could outlive the forced ephemeral window. Match parents and messages whose expiration is missing or later than the forced deadline, even when already temporary, via a shared gap filter. The cascade re-caps those documents and stays a no-op once they already expire within the forced window. |
||
|---|---|---|
| .. | ||
| api | ||
| client | ||
| data-provider | ||
| data-schemas | ||