fix: deduplicate owner access alerts per recipient (#896)

* fix: prevent duplicate access alerts to the same recipient

* fix: address recipient alert recovery review findings

* fix: reconcile unsent alerts and wait for startup migration

* fix: preserve legacy recipient alerts through upgrades

* fix: reconcile alert results and legacy recovery races

* fix: fence dispatch and clean cancelled alert metadata

* fix: fence alert preparation and retain in-flight recovery

* fix: atomically commit alert dispatch and retry deferred recovery

* fix: keep recovery lookups from blocking upstream file reads
This commit is contained in:
Thomas Durieux authored and GitHub committed 2026-10-13 13:55:10 +01:00
1 parent eb9ac7e13d
commit 445a479339
20 files changed
+1724 -89

No files matched your search

@@ -0,0 +1,17 @@
import mongoose from "mongoose";
import config from "../config";
import { getMongoUrl } from "../server/database";
import { prepareLegacyOwnerAlertMigration } from "../core/owner-notifications";
async function main(): Promise<void> {
await mongoose.connect(getMongoUrl(), config.MONGODB_URI ? {} : { authSource: "admin" });
try {
await prepareLegacyOwnerAlertMigration();
process.stdout.write("Legacy owner alert reconciliation prepared\n");
} finally { await mongoose.disconnect(); }
}
void main().catch(() => {
process.stderr.write("Could not prepare legacy owner alert reconciliation\n");
process.exitCode = 1;
});