enhance: ignore some errors

close #2071
pull/2076/head
Tienson Qin 2021-06-03 03:20:54 +08:00
parent ed5ec08d84
commit c37be4e8d8
2 changed files with 22 additions and 6 deletions

View File

@ -0,0 +1,14 @@
(ns frontend.error
(:require [clojure.string :as string]))
(defonce ignored
#{"ResizeObserver loop limit exceeded"})
(defn ignored?
[message]
(let [message (str message)]
(boolean
(some
;; TODO: some cases might need regex check
#(= (string/lower-case message) (string/lower-case %))
ignored))))

View File

@ -26,17 +26,19 @@
[goog.object :as gobj]
[lambdaisland.glogi :as log]
[promesa.core :as p]
[frontend.ui :as ui]))
[frontend.ui :as ui]
[frontend.error :as error]))
(defn set-global-error-notification!
[]
(set! js/window.onerror
(fn [message, source, lineno, colno, error]
(notification/show!
(str "message=" message "\nsource=" source "\nlineno=" lineno "\ncolno=" colno "\nerror=" error)
:error
;; Don't auto-hide
false))))
(when-not (error/ignored? message)
(notification/show!
(str "message=" message "\nsource=" source "\nlineno=" lineno "\ncolno=" colno "\nerror=" error)
:error
;; Don't auto-hide
false)))))
(defn- watch-for-date!
[]