From f61602f2adaa70631a2d5122903ac9478ba13f1d Mon Sep 17 00:00:00 2001 From: Steven Vandevelde Date: Fri, 4 Sep 2026 18:55:12 +0200 Subject: [PATCH] fix: atproto passkey re-encryption --- .../output/refiner/passkey-encryption/element.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/transformer/output/refiner/passkey-encryption/element.js b/src/components/transformer/output/refiner/passkey-encryption/element.js index 00986bfc..0a82f40a 100644 --- a/src/components/transformer/output/refiner/passkey-encryption/element.js +++ b/src/components/transformer/output/refiner/passkey-encryption/element.js @@ -273,14 +273,18 @@ class PasskeyEncryptionTransformer extends OutputTransformer { settingsData = settingsCol.data; tracksData = tracksCol.data; - stop(); + // The effect below runs synchronously on creation, before `stop` is + // assigned, so referencing `stop` here directly would be a TDZ error. + // Deferring past the initializer lets us dispose and re-key safely. + queueMicrotask(() => { + stop(); + this.#encryptionKey.value = newKey; - this.#encryptionKey.value = newKey; + void this.settings.save(settingsData); + void this.tracks.save(tracksData); - void this.settings.save(settingsData); - void this.tracks.save(tracksData); - - resolve(undefined); + resolve(undefined); + }); }); }); } -- 2.51.2