   :notify-if-client-out-of-date
   (fn [state [_ server-checksum]]
     (if (not= (aget js/window "checksum") server-checksum)
-      ; TODO
-      (handler state [:display-error [:client-out-of-date "Client out of date - please refresh" :info]])
-      state)))
+      {:dispatch [:display-error
+                  [:client-out-of-date "Client out of date - please refresh" :info]]}
+      {})))
 
 (reg-event-db
   :set-init-data

            [braid.client.xhr :refer [edn-xhr]]
            [braid.client.state.helpers :as helpers]
            [braid.client.dispatcher :refer [dispatch!]]))
; XXX
(defn handler [& args]
  (ex-info "Turn this into a fx with :dispatch" {:args args}))

(defn name->open-tag-id
  "Lookup tag by name in the open group"

          true (on-success))))
    state))

(reg-event-fx
  :add-notification-rule
  (fn [{state :db :as cofx} [_ rule]]
    (let [current-rules (get (helpers/get-user-preferences state) :notification-rules [])]
      {:dispatch [:set-preference [:notification-rules (conj current-rules rule)]]})))

(reg-event-db
  :remove-notification-rule
  (fn [{state :db :as cofx} [_ rule]]
    (let [new-rules (->> (get (helpers/get-user-preferences state) :notification-rules [])
                         (into [] (remove (partial = rule))))]
      {:dispatch [:set-preference [:notification-rules new-rules]]})))

(reg-event-db
  :set-search-results
