|
@@ -3,7 +3,6 @@
|
|
|
(:require ["@logseq/sqlite-wasm" :default sqlite3InitModule]
|
|
(:require ["@logseq/sqlite-wasm" :default sqlite3InitModule]
|
|
|
["comlink" :as Comlink]
|
|
["comlink" :as Comlink]
|
|
|
[cljs-bean.core :as bean]
|
|
[cljs-bean.core :as bean]
|
|
|
- [cljs.core.async :as async]
|
|
|
|
|
[clojure.edn :as edn]
|
|
[clojure.edn :as edn]
|
|
|
[clojure.string :as string]
|
|
[clojure.string :as string]
|
|
|
[datascript.core :as d]
|
|
[datascript.core :as d]
|
|
@@ -179,8 +178,6 @@
|
|
|
(assoc data :addresses addresses)
|
|
(assoc data :addresses addresses)
|
|
|
data)))))
|
|
data)))))
|
|
|
|
|
|
|
|
-(defonce sqlite-writes-chan (async/chan 10000))
|
|
|
|
|
-
|
|
|
|
|
(defn new-sqlite-storage
|
|
(defn new-sqlite-storage
|
|
|
"Update sqlite-cli/new-sqlite-storage when making changes"
|
|
"Update sqlite-cli/new-sqlite-storage when making changes"
|
|
|
[repo _opts]
|
|
[repo _opts]
|
|
@@ -203,18 +200,11 @@
|
|
|
:$content (sqlite-util/transit-write data')
|
|
:$content (sqlite-util/transit-write data')
|
|
|
:$addresses addresses}))
|
|
:$addresses addresses}))
|
|
|
addr+data-seq)]
|
|
addr+data-seq)]
|
|
|
- (if (worker-state/rtc-downloading-graph?)
|
|
|
|
|
- (upsert-addr-content! repo data delete-addrs) ; sync writes when downloading whole graph
|
|
|
|
|
- (async/go (async/>! sqlite-writes-chan [repo data delete-addrs])))))
|
|
|
|
|
|
|
+ (upsert-addr-content! repo data delete-addrs)))
|
|
|
|
|
|
|
|
(-restore [_ addr]
|
|
(-restore [_ addr]
|
|
|
(restore-data-from-addr repo addr))))
|
|
(restore-data-from-addr repo addr))))
|
|
|
|
|
|
|
|
-(async/go-loop []
|
|
|
|
|
- (let [args (async/<! sqlite-writes-chan)]
|
|
|
|
|
- (apply upsert-addr-content! args))
|
|
|
|
|
- (recur))
|
|
|
|
|
-
|
|
|
|
|
(defn new-sqlite-client-ops-storage
|
|
(defn new-sqlite-client-ops-storage
|
|
|
[repo]
|
|
[repo]
|
|
|
(reify IStorage
|
|
(reify IStorage
|