Files
Synapse/src/main/frontend/handler/events/rtc_error.cljs
Dasemu 40631362b3 Initial import of LogDarioSeq baseline
Establishes version control for the personal Logseq DB fork before
starting the server-client architecture migration and domain features
described in docs/agent-guide and the approved implementation plan.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 15:32:15 +02:00

39 lines
915 B
Clojure

(ns frontend.handler.events.rtc-error
"RTC event error helpers.")
(def ^:private e2ee-decrypt-error-codes
#{:db-sync/invalid-e2ee-password})
(defn- throwable-message
[error]
(or (ex-message error)
(when (instance? js/Error error)
(.-message error))
(some-> error str)))
(defn- error-texts
[error]
(when error
(let [data (ex-data error)]
(concat
[(throwable-message error)
(:error-message data)
(:error-cause data)]
(error-texts (:error data))
(error-texts (ex-cause error))))))
(defn- error-codes
[error]
(when error
(let [data (ex-data error)]
(concat
[(:code data)]
(error-codes (:error data))
(error-codes (ex-cause error))))))
(defn e2ee-decrypt-failed?
[error]
(boolean
(or (some e2ee-decrypt-error-codes (error-codes error))
(some #{"decrypt-aes-key"} (error-texts error)))))