mirror of
https://github.com/penpot/penpot.git
synced 2026-06-29 02:32:04 +00:00
🐛 Fix incorrect events handling on webgl render toggle
From the workspace main menu
This commit is contained in:
parent
960b90253f
commit
3b9a895f62
@ -399,6 +399,7 @@
|
||||
(fn [_]
|
||||
;; Start the event collection pipeline
|
||||
(->> (rx/merge
|
||||
(rx/filter (ptk/type? ::force-persist) stream)
|
||||
(->> (rx/from-atom buffer)
|
||||
(rx/filter #(pos? (count %)))
|
||||
(rx/debounce 2000))
|
||||
@ -416,6 +417,7 @@
|
||||
(rx/map (constantly chunk))))))
|
||||
(rx/take-until stopper)
|
||||
(rx/subs! (fn [chunk]
|
||||
(st/emit! (ptk/data-event ::chunk-persisted {:chunk chunk}))
|
||||
(swap! buffer remove-from-buffer (count chunk)))
|
||||
(fn [cause]
|
||||
(l/error :hint "unexpected error on audit persistence" :cause cause))
|
||||
|
||||
@ -44,6 +44,7 @@
|
||||
[app.util.i18n :as i18n :refer [tr]]
|
||||
[app.util.keyboard :as kbd]
|
||||
[beicon.v2.core :as rx]
|
||||
[potok.v2.core :as ptk]
|
||||
[rumext.v2 :as mf]))
|
||||
|
||||
(mf/defc shortcuts*
|
||||
@ -936,17 +937,24 @@
|
||||
ev-name (if (= next-renderer :wasm)
|
||||
"enable-webgl-rendering"
|
||||
"disable-webgl-rendering")]
|
||||
|
||||
(if (cf/external-feature-flag "renderer-hard-reload" "test")
|
||||
;; Bare RPC + hard reload: skips `du/update-profile-props`, so
|
||||
;; `features/recompute-features` is not run here; bootstrap
|
||||
;; after reload resolves render-wasm/v1 from the saved profile.
|
||||
(do
|
||||
(st/emit! (ev/event {::ev/name ev-name
|
||||
::ev/origin "workspace:menu"}))
|
||||
(->> (rp/cmd! :update-profile-props {:props {:renderer next-renderer}})
|
||||
(rx/subs! (fn [_] (dom/reload-current-window true))
|
||||
(->> (rx/zip
|
||||
(rp/cmd! :update-profile-props {:props {:renderer next-renderer}})
|
||||
(rx/filter (ptk/type? ::ev/chunk-persisted) st/stream))
|
||||
(rx/timeout 2000 (rx/of :timeout))
|
||||
(rx/subs! (fn [_]
|
||||
(dom/reload-current-window true))
|
||||
(fn [_]
|
||||
(st/emit! (ntf/error (tr "errors.generic")))))))
|
||||
(st/emit! (ntf/error (tr "errors.generic"))))))
|
||||
(st/emit! (ev/event {::ev/name ev-name
|
||||
::ev/origin "workspace:menu"})
|
||||
(ptk/data-event ::ev/force-persist {})))
|
||||
|
||||
;; `update-profile-props` WatchEvent calls
|
||||
;; `features/recompute-features`.
|
||||
(st/emit! (ev/event {::ev/name ev-name
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user