From 5d883bb3fdaf660b8947151ab8f67b3bc7a1b951 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Tue, 7 Apr 2026 17:12:48 +0800 Subject: [PATCH] fix(sync): tolerate legacy plaintext decrypt values --- src/main/frontend/worker/sync/crypt.cljs | 20 +++++++++++++++---- src/test/frontend/worker/sync/crypt_test.cljs | 13 ++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/frontend/worker/sync/crypt.cljs b/src/main/frontend/worker/sync/crypt.cljs index 9afcfd20e6..931d6516c2 100644 --- a/src/main/frontend/worker/sync/crypt.cljs +++ b/src/main/frontend/worker/sync/crypt.cljs @@ -27,6 +27,13 @@ (def ^:private invalid-coerce ::invalid-coerce) (def ^:private invalid-transit ::invalid-transit) +(defn- read-transit-safe + [value] + (try + (ldb/read-transit-str value) + (catch :default _ + invalid-transit))) + (defn- native-worker? [] native-env?) @@ -504,12 +511,17 @@ (defn (p/let [aes-key (crypt/