Przeglądaj źródła

Move ipc calls outside db browser implementation

Tienson Qin 1 rok temu
rodzic
commit
666b4ab6d4

+ 5 - 5
src/main/frontend/db_worker.cljs

@@ -212,11 +212,11 @@
                           (string/replace-first (.-name file) ".logseq-pool-" "")))
                           (string/replace-first (.-name file) ".logseq-pool-" "")))
                       all-files)
                       all-files)
                 distinct)]
                 distinct)]
-     (prn :debug :all-files (map #(.-name %) all-files))
-     (prn :debug :all-files-count (count (filter
-                                          #(= (.-kind %) "file")
-                                          all-files)))
-     (prn :dbs dbs)
+     ;; (prn :debug :all-files (map #(.-name %) all-files))
+     ;; (prn :debug :all-files-count (count (filter
+     ;;                                      #(= (.-kind %) "file")
+     ;;                                      all-files)))
+     ;; (prn :dbs dbs)
      (bean/->js dbs)))
      (bean/->js dbs)))
 
 
   (createOrOpenDB
   (createOrOpenDB

+ 11 - 9
src/main/frontend/persist_db.cljs

@@ -1,8 +1,9 @@
 (ns frontend.persist-db
 (ns frontend.persist-db
-   "Backend of DB based graph"
-   (:require [frontend.persist-db.browser :as browser]
-             [frontend.persist-db.protocol :as protocol]
-             [promesa.core :as p]))
+  "Backend of DB based graph"
+  (:require [frontend.persist-db.browser :as browser]
+            [frontend.persist-db.protocol :as protocol]
+            [promesa.core :as p]
+            [electron.ipc :as ipc]))
 
 
 (defonce opfs-db (browser/->InBrowser))
 (defonce opfs-db (browser/->InBrowser))
 
 
@@ -32,16 +33,17 @@
   ([repo]
   ([repo]
    (<fetch-init-data repo {}))
    (<fetch-init-data repo {}))
   ([repo opts]
   ([repo opts]
-   (p/let [ret (protocol/<fetch-initial-data (get-impl) repo opts)]
-     (js/console.log "fetch-initial-data" ret)
-     ret)))
+   (p/do!
+    (ipc/ipc :db-open repo)
+    (protocol/<fetch-initial-data (get-impl) repo opts))))
 
 
 ;; FIXME: limit repo name's length
 ;; FIXME: limit repo name's length
 ;; @shuyu Do we still need this?
 ;; @shuyu Do we still need this?
 (defn <new [repo]
 (defn <new [repo]
   {:pre [(<= (count repo) 56)]}
   {:pre [(<= (count repo) 56)]}
-  (p/let [_ (protocol/<new (get-impl) repo)]
-    (<export-db repo {})))
+  (p/let [_ (protocol/<new (get-impl) repo)
+          _ (<export-db repo {})]
+    (ipc/ipc :db-open repo)))
 
 
 (defn <release-access-handles
 (defn <release-access-handles
   [repo]
   [repo]

+ 2 - 4
src/main/frontend/persist_db/browser.cljs

@@ -59,8 +59,7 @@
   protocol/PersistentDB
   protocol/PersistentDB
   (<new [_this repo]
   (<new [_this repo]
     (when-let [^js sqlite @*sqlite]
     (when-let [^js sqlite @*sqlite]
-      (.createOrOpenDB sqlite repo)
-      (ipc/ipc :db-open repo)))
+      (.createOrOpenDB sqlite repo)))
 
 
   (<list-db [_this]
   (<list-db [_this]
     (when-let [^js sqlite @*sqlite]
     (when-let [^js sqlite @*sqlite]
@@ -88,8 +87,7 @@
 
 
   (<fetch-initial-data [_this repo _opts]
   (<fetch-initial-data [_this repo _opts]
     (when-let [^js sqlite @*sqlite]
     (when-let [^js sqlite @*sqlite]
-      (-> (p/let [_ (.createOrOpenDB sqlite repo)
-                  _ (ipc/ipc :db-open repo)]
+      (-> (p/let [_ (.createOrOpenDB sqlite repo)]
             (.getInitialData sqlite repo))
             (.getInitialData sqlite repo))
           (p/catch sqlite-error-handler))))
           (p/catch sqlite-error-handler))))