From b87e3c22b3d894042d7b14be9482d4c647a30de9 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Tue, 22 Mar 2022 17:24:36 +0100 Subject: [PATCH] :sparkles: Improve worker error handling Use the global error handlers for handle also the worker errors. --- frontend/src/app/main/worker.cljs | 7 ++----- frontend/src/app/worker.cljs | 11 +++++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/frontend/src/app/main/worker.cljs b/frontend/src/app/main/worker.cljs index 8bd60284f..40e07456b 100644 --- a/frontend/src/app/main/worker.cljs +++ b/frontend/src/app/main/worker.cljs @@ -7,19 +7,16 @@ (ns app.main.worker (:require [app.config :as cfg] + [app.main.errors :as err] [app.util.worker :as uw])) -(defn on-error - [error] - (js/console.error "Error on worker" (pr-str error))) - (defonce instance (atom nil)) (defn init! [] (reset! instance - (uw/init cfg/worker-uri on-error))) + (uw/init cfg/worker-uri err/on-error))) (defn ask! [message] diff --git a/frontend/src/app/worker.cljs b/frontend/src/app/worker.cljs index 52bb72451..a37bce958 100644 --- a/frontend/src/app/worker.cljs +++ b/frontend/src/app/worker.cljs @@ -52,10 +52,13 @@ (reply [result] (post {:payload result})) - (reply-error [err] - (.error js/console "error" (pr-str err)) - (post {:error {:data (ex-data err) - :message (ex-message err)}})) + (reply-error [cause] + (if (map? cause) + (post {:error cause}) + (post {:error {:type :unexpected + :code :unhandled-error-on-worker + :hint (ex-message cause) + :data (ex-data cause)}}))) (reply-completed ([] (reply-completed nil))