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

chore: add more logging for unexpected api errors

Gabriel Horner пре 2 месеци
родитељ
комит
f1b53a19d7
2 измењених фајлова са 9 додато и 4 уклоњено
  1. 3 1
      src/electron/electron/server.cljs
  2. 6 3
      src/main/electron/listener.cljs

+ 3 - 1
src/electron/electron/server.cljs

@@ -108,7 +108,9 @@
       (-> (invoke-logseq-api! method (.-args body))
           (p/then #(do
                      ;; Responses with an :error key are unexpected failures from electron.listener
-                     (when (aget % "error") (.code rep 500))
+                     (when-let [msg (aget % "error")]
+                       (.code rep 500)
+                       (js/console.error "Unexpected API error:" msg))
                      (.send rep %)))
           (p/catch #(.send rep %)))
       (-> rep

+ 6 - 3
src/main/electron/listener.cljs

@@ -135,14 +135,17 @@
                          ^js sdk2 (aget js/window.logseq "sdk")]
 
                      (try
-                       (println "invokeLogseqAPI:" method)
+                       (println "invokeLogseqAPI:" method ", args:" args)
                        (let [^js methodTarget (if app? sdk1 (aget sdk2 ns'))]
                          (when-not methodTarget
                            (throw (js/Error. (str "MethodNotExist: " method))))
                          (-> (p/promise (apply js-invoke methodTarget method' args))
                              (p/then #(ret-fn! %))
-                             (p/catch #(ret-fn! {:error (.-message %)}))))
-                       (catch js/Error e
+                             (p/catch #(do
+                                         (js/console.error "Unexpected error:" %)
+                                         (ret-fn! {:error (.-message %)})))))
+                       (catch :default e
+                         (js/console.error "Unexpected error:" e)
                          (ret-fn! {:error (.-message e)}))))))
 
   (safe-api-call "syncAPIServerState"