diff --git a/frontend/src/app/main/worker.cljs b/frontend/src/app/main/worker.cljs index bbfec651c6..4daaeebc36 100644 --- a/frontend/src/app/main/worker.cljs +++ b/frontend/src/app/main/worker.cljs @@ -22,7 +22,8 @@ (uw/ask! worker {:cmd :configure :config {:public-uri cf/public-uri :build-data cf/build-date - :version cf/version}}) + :version cf/version + :version-tag cf/version-tag}}) (set! instance worker))) (defn ask! diff --git a/frontend/src/app/worker/impl.cljs b/frontend/src/app/worker/impl.cljs index 5461756ff5..c7f65dc1b7 100644 --- a/frontend/src/app/worker/impl.cljs +++ b/frontend/src/app/worker/impl.cljs @@ -36,6 +36,9 @@ (when-let [version (get config :version)] (set! cf/version version)) + (when-let [version-tag (get config :version-tag)] + (set! cf/version-tag version-tag)) + (when-let [build-date (get config :build-data)] (set! cf/build-date build-date)) diff --git a/frontend/src/app/worker/thumbnails.cljs b/frontend/src/app/worker/thumbnails.cljs index e42a9687b4..48d35cb0c7 100644 --- a/frontend/src/app/worker/thumbnails.cljs +++ b/frontend/src/app/worker/thumbnails.cljs @@ -192,7 +192,7 @@ :file-id file-id :revn revn})) (rx/end! subs))))))) - (rx/end! subs)) + (rx/error! subs (ex-info "unable to init wasm canvas" {:file-id file-id}))) nil))))))) (defonce ^:private @@ -202,7 +202,10 @@ (defonce ^:private thumbnails-stream (->> thumbnails-queue - (rx/mapcat render-thumbnail-with-wasm) + (rx/mapcat (fn [{:keys [id] :as message}] + (->> (render-thumbnail-with-wasm message) + (rx/catch (fn [cause] + (rx/of {:id id :error cause})))))) (rx/share))) (defmethod impl/handler :thumbnails/generate-for-file-wasm @@ -213,8 +216,10 @@ sid (->> thumbnails-stream (rx/filter #(= id (:id %))) (rx/subs! - (fn [result] - (rx/push! subs result) - (rx/end! subs))))] + (fn [{:keys [error] :as result}] + (if error + (rx/error! subs error) + (do (rx/push! subs result) + (rx/end! subs))))))] (rx/push! thumbnails-queue (assoc message :id id)) #(rx/dispose! sid)))))