mirror of
https://github.com/penpot/penpot.git
synced 2025-05-09 23:56:38 +02:00
🐛 Show proper 404 when look on not-existing page on viewer.
This commit is contained in:
parent
9ecbddc18c
commit
f3bb5c55f5
2 changed files with 19 additions and 13 deletions
|
@ -142,17 +142,23 @@
|
||||||
(when expl (js/console.error expl))
|
(when expl (js/console.error expl))
|
||||||
(js/console.groupEnd msg)))
|
(js/console.groupEnd msg)))
|
||||||
|
|
||||||
(defonce uncaught-error-handler
|
(defn on-unhandled-error
|
||||||
(letfn [(on-error [event]
|
[error]
|
||||||
(.preventDefault ^js event)
|
(if (instance? ExceptionInfo error)
|
||||||
(when-let [error (unchecked-get event "error")]
|
(-> error sentry/capture-exception ex-data ptk/handle-error)
|
||||||
(let [hint (ex-message error)
|
(let [hint (ex-message error)
|
||||||
msg (str "Unhandled Internal Error: " hint)]
|
msg (str "Unhandled Internal Error: " hint)]
|
||||||
(sentry/capture-exception error)
|
(sentry/capture-exception error)
|
||||||
(ts/schedule (st/emitf (rt/assign-exception error)))
|
(ts/schedule (st/emitf (rt/assign-exception error)))
|
||||||
(js/console.group msg)
|
(js/console.group msg)
|
||||||
(ex/ignoring (js/console.error error))
|
(ex/ignoring (js/console.error error))
|
||||||
(js/console.groupEnd msg))))]
|
(js/console.groupEnd msg))))
|
||||||
|
|
||||||
|
(defonce uncaught-error-handler
|
||||||
|
(letfn [(on-error [event]
|
||||||
|
(.preventDefault ^js event)
|
||||||
|
(some-> (unchecked-get event "error")
|
||||||
|
(on-unhandled-error)))]
|
||||||
(.addEventListener js/window "error" on-error)
|
(.addEventListener js/window "error" on-error)
|
||||||
(fn []
|
(fn []
|
||||||
(.removeEventListener js/window "error" on-error))))
|
(.removeEventListener js/window "error" on-error))))
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
(ns app.main.ui.viewer
|
(ns app.main.ui.viewer
|
||||||
(:require
|
(:require
|
||||||
|
[app.common.exceptions :as ex]
|
||||||
[app.common.geom.point :as gpt]
|
[app.common.geom.point :as gpt]
|
||||||
[app.main.data.comments :as dcm]
|
[app.main.data.comments :as dcm]
|
||||||
[app.main.data.viewer :as dv]
|
[app.main.data.viewer :as dv]
|
||||||
|
@ -38,14 +39,10 @@
|
||||||
[{:keys [params data]}]
|
[{:keys [params data]}]
|
||||||
|
|
||||||
(let [{:keys [page-id section index]} params
|
(let [{:keys [page-id section index]} params
|
||||||
|
{:keys [file users project perms]} data
|
||||||
|
|
||||||
local (mf/deref refs/viewer-local)
|
local (mf/deref refs/viewer-local)
|
||||||
|
|
||||||
file (:file data)
|
|
||||||
users (:users data)
|
|
||||||
project (:project data)
|
|
||||||
perms (:permissions data)
|
|
||||||
|
|
||||||
page-id (or page-id (-> file :data :pages first))
|
page-id (or page-id (-> file :data :pages first))
|
||||||
|
|
||||||
page (mf/use-memo
|
page (mf/use-memo
|
||||||
|
@ -78,6 +75,9 @@
|
||||||
|
|
||||||
(hooks/use-shortcuts ::viewer sc/shortcuts)
|
(hooks/use-shortcuts ::viewer sc/shortcuts)
|
||||||
|
|
||||||
|
(when (nil? page)
|
||||||
|
(ex/raise :type :not-found))
|
||||||
|
|
||||||
;; Set the page title
|
;; Set the page title
|
||||||
(mf/use-effect
|
(mf/use-effect
|
||||||
(mf/deps (:name file))
|
(mf/deps (:name file))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue