     true)) ;; for deferreds
 
 (defn my-user-action [action]
-  (let [action (if (or (:plid action) (= (:type action) :chat)) action
-                   (assoc action
-                     :plid (:ui/show-plan (st/get-ui-opts))))]
-    (println "MY USER-ACTION" action)
-    ;; (rmethod {:success-fn generic-reply :error-fn generic-reply}
-    (rmethod {}
-      :user-action action)))
+  (let [action-type (:type action)
+        chat? (= action-type :chat)
+        plid (or (:plid action) (:ui/show-plan (st/get-ui-opts)))
+        action (if chat? action (assoc action :plid plid))]
+    (when (or chat? (not= plid :none))
+      (println "MY USER-ACTION" action)
+      ;; (rmethod {:success-fn generic-reply :error-fn generic-reply}
+      (rmethod {}
+        :user-action action))))
 
 (defn update-tpn-end [plid]
   (let [end (if (= (st/app-get-plan-value plid :type) :tpn-network)

(defn highlight-relevant [&[remote]]
  (let [{:keys [ui/show-plan ui/show-network ui/network-type]} (st/get-ui-opts)
        {:keys [corresponding selection]} (st/app-get-plan show-plan)
        csel (if corresponding (st/app-get-plan-value corresponding :selection))
        auto-on? (auto?)]
    (println "HIGHLIGHT-RELEVANT" show-plan show-network network-type
      "CORRESPONDING" corresponding
      "SELECTION" selection)
    (when csel
      (case network-type
        :hem-network

            (chain dtimeout #(load-plan plan-id opts)))
          :else
          (do
            ;; (status-msg "loading" plan-id)
            ;; (st/loading true)
            (st/app-set :app/loading d)
            (request-plan-part plan-id have-parts)
            dtimeout
