 (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)]))))))
+    (into ()
+          (comp
+            (filter (fn [tag] @(get-user-subscribed-to-tag state [nil (tag :id)])))
+            (filter (fn [tag] (= (get-in @state [:open-group-id]) (tag :group-id)))))
+          (vals (get-in @state [:tags])))))
 
 (defn get-user-avatar-url
   [state [_ user-id]]

  (reaction
    (->> (@state :users)
         vals
         (filter (fn [u] (contains? (set (u :group-ids)) group-id))))))

(defn get-open-group-id
  [state _]

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

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