             [frontend.pusher :as pusher]
             [frontend.utils.seq :refer [find-index]]
             [frontend.state :as state]
-            [frontend.utils :as utils :refer [mlog]])
-  (:require-macros [frontend.utils :refer [inspect]]
-                   [frontend.controllers.ws :refer [with-swallow-ignored-build-channels]]))
+            [frontend.utils :as utils :include-macros true])
+  (:require-macros [frontend.controllers.ws :refer [with-swallow-ignored-build-channels]]))
 
 ;; To subscribe to a channel, put a subscribe message in the websocket channel
 ;; with the channel name and the messages you want to listen to. That will be

  [pusher-imp message _ previous-state current-state]
  (doseq [channel-name (clojure.set/difference (pusher/subscribed-channels pusher-imp)
                                               (fresh-channels current-state))]
    (mlog "unsubscribing from " channel-name)
    (pusher/unsubscribe pusher-imp channel-name)))

(defmethod post-ws-event! :refresh


(defmethod ws-event :default
  [pusher-imp message args state]
  (utils/mlog "Unknown ws event: " (pr-str message))
  state)

(defmethod post-ws-event! :default
  [pusher-imp message args previous-state current-state]
  (utils/mlog "No post-ws for: " message))

(defmethod ws-event :build/update
  [pusher-imp message {:keys [data channel-name]} state]
