From c332528185560b945b1db3f6c8a255806ca4068a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elena=20Torr=C3=B3?= Date: Wed, 2 Apr 2025 19:58:03 +0200 Subject: [PATCH] :bug: Fix render object with pending status (#6215) --- frontend/src/app/main/data/workspace.cljs | 2 +- frontend/src/app/render_wasm/api.cljs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/main/data/workspace.cljs b/frontend/src/app/main/data/workspace.cljs index 43937ac454..d6d71d994b 100644 --- a/frontend/src/app/main/data/workspace.cljs +++ b/frontend/src/app/main/data/workspace.cljs @@ -405,7 +405,7 @@ (filter #(= (:type %) :add-obj)) (map :obj))] (doseq [shape added] - (api/set-object [] shape)))) + (api/process-object shape)))) (if (and save-undo? (seq undo-changes)) (let [entry {:undo-changes undo-changes diff --git a/frontend/src/app/render_wasm/api.cljs b/frontend/src/app/render_wasm/api.cljs index c5a6f2769b..02e337e8e6 100644 --- a/frontend/src/app/render_wasm/api.cljs +++ b/frontend/src/app/render_wasm/api.cljs @@ -756,6 +756,17 @@ (set-shape-fills fills) (set-shape-strokes strokes))))) +(defn process-object + [shape] + (let [pending (set-object [] shape)] + (when-let [pending (seq pending)] + (->> (rx/from pending) + (rx/mapcat identity) + (rx/reduce conj []) + (rx/subs! (fn [_] + (clear-drawing-cache) + (request-render "set-objects"))))))) + (defn set-objects [objects] (let [shapes (into [] (vals objects))