diff --git a/src/electron/electron/handler.cljs b/src/electron/electron/handler.cljs index f026a58541..43f3e62989 100644 --- a/src/electron/electron/handler.cljs +++ b/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)) diff --git a/src/main/electron/ipc.cljs b/src/main/electron/ipc.cljs index 9493e71af2..75f8123eca 100644 --- a/src/main/electron/ipc.cljs +++ b/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?) diff --git a/src/main/frontend/handler/repo.cljs b/src/main/frontend/handler/repo.cljs index 84da73d8de..cbe83d0541 100644 --- a/src/main/frontend/handler/repo.cljs +++ b/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))]