diff --git a/src/lua/execute.rs b/src/lua/execute.rs index c2c0c0c..2e32cb9 100644 --- a/src/lua/execute.rs +++ b/src/lua/execute.rs @@ -957,12 +957,13 @@ pub async fn execute_hook_script(event: &HookEvent<'_>) -> Option { .map(|r| serde_json::to_string(r).unwrap_or_default()); let dead_letter_sql = adapt_sql( r#" - INSERT INTO dead_letter_hooks (lexicon_id, uri, did, collection, rkey, action, record, error, attempts, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + INSERT INTO dead_letter_hooks (id, lexicon_id, uri, did, collection, rkey, action, record, error, attempts, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) "#, backend, ); if let Err(e) = sqlx::query(&dead_letter_sql) + .bind(uuid::Uuid::new_v4().to_string()) .bind(event.lexicon_id) .bind(event.uri) .bind(event.did) -- 2.51.2 From 174b6ef084fc4684b3b20902714e3530757cf3ec Mon Sep 17 00:00:00 2001 From: Trezy Date: Tue, 12 May 2026 09:58:46 -0500 Subject: [PATCH 2/2] fix: generate missing IDs for dead letters fixes #20 Signed-off-by: Trezy --- migrations/postgres/20260512000000_fix_null_dead_letter_ids.sql | 1 + migrations/sqlite/20260512000000_fix_null_dead_letter_ids.sql | 1 + 2 files changed, 2 insertions(+) create mode 100644 migrations/postgres/20260512000000_fix_null_dead_letter_ids.sql create mode 100644 migrations/sqlite/20260512000000_fix_null_dead_letter_ids.sql diff --git a/migrations/postgres/20260512000000_fix_null_dead_letter_ids.sql b/migrations/postgres/20260512000000_fix_null_dead_letter_ids.sql new file mode 100644 index 0000000..42239fa --- /dev/null +++ b/migrations/postgres/20260512000000_fix_null_dead_letter_ids.sql @@ -0,0 +1 @@ +UPDATE dead_letter_hooks SET id = gen_random_uuid() WHERE id IS NULL; diff --git a/migrations/sqlite/20260512000000_fix_null_dead_letter_ids.sql b/migrations/sqlite/20260512000000_fix_null_dead_letter_ids.sql new file mode 100644 index 0000000..715dfc2 --- /dev/null +++ b/migrations/sqlite/20260512000000_fix_null_dead_letter_ids.sql @@ -0,0 +1 @@ +UPDATE dead_letter_hooks SET id = lower(hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-4' || substr(hex(randomblob(2)),2) || '-' || substr('89ab', abs(random()) % 4 + 1, 1) || substr(hex(randomblob(2)),2) || '-' || hex(randomblob(6))) WHERE id IS NULL;