 (defn get-tags-for-thread
   [state [_ thread-id]]
   (let [tag-ids (reaction (get-in @state [:threads thread-id :tag-ids]))
-        tags (reaction (map (fn [thread-id]
-                              (get-in @state [:tags thread-id])) @tag-ids))]
+        tags (reaction (doall
+                         (map (fn [thread-id]
+                                (get-in @state [:tags thread-id])) @tag-ids)))]
     tags))
 
 (defn get-mentions-for-thread
   [state [_ thread-id]]
   (let [mention-ids (reaction (get-in @state [:threads thread-id :mentioned-ids]))
-        mentions (reaction (map (fn [user-id]
-                                  (get-in @state [:users user-id])) @mention-ids))]
+        mentions (reaction (doall
+                             (map (fn [user-id]
+                                    (get-in @state [:users user-id])) @mention-ids)))]
     mentions))
 
 (defn get-messages-for-thread

(defn get-group-subscribed-tags
  [state [_ group-id]]
  (reaction
    (->> (vals (get-in @state [:tags]))
         (filter (fn [tag] (= (get-in @state [:open-group-id]) (tag :group-id))))
         (filter (fn [tag] @(get-user-subscribed-to-tag state [nil (tag :id)]))))))

(defn get-user-avatar-url
  [state [_ user-id]]

                     (or (empty? (thread :tag-ids))
                         (contains?
                           (into #{} (map group-for-tag) (thread :tag-ids))
                           group-id))))
                   doall))))

(defn get-nickname
  [state [_ user-id]]
