Przeglądaj źródła

fix: rtc graph download

Tienson Qin 2 lat temu
rodzic
commit
b1532f0e58

+ 1 - 0
src/main/frontend/db_worker.cljs

@@ -473,6 +473,7 @@
   "web worker entry"
   []
   (let [^js obj (DBWorker.)]
+    (state/set-worker-object! obj)
     (file/<ratelimit-file-writes!)
     (Comlink/expose obj)))
 

+ 5 - 5
src/main/frontend/worker/rtc/full_upload_download_graph.cljs

@@ -120,12 +120,12 @@
    (let [{:keys [t blocks]} all-blocks
          blocks* (replace-db-id-with-temp-id blocks)
          blocks-with-page-id (fill-block-fields blocks*)
-         ^js sqlite @state/*sqlite
+         ^js worker-obj (:worker/object @state/*state)
          work (p/do!
-               (.createOrOpenDB sqlite repo)
-               (.exportDB sqlite repo)
-               (.transact sqlite repo blocks-with-page-id nil (state/get-context))
-               (.releaseAccessHandles sqlite repo))]
+               (.createOrOpenDB worker-obj repo)
+               (.exportDB worker-obj repo)
+               (.transact worker-obj repo blocks-with-page-id nil (state/get-context))
+               (.releaseAccessHandles worker-obj repo))]
      (<? (p->c work))
 
      (worker-util/post-message :add-repo (pr-str {:repo repo}))

+ 7 - 1
src/main/frontend/worker/state.cljs

@@ -2,7 +2,9 @@
   "State hub for worker"
   (:require [logseq.common.util :as common-util]))
 
-(defonce *state (atom {:db/latest-transact-time {}
+(defonce *state (atom {:worker/object nil
+
+                       :db/latest-transact-time {}
                        :worker/context {}
 
                        :config {}
@@ -68,3 +70,7 @@
   [new-state]
   (swap! *state (fn [old-state]
                   (merge old-state new-state))))
+
+(defn set-worker-object!
+  [worker]
+  (swap! *state assoc :worker/object worker))