(ns frontend.handler.db-based.rtc "RTC handler" (:require [clojure.pprint :as pp] [frontend.config :as config] [frontend.db :as db] [frontend.handler.notification :as notification] [frontend.handler.user :as user-handler] [frontend.state :as state] [frontend.util :as util] [logseq.db :as ldb] [logseq.db.common.sqlite :as sqlite-common-db] [logseq.shui.ui :as shui] [promesa.core :as p])) (defn (when (not= result :timeout) (assert (some? download-info-s3-url) result) (.rtc-download-graph-from-s3 worker graph-uuid graph-name download-info-s3-url)) (p/finally #(state/set-state! :rtc/downloading-graph-uuid nil)))))) (defn ex-data* (select-keys [:app :local :remote]) pp/pprint with-out-str)]] :error))) :rtc.exception/lock-failed (js/setTimeout #(> graphs (remove (fn [graph] (= (:graph-status graph) "deleting"))) (mapv (fn [graph] (merge (let [url (str config/db-version-prefix (:graph-name graph))] {:url url :GraphName (:graph-name graph) :GraphSchemaVersion (:graph-schema-version graph) :GraphUUID (:graph-uuid graph) :rtc-graph? true}) (dissoc graph :graph-uuid :graph-name)))))] (state/set-state! :rtc/graphs result)))) (defn (p/do! (.rtc-grant-graph-access worker token (str graph-uuid) (ldb/write-transit-str []) (ldb/write-transit-str [email])) (notification/show! "Invitation sent!" :success)) (p/catch (fn [e] (notification/show! "Something wrong, please try again." :error) (js/console.error e)))))))