fix: keep alive by sending messages from worker to main thread

pull/11102/head
Tienson Qin 2024-03-01 17:17:44 +08:00
parent d00b7b1db8
commit 9cec07e89c
2 changed files with 2 additions and 6 deletions

View File

@ -644,6 +644,7 @@
(let [^js obj (DBWorker.)] (let [^js obj (DBWorker.)]
(worker-state/set-worker-object! obj) (worker-state/set-worker-object! obj)
(file/<ratelimit-file-writes!) (file/<ratelimit-file-writes!)
(js/setInterval #(.postMessage js/self "keepAlive") (* 1000 25))
(Comlink/expose obj))) (Comlink/expose obj)))
(comment (comment

View File

@ -60,10 +60,6 @@
(pr-str context)) (pr-str context))
(notification/show! "Latest change was not saved! Please restart the application." :error)))) (notification/show! "Latest change was not saved! Please restart the application." :error))))
(defn- keep-worker-alive!
[^Object wrapped-worker]
(js/setInterval #(.keep-alive wrapped-worker) (* 25 1000)))
(defn start-db-worker! (defn start-db-worker!
[] []
(when-not util/node-test? (when-not util/node-test?
@ -91,8 +87,7 @@
(p/catch (fn [error] (p/catch (fn [error]
(prn :debug "Can't init SQLite wasm") (prn :debug "Can't init SQLite wasm")
(js/console.error error) (js/console.error error)
(notification/show! "It seems that OPFS is not supported on this browser, please upgrade this browser to the latest version or use another browser." :error)))) (notification/show! "It seems that OPFS is not supported on this browser, please upgrade this browser to the latest version or use another browser." :error)))))))
(keep-worker-alive! wrapped-worker))))
(defn <export-db! (defn <export-db!
[repo data] [repo data]