mirror of https://github.com/logseq/logseq
enhance(dev): check worker scope
parent
12d3fc9135
commit
fbe35645bd
|
@ -32,6 +32,7 @@
|
||||||
[logseq.db.sqlite.create-graph :as sqlite-create-graph]
|
[logseq.db.sqlite.create-graph :as sqlite-create-graph]
|
||||||
[logseq.db.sqlite.util :as sqlite-util]
|
[logseq.db.sqlite.util :as sqlite-util]
|
||||||
[logseq.outliner.op :as outliner-op]
|
[logseq.outliner.op :as outliner-op]
|
||||||
|
[goog.object :as gobj]
|
||||||
[promesa.core :as p]
|
[promesa.core :as p]
|
||||||
[shadow.cljs.modern :refer [defclass]]))
|
[shadow.cljs.modern :refer [defclass]]))
|
||||||
|
|
||||||
|
@ -42,6 +43,12 @@
|
||||||
(defonce *opfs-pools worker-state/*opfs-pools)
|
(defonce *opfs-pools worker-state/*opfs-pools)
|
||||||
(defonce *publishing? (atom false))
|
(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
|
(defn- <get-opfs-pool
|
||||||
[graph]
|
[graph]
|
||||||
(when-not @*publishing?
|
(when-not @*publishing?
|
||||||
|
@ -747,6 +754,7 @@
|
||||||
(defn init
|
(defn init
|
||||||
"web worker entry"
|
"web worker entry"
|
||||||
[]
|
[]
|
||||||
|
(check-worker-scope!)
|
||||||
(let [^js obj (DBWorker.)]
|
(let [^js obj (DBWorker.)]
|
||||||
(outliner-register-op-handlers!)
|
(outliner-register-op-handlers!)
|
||||||
(worker-state/set-worker-object! obj)
|
(worker-state/set-worker-object! obj)
|
||||||
|
|
Loading…
Reference in New Issue