|
|
@@ -6,7 +6,6 @@
|
|
|
[cljs-time.coerce :as tc]
|
|
|
[cljs-time.core :as t]
|
|
|
[cljs.core.async.interop :refer [p->c]]
|
|
|
- [clojure.core.async :as async :refer [<! chan go go-loop]]
|
|
|
[frontend.persist-db.protocol :as protocol]
|
|
|
[promesa.core :as p]
|
|
|
[frontend.util :as util]))
|
|
|
@@ -17,14 +16,15 @@
|
|
|
|
|
|
|
|
|
(when-not (util/electron?)
|
|
|
- (let [worker (try
|
|
|
- (js/Worker. "/static/js/db-worker.js")
|
|
|
- (catch js/Error e
|
|
|
- (js/console.error "worker error", e)
|
|
|
- nil))
|
|
|
- ^js sqlite (Comlink/wrap worker)]
|
|
|
- (reset! *worker worker)
|
|
|
- (reset! *sqlite sqlite)))
|
|
|
+ (defonce _do_not_reload_worker
|
|
|
+ (let [worker (try
|
|
|
+ (js/Worker. "/static/js/db-worker.js")
|
|
|
+ (catch js/Error e
|
|
|
+ (js/console.error "worker error", e)
|
|
|
+ nil))
|
|
|
+ ^js sqlite (Comlink/wrap worker)]
|
|
|
+ (reset! *worker worker)
|
|
|
+ (reset! *sqlite sqlite))))
|
|
|
|
|
|
|
|
|
(defn- ensure-sqlite-init
|
|
|
@@ -50,14 +50,6 @@
|
|
|
(reject nil)) ;; cannot init
|
|
|
100000))))))
|
|
|
|
|
|
-(defn dev-stop!
|
|
|
- "For dev env only, stop opfs backend, close all sqlite connections and OPFS sync access handles."
|
|
|
- []
|
|
|
- (println "[persis-db] Dev: close all sqlite connections")
|
|
|
- (when-not (util/electron?)
|
|
|
- (when @*sqlite
|
|
|
- (.unsafeDevCloseAll ^js @*sqlite))))
|
|
|
-
|
|
|
(defn- type-of-block
|
|
|
"
|
|
|
TODO: use :block/type
|
|
|
@@ -99,6 +91,16 @@
|
|
|
:created_at (or (:block/created-at b) (time-ms))
|
|
|
:updated_at (or (:block/updated-at b) (time-ms))})
|
|
|
|
|
|
+(comment
|
|
|
+ (defn dev-stop!
|
|
|
+ "For dev env only, stop opfs backend, close all sqlite connections and OPFS sync access handles."
|
|
|
+ []
|
|
|
+ (println "[persis-db] Dev: close all sqlite connections")
|
|
|
+ (when-not (util/electron?)
|
|
|
+ (when @*sqlite
|
|
|
+ (.unsafeDevCloseAll ^js @*sqlite)))))
|
|
|
+
|
|
|
+
|
|
|
(defrecord InBrowser []
|
|
|
protocol/PersistentDB
|
|
|
(<new [_this repo]
|