enhance(dev): check worker scope

pull/10981/head
charlie 2024-08-08 15:05:01 +08:00
parent 12d3fc9135
commit fbe35645bd
1 changed files with 8 additions and 0 deletions

View File

@ -32,6 +32,7 @@
[logseq.db.sqlite.create-graph :as sqlite-create-graph]
[logseq.db.sqlite.util :as sqlite-util]
[logseq.outliner.op :as outliner-op]
[goog.object :as gobj]
[promesa.core :as p]
[shadow.cljs.modern :refer [defclass]]))
@ -42,6 +43,12 @@
(defonce *opfs-pools worker-state/*opfs-pools)
(defonce *publishing? (atom false))
(defn- check-worker-scope!
[]
(when (or (gobj/get js/self "React")
(gobj/get js/self "module$react"))
(throw (js/Error. "[db-worker] React is forbidden in worker scope!"))))
(defn- <get-opfs-pool
[graph]
(when-not @*publishing?
@ -747,6 +754,7 @@
(defn init
"web worker entry"
[]
(check-worker-scope!)
(let [^js obj (DBWorker.)]
(outliner-register-op-handlers!)
(worker-state/set-worker-object! obj)