From 7b8d1275833263a4557f3a896960e32a26bd1916 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Fri, 21 Jun 2024 11:47:26 +0200 Subject: [PATCH] :bug: Fix incorrect frame change detection on thumbnails generation --- .../app/main/data/workspace/thumbnails.cljs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/main/data/workspace/thumbnails.cljs b/frontend/src/app/main/data/workspace/thumbnails.cljs index c4cde6e2de..ab28b902c8 100644 --- a/frontend/src/app/main/data/workspace/thumbnails.cljs +++ b/frontend/src/app/main/data/workspace/thumbnails.cljs @@ -10,6 +10,7 @@ [app.common.files.helpers :as cfh] [app.common.logging :as l] [app.common.thumbnails :as thc] + [app.common.uuid :as uuid] [app.config :as cf] [app.main.data.changes :as dch] [app.main.data.persistence :as-alias dps] @@ -192,8 +193,8 @@ :mov-objects (->> (:shapes change) (map #(vector page-id %))) [])) - get-frame-id - (fn [[_ id]] + get-frame-ids + (fn get-frame-ids [id] (let [old-objects (wsh/lookup-data-objects old-data page-id) new-objects (wsh/lookup-data-objects new-data page-id) @@ -208,12 +209,21 @@ (conj old-frame-id) (cfh/root-frame? new-objects new-frame-id) - (conj new-frame-id))))] + (conj new-frame-id) + + (and (uuid? (:frame-id old-shape)) + (not= uuid/zero (:frame-id old-shape))) + (into (get-frame-ids (:frame-id old-shape))) + + (and (uuid? (:frame-id new-shape)) + (not= uuid/zero (:frame-id new-shape))) + (into (get-frame-ids (:frame-id new-shape))))))] (into #{} (comp (mapcat extract-ids) (filter (fn [[page-id']] (= page-id page-id'))) - (mapcat get-frame-id)) + (map (fn [[_ id]] id)) + (mapcat get-frame-ids)) changes))) (defn watch-state-changes