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