0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-13 18:48:37 -05:00

🐛 Fix problems with cache and thumbnails

This commit is contained in:
alonso.torres 2022-12-05 13:21:06 +01:00
parent 6c2d2e142b
commit 7dbe39b1b5
4 changed files with 39 additions and 21 deletions

View file

@ -13,6 +13,7 @@
[app.common.geom.shapes.transforms :as gtr]
[app.common.math :as mth]
[app.common.types.modifiers :as ctm]
[app.common.types.shape.layout :as ctl]
[app.common.uuid :as uuid]))
;; Auxiliary methods to work in an specifica axis
@ -285,13 +286,25 @@
(let [modifiers (ctm/select-child modifiers)
constraints-h
(if-not ignore-constraints
(cond
(ctl/layout? parent)
:left
(not ignore-constraints)
(:constraints-h child (default-constraints-h child))
:else
:scale)
constraints-v
(if-not ignore-constraints
(cond
(ctl/layout? parent)
:top
(not ignore-constraints)
(:constraints-v child (default-constraints-v child))
:else
:scale)]
(if (and (= :scale constraints-h) (= :scale constraints-v))

View file

@ -283,13 +283,13 @@
(fn [old new attr]
(let [old-val (get old attr)
new-val (get new attr)]
(not= old-val new-val)))]
(let [new-obj (update-fn object)]
(if (= object new-obj)
'()
(not= old-val new-val)))
new-obj (update-fn object)]
(if (= object new-obj)
'()
(let [attrs (or attrs (d/concat-set (keys object) (keys new-obj)))]
(filter (partial changed? object new-obj) attrs))))))
(let [attrs (or attrs (d/concat-set (keys object) (keys new-obj)))]
(filter (partial changed? object new-obj) attrs)))))
(defn update-shapes
"Calculate the changes and undos to be done when a function is applied to a

View file

@ -55,8 +55,8 @@
[app.main.data.workspace.path.shapes-to-path :as dwps]
[app.main.data.workspace.persistence :as dwp]
[app.main.data.workspace.selection :as dws]
[app.main.data.workspace.shapes :as dwsh]
[app.main.data.workspace.shape-layout :as dwsl]
[app.main.data.workspace.shapes :as dwsh]
[app.main.data.workspace.state-helpers :as wsh]
[app.main.data.workspace.thumbnails :as dwth]
[app.main.data.workspace.transforms :as dwt]

View file

@ -29,15 +29,20 @@
:else
(let [subject (rx/subject)]
(swap! pending assoc key subject)
(->> observable
(rx/catch #(do (rx/error! subject %)
(swap! pending dissoc key)
(rx/throw %)))
(rx/tap
(fn [data]
(let [entry {:created-at (dt/now) :data data}]
(swap! cache assoc key entry))
(rx/push! subject data)
(rx/end! subject)
(swap! pending dissoc key))))))))
(do
(swap! pending assoc key subject)
(rx/subscribe
observable
(fn [data]
(let [entry {:created-at (dt/now) :data data}]
(swap! cache assoc key entry))
(swap! pending dissoc key)
(rx/push! subject data)
(rx/end! subject))
#(do
(swap! pending dissoc key)
(rx/error! subject %))))
subject))))