From 445b57a160b0c1496b2be93a92a59bdb385e10bf Mon Sep 17 00:00:00 2001 From: rcmerci Date: Sat, 20 Sep 2025 20:02:18 +0800 Subject: [PATCH] fix(rtc): remove test encrypt-key --- src/main/frontend/worker/rtc/client.cljs | 5 ++-- src/main/frontend/worker/rtc/encrypt.cljs | 27 ++++++++++++------- .../rtc/full_upload_download_graph.cljs | 5 ++-- .../frontend/worker/rtc/remote_update.cljs | 9 ++----- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/main/frontend/worker/rtc/client.cljs b/src/main/frontend/worker/rtc/client.cljs index 68a25ebcd8..56e99f53f1 100644 --- a/src/main/frontend/worker/rtc/client.cljs +++ b/src/main/frontend/worker/rtc/client.cljs @@ -480,8 +480,9 @@ other-remote-ops)] (when-let [ops-for-remote (rtc-schema/to-ws-ops-decoder remote-ops)] (let [local-tx (client-op/get-local-tx repo) - encrypt-key-for-test (c.m/key (ldb/get-key-value @conn :logseq.kv/graph-rtc-encrypt-salt) "test-password")) - encrypted-remote-ops (m/? (task--encrypt-remote-ops encrypt-key-for-test ops-for-remote)) + encrypt-key (c.m/ {:action "apply-ops" :graph-uuid graph-uuid :schema-version (str major-schema-version) diff --git a/src/main/frontend/worker/rtc/encrypt.cljs b/src/main/frontend/worker/rtc/encrypt.cljs index 915af9a62b..a9736759b9 100644 --- a/src/main/frontend/worker/rtc/encrypt.cljs +++ b/src/main/frontend/worker/rtc/encrypt.cljs @@ -1,6 +1,7 @@ (ns frontend.worker.rtc.encrypt "rtc e2ee related" (:require ["/frontend/idbkv" :as idb-keyval] + [frontend.common.thread-api :as thread-api :refer [def-thread-api]] [logseq.db :as ldb] [promesa.core :as p])) @@ -26,22 +27,22 @@ (idb-keyval/del k @store)) (defn- graph-encrypt-key-idb-key - [graph-uuid] - (assert (some? graph-uuid)) - (str "rtc-encrypt-key###" graph-uuid)) + [repo] + (assert (some? repo)) + (str "rtc-encrypt-key###" repo)) (defn base64 [buffer] (let [binary (apply str (map js/String.fromCharCode (js/Uint8Array. buffer)))] @@ -151,6 +152,14 @@ m))) (p/promise m) encrypt-attr-set)) +(def-thread-api :thread-api/generate&persist-encrypt-key + [repo salt password] + (p/let [encrypt-key (key salt password) + encrypt-key' ( (p/let [salt (js/crypto.getRandomValues (js/Uint8Array. 16)) diff --git a/src/main/frontend/worker/rtc/full_upload_download_graph.cljs b/src/main/frontend/worker/rtc/full_upload_download_graph.cljs index 4b25ae0878..8a19febb6d 100644 --- a/src/main/frontend/worker/rtc/full_upload_download_graph.cljs +++ b/src/main/frontend/worker/rtc/full_upload_download_graph.cljs @@ -159,8 +159,9 @@ @conn :ignore-attr-set rtc-const/ignore-attrs-when-init-upload :ignore-entity-set rtc-const/ignore-entities-when-init-upload) - encrypt-key-for-test (c.m/key (ldb/get-key-value @conn :logseq.kv/graph-rtc-encrypt-salt) "test-password")) - encrypted-blocks (c.m/key - (ldb/get-key-value @conn :logseq.kv/graph-rtc-encrypt-salt) - "test-password")) + encrypt-key (c.m/