re-elect if a provider gone

This commit is contained in:
Tienson Qin
2025-04-12 15:01:32 +08:00
parent 8aaa135030
commit 2d9a48bc05

View File

@@ -75,11 +75,11 @@
(fn [resolve _]
(letfn [(listener [event]
(let [{:keys [providerId clientId type]} (bean/->clj (.-data event))]
(prn :debug :providerId providerId)
(.request js/navigator.locks providerId #js {:mode "exclusive"}
(fn [_]
;; The provider has gone, elect the new provider
(prn :debug "Provider has gone")))
(prn :debug "Provider has gone")
(reset! *provider? :re-check)))
(when (and (= clientId client-id) (= type "registered"))
(.removeEventListener common-channel "message" listener)
(resolve nil))))]