                             :when (not (get-in data [::oid oid :summary]))]
                       (add-new-tap-obj state rid oid)))
 
-                  (swap! state assoc-in [::rid rid ::objects] (as-idents ::oid oids)))})))}))))
+                  (swap! state assoc-in [::rid rid ::objects] (as-idents ::oid oids))
+                  (refresh-ui [[::rid rid]])
+                  )})))}))))
 
 (defmutation unselect-object [{:keys [oid] :as params}]
   (action [{:keys [state] :as env}]

             (fn [{:keys [e] :as msg}]
               (js/console.log "request-edn failed" msg)
               (swap! state assoc-in [::oid oid :edn] (str "Failed: " e))
               (fc/transact! env/app [[::oid oid]]))

             :obj-result
             (fn [{:keys [result] :as msg}]
               (swap! state assoc-in [::oid oid :edn] result)
               (fc/transact! env/app [[::oid oid]]))}))

        ;; don't need to do anything for :browse
        nil))))

     (fn [{:keys [summary] :as msg}]
       (swap! state assoc-in [::oid oid :summary] (add-ts summary))
       ;; FIXME: don't rerender just yet?
       (refresh-ui [[::oid oid]])
       (maybe-fetch-initial-fragment state (get-in @state [::oid oid])))}))

(defn add-first [prev head max]
