 
 (defn broadcast-tx! [tal-state session-store tx-report]
   (def last-tx-report tx-report)
-  (let [data        (incoming/outgoing-tx-report tx-report)
-        _           (def last-tx-data data)
-        message     (ss-msg :server/database-transacted data)]
-    (doseq [ch-id (all-channel-ids session-store)]
+  (let [data          (incoming/outgoing-tx-report tx-report)
+        _             (def last-tx-data data)
+        message       (ss-msg :server/database-transacted data)
+        tx-session-id (:tx/session-id (outgoing/tx-ent tx-report))]
+    (doseq [ch-id (all-channel-ids session-store)
+            :when (not= ch-id tx-session-id)]
       (tal/queue-msg! tal-state ch-id message))))
 
 (defn start-tx-broadcast! [tal-state session-store tx-mult]

  (:require [clojure.core.async :as casync]
            [clojure.tools.logging :as log]
            [cognitect.transit :as transit]
            [dato.db.utils :as dsu]
            [dato.lib.datomic :as datod]
            [dato.lib.incoming :as incoming]
            [dato.lib.incoming-tx :as incoming-tx]
            [datomic.api :as d]
            [immutant.codecs :as cdc]

(defmethod handle-websocket-msg :web-peer/transact
  [tal-state dato-config session-store msg]
  (let [reply (incoming-tx/handle-txes (get-dato-conn dato-config)
                                       {:tx/session-id (:tal/ch-id msg)}
                                       (-> msg :data :txes)
                                       (-> msg :data :guids)
                                       (get-dato-db dato-config)
                                       nil)]
    (tal/queue-reply! tal-state msg reply)))


