diff --git a/src/main/frontend/components/block.cljs b/src/main/frontend/components/block.cljs index 07e6989cf8..56830fa5a6 100644 --- a/src/main/frontend/components/block.cljs +++ b/src/main/frontend/components/block.cljs @@ -1045,9 +1045,10 @@ {:keys [direction loaded total]} (state/sub :rtc/asset-upload-download-progress {:path-in-sub-atom [repo (str (:block/uuid block))]}) downloading? (and (= direction :download) (not= loaded total)) - download-finished? (and (= direction :download) (= loaded total))] + asset-file-write-finished? (state/sub :assets/asset-file-write-finish + {:path-in-sub-atom [repo (str (:block/uuid block))]})] (cond - (or file-exists? download-finished?) + (or file-exists? asset-file-write-finished?) (asset-link (assoc config :asset-block block) (:block/title block) (path/path-join (str "../" common-config/local-assets-dir) file) diff --git a/src/main/frontend/handler/assets.cljs b/src/main/frontend/handler/assets.cljs index 53740d4426..e204653917 100644 --- a/src/main/frontend/handler/assets.cljs +++ b/src/main/frontend/handler/assets.cljs @@ -249,7 +249,11 @@ repo-dir (config/get-repo-dir repo) file-path (path/path-join common-config/local-assets-dir (str asset-block-id-str "." asset-type))] - (fs/write-plain-text-file! repo repo-dir file-path data {}))) + (p/do! + (fs/write-plain-text-file! repo repo-dir file-path data {}) + (state/update-state! + :assets/asset-file-write-finish + (fn [m] (assoc-in m [repo asset-block-id-str] (common-util/time-ms))))))) (defn