Преглед изворни кода

fix: use transit for :inflateGraphsInfo ipc

rcmerci пре 6 месеци
родитељ
комит
123d03f293
3 измењених фајлова са 18 додато и 11 уклоњено
  1. 11 8
      src/electron/electron/handler.cljs
  2. 1 0
      src/main/electron/ipc.cljs
  3. 6 3
      src/main/frontend/handler/repo.cljs

+ 11 - 8
src/electron/electron/handler.cljs

@@ -31,6 +31,7 @@
             [electron.window :as win]
             [goog.functions :refer [debounce]]
             [logseq.common.graph :as common-graph]
+            [logseq.db :as ldb]
             [logseq.db.common.sqlite :as common-sqlite]
             [logseq.db.sqlite.util :as sqlite-util]
             [promesa.core :as p]))
@@ -279,14 +280,16 @@
       (logger/error "[read txid meta] #" root (.-message e)))))
 
 (defmethod handle :inflateGraphsInfo [_win [_ graphs]]
-  (if (seq graphs)
-    (for [{:keys [root] :as graph} graphs]
-      (if-let [sync-meta (read-txid-info! root)]
-        (assoc graph
-               :sync-meta sync-meta
-               :GraphUUID (second sync-meta))
-        graph))
-    []))
+  (let [graphs (ldb/read-transit-str graphs)]
+    (-> (if (seq graphs)
+          (for [{:keys [root] :as graph} graphs]
+            (if-let [sync-meta (read-txid-info! root)]
+              (assoc graph
+                     :sync-meta sync-meta
+                     :GraphUUID (second sync-meta))
+              graph))
+          [])
+        ldb/write-transit-str)))
 
 (defmethod handle :readGraphTxIdInfo [_win [_ root]]
   (read-txid-info! root))

+ 1 - 0
src/main/electron/ipc.cljs

@@ -5,6 +5,7 @@
             [frontend.util :as util]))
 
 ;; TODO: handle errors
+;;; TODO: transit-write args, transit-read response
 (defn ipc
   [& args]
   (when (util/electron?)

+ 6 - 3
src/main/frontend/handler/repo.cljs

@@ -24,6 +24,7 @@
             [frontend.util :as util]
             [frontend.util.text :as text-util]
             [logseq.common.config :as common-config]
+            [logseq.db :as ldb]
             [logseq.db.frontend.schema :as db-schema]
             [promesa.core :as p]))
 
@@ -118,10 +119,12 @@
                        nfs-dbs)
           nfs-dbs (and (seq nfs-dbs)
                        (cond (util/electron?)
-                             (ipc/ipc :inflateGraphsInfo nfs-dbs)
+                             (p/chain
+                              (ipc/ipc :inflateGraphsInfo (ldb/write-transit-str nfs-dbs))
+                              ldb/read-transit-str)
 
-                             ;(mobile-util/native-platform?)
-                             ;(util-fs/inflate-graphs-info nfs-dbs)
+                                        ;(mobile-util/native-platform?)
+                                        ;(util-fs/inflate-graphs-info nfs-dbs)
 
                              :else
                              nfs-dbs))]