enhance(rtc): try to restart rtc when possible

This commit is contained in:
rcmerci
2024-12-11 16:46:26 +08:00
parent 19ba710e61
commit 6cc6a20da1
7 changed files with 111 additions and 54 deletions

View File

@@ -1,36 +0,0 @@
(ns frontend.components.rtc.flows
(:require [frontend.common.missionary-util :as c.m]
[frontend.state :as state]
[missionary.core :as m]))
(def rtc-log-flow
(m/watch (:rtc/log @state/state)))
(def rtc-download-log-flow
(m/eduction
(filter #(= :rtc.log/download (:type %)))
rtc-log-flow))
(def rtc-upload-log-flow
(m/eduction
(filter #(= :rtc.log/upload (:type %)))
rtc-log-flow))
(def rtc-misc-log-flow
(m/eduction
(remove #(contains? #{:rtc.log/download :rtc.log/upload} (:type %)))
rtc-log-flow))
(def rtc-state-flow
(m/stream (m/watch (:rtc/state @state/state))))
(def rtc-online-users-flow
(c.m/throttle
500
(m/eduction
(map (fn [m]
(when (and (= :open (:ws-state (:rtc-state m)))
(:rtc-lock m))
(:online-users m))))
(dedupe)
rtc-state-flow)))

View File

@@ -2,7 +2,7 @@
"RTC state indicator"
(:require [cljs-time.core :as t]
[frontend.common.missionary-util :as c.m]
[frontend.components.rtc.flows :as rtc-flows]
[frontend.handler.db-based.rtc-flows :as rtc-flows]
[frontend.state :as state]
[frontend.ui :as ui]
[frontend.util :as util]