8 Commits
Author SHA1 Message Date
Sucukdeluxe 44b2af11ce fix(storage): retry transient notification outbox renames
Retry bounded Windows EPERM, EACCES, and EBUSY rename failures for asynchronous and startup outbox persistence while preserving atomic writes and immediate failure for permanent errors.
2026-08-23 00:30:46 +02:00
Sucukdeluxe 91b9596d6f fix: retain complete package failure telemetry
Include immediately cleaned successful files and byte aggregates when finalizing package results so mixed cleanup states remain partial instead of failed.

Carry additive download, offline, extraction, remux, and cleanup failure counters alongside the prioritized display phase, aggregate them into run results, and expose cleanup failures in the final summary.
2026-08-22 12:24:18 +02:00
Sucukdeluxe d7384c34d1 fix(notifications): preserve in-flight outbox events
Reserve the actively delivered outbox event while the external sender is pending so concurrent persistence cannot evict it through expiry or capacity enforcement. Apply the delivery outcome under the exclusive chain before normal cleanup resumes, preserving retry state, delivery acknowledgements, and cooldown timing without duplicate sends. Add deterministic concurrency regressions for expiry-success and capacity-failure races.
2026-08-22 09:09:54 +02:00
Sucukdeluxe 3ec9085444 fix(notifications): harden final delivery lifecycle
Enforce one shared shutdown deadline while persisting late digests during blocked sends. Start stall cooldowns from serialized delivery acknowledgements, atomically rewrite cleaned legacy outboxes, retain run summaries for 24 hours, and prevent duplicate history or synthetic post-process start times.
2026-08-22 08:58:36 +02:00
Sucukdeluxe 6715f42ff8 docs: document notification center v2 2026-08-22 08:32:54 +02:00
Sucukdeluxe 259fa7094b fix(notifications): redact failure details 2026-08-22 08:17:50 +02:00
Sucukdeluxe c7e48891bb fix(notifications): harden retries and shutdown 2026-08-22 04:32:53 +02:00
Sucukdeluxe 8b2320f771 feat(notifications): persist Discord outbox 2026-08-22 04:23:20 +02:00