|
@@ -84,11 +84,22 @@
|
|
:pages-directory (config/get-pages-directory)}]
|
|
:pages-directory (config/get-pages-directory)}]
|
|
(state/<invoke-db-worker :thread-api/transact repo tx-data tx-meta context)))
|
|
(state/<invoke-db-worker :thread-api/transact repo tx-data tx-meta context)))
|
|
|
|
|
|
|
|
+(defn- set-worker-fs
|
|
|
|
+ [worker]
|
|
|
|
+ (p/let [portal (js/MagicPortal. worker)
|
|
|
|
+ fs (.get portal "fs")
|
|
|
|
+ pfs (.get portal "pfs")
|
|
|
|
+ worker-thread (.get portal "workerThread")]
|
|
|
|
+ (set! (.-fs js/window) fs)
|
|
|
|
+ (set! (.-pfs js/window) pfs)
|
|
|
|
+ (set! (.-workerThread js/window) worker-thread)))
|
|
|
|
+
|
|
(defn start-db-worker!
|
|
(defn start-db-worker!
|
|
[]
|
|
[]
|
|
(when-not util/node-test?
|
|
(when-not util/node-test?
|
|
(let [worker-url (if config/publishing? "static/js/db-worker.js" "js/db-worker.js")
|
|
(let [worker-url (if config/publishing? "static/js/db-worker.js" "js/db-worker.js")
|
|
worker (js/Worker. (str worker-url "?electron=" (util/electron?) "&publishing=" config/publishing?))
|
|
worker (js/Worker. (str worker-url "?electron=" (util/electron?) "&publishing=" config/publishing?))
|
|
|
|
+ _ (set-worker-fs worker)
|
|
wrapped-worker* (Comlink/wrap worker)
|
|
wrapped-worker* (Comlink/wrap worker)
|
|
wrapped-worker (fn [qkw direct-pass? & args]
|
|
wrapped-worker (fn [qkw direct-pass? & args]
|
|
(p/let [result (.remoteInvoke ^js wrapped-worker*
|
|
(p/let [result (.remoteInvoke ^js wrapped-worker*
|