🐛 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

@ -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))))