   (let [dato-server (:server config)
         tal-state (tal/init :transit-reader-opts {:handlers {"r"                (transit/read-handler (fn [s] (URI. s)))
                                                              "datascript/Datom" (transit/read-handler datascript-datom->datom)}}
-                            :transit-writer-opts {:handlers {dato.lib.server.Datom (transit/write-handler (constantly "datascript/Datom")
-                                                                                                          transit-rep)}})
+                            :transit-writer-opts {:handlers {;; Do we still need this one?
+                                                             dato.lib.server.Datom (transit/write-handler (constantly "datascript/Datom")
+                                                                                                          transit-rep)
+                                                             datascript.core.Datom
+                                                             (transit/write-handler (constantly "datascript/Datom")
+                                                                                    (fn [d] [(:e d) (:a d) (:v d) (:tx d) (:added d)]))}})
         session-store all-sessions]
     (set-dato-route-heirarchy! (get-routing-table config))
     (def -tal-state tal-state)

(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)
                                       {}
                                       (-> msg :data :txes)
                                       (-> msg :data :guids)
                                       (get-dato-db dato-config)
                                       nil)]
    (clojure.pprint/pprint reply)
    (tal/queue-reply! tal-state msg reply)))




(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)
        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]
