Browse Source

fix(http-server): apis server status for multiple graph windows

charlie 2 years ago
parent
commit
c83c973338
2 changed files with 6 additions and 4 deletions
  1. 6 3
      src/electron/electron/server.cljs
  2. 0 1
      src/main/frontend/components/server.cljs

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

@@ -10,7 +10,8 @@
             [electron.utils :as utils]
             [camel-snake-kebab.core :as csk]
             [electron.logger :as logger]
-            [electron.configs :as cfgs]))
+            [electron.configs :as cfgs]
+            [electron.window :as window]))
 
 (defonce ^:private *win (atom nil))
 (defonce ^:private *server (atom nil))
@@ -37,7 +38,9 @@
 
 (defn load-state-to-renderer!
   ([] (load-state-to-renderer! @*state))
-  ([s] (utils/send-to-renderer @*win :syncAPIServerState s)))
+  ([s]
+   (doseq [^js w (window/get-all-windows)]
+     (utils/send-to-renderer w :syncAPIServerState s))))
 
 (defn set-config!
   [config]
@@ -114,7 +117,7 @@
 
 (defn close!
   []
-  (when (and @*server (= :running (:status @*state)))
+  (when (and @*server (contains? #{:running :error} (:status @*state)))
     (logger/debug "[server] closing ...")
     (set-status! :closing)
     (-> (.close @*server)

+ 0 - 1
src/main/frontend/components/server.cljs

@@ -183,4 +183,3 @@
           (if-not running?
             (string/upper-case (or (:status server-state) "stopped"))
             [:a.hover:underline {:href href} href])]]})]))
-