curo1305
bfa4dc502a
feat(12.1-02): centralize listing freshness gate — apply_listing_and_finalize
- Add ListingResult dataclass to cloud_items.py
- Add apply_listing_and_finalize() — single shared gate for complete/incomplete semantics
- complete=True: upserts, soft-deletes unseen children, marks fresh, advances last_refreshed_at
- complete=False: upserts seen items only, never deletes unseen, preserves prior timestamp, warns
- browse.py: replace unconditional update_folder_state('fresh') with apply_listing_and_finalize
- cloud_tasks.py: replace unconditional fresh transition with apply_listing_and_finalize
- Celery task returns structured warning status on incomplete (no credentials/provider item names)
- Fix timezone naive/aware comparison in test (SQLite strips tzinfo)
2026-06-22 08:29:41 +02:00
..
2026-05-22 08:53:28 +02:00
2026-06-16 11:50:17 +02:00
2026-05-25 18:33:31 +02:00
2026-06-16 11:50:17 +02:00
2026-06-04 19:14:48 +02:00
2026-05-28 21:00:48 +02:00
2026-06-22 08:29:41 +02:00
2026-05-22 19:23:42 +02:00
2026-05-22 09:45:33 +02:00
2026-06-03 18:44:37 +02:00
2026-06-05 12:47:16 +02:00
2026-06-16 11:50:17 +02:00