feat: enable optional sentry error tracking

pull/1920/head
Tienson Qin 2021-05-18 19:55:10 +08:00
parent a45da8af93
commit 514fd0ea0b
5 changed files with 26 additions and 5 deletions

View File

@ -26,7 +26,6 @@
<title>Logseq: A local-first knowledge base</title> <title>Logseq: A local-first knowledge base</title>
<meta content="logseq" property="og:site_name"> <meta content="logseq" property="og:site_name">
<meta content="A local-first knowledge base which can be synced using Git." name="description"> <meta content="A local-first knowledge base which can be synced using Git." name="description">
<script crossorigin="anonymous" defer onload="Sentry.init({dsn: 'https://636e9174ffa148c98d2b9d3369661683@o416451.ingest.sentry.io/5311485'});" src="https://asset.logseq.com/static/js/sentry.min.js">
</script> </script>
</head> </head>
<body> <body>

View File

@ -144,6 +144,7 @@
current-repo (state/get-current-repo) current-repo (state/get-current-repo)
enable-journals? (state/enable-journals? current-repo) enable-journals? (state/enable-journals? current-repo)
enable-encryption? (state/enable-encryption? current-repo) enable-encryption? (state/enable-encryption? current-repo)
sentry-disabled? (state/sub :sentry/disabled?)
enable-git-auto-push? (state/enable-git-auto-push? current-repo) enable-git-auto-push? (state/enable-git-auto-push? current-repo)
enable-block-time? (state/enable-block-time?) enable-block-time? (state/enable-block-time?)
show-brackets? (state/show-brackets?) show-brackets? (state/show-brackets?)
@ -344,6 +345,13 @@
[:div.ver version] [:div.ver version]
(if (util/electron?) (app-updater))]] (if (util/electron?) (app-updater))]]
(toggle "disable_sentry"
(t :settings-page/disable-sentry)
sentry-disabled?
(fn []
(let [value (not sentry-disabled?)]
(state/set-sentry-disabled! value))))
[:div.it.sm:grid.sm:grid-cols-3.sm:gap-4.sm:items-start [:div.it.sm:grid.sm:grid-cols-3.sm:gap-4.sm:items-start
[:label.block.text-sm.font-medium.leading-5.opacity-70 [:label.block.text-sm.font-medium.leading-5.opacity-70
{:for "developer_mode"} {:for "developer_mode"}

View File

@ -202,6 +202,7 @@
:content/click-to-edit "Click to edit" :content/click-to-edit "Click to edit"
:settings-page/edit-config-edn "Edit config.edn (for current repo)" :settings-page/edit-config-edn "Edit config.edn (for current repo)"
:settings-page/show-brackets "Show brackets" :settings-page/show-brackets "Show brackets"
:settings-page/disable-sentry "Disable Sentry.io (for error tracking)"
:settings-page/custom-date-format "Preferred journal format" :settings-page/custom-date-format "Preferred journal format"
:settings-page/preferred-file-format "Preferred file format" :settings-page/preferred-file-format "Preferred file format"
:settings-page/preferred-workflow "Preferred workflow" :settings-page/preferred-workflow "Preferred workflow"

View File

@ -137,10 +137,11 @@
(defn init-sentry (defn init-sentry
[] []
(let [cfg (when-not (state/sentry-disabled?)
{:dsn "https://636e9174ffa148c98d2b9d3369661683@o416451.ingest.sentry.io/5311485" (let [cfg
:release (util/format "logseq@%s" version/version)}] {:dsn "https://636e9174ffa148c98d2b9d3369661683@o416451.ingest.sentry.io/5311485"
(.init js/window.Sentry (clj->js cfg)))) :release (util/format "logseq@%s" version/version)}]
(.init js/window.Sentry (clj->js cfg)))))
(defn on-load-events (defn on-load-events
[] []

View File

@ -29,6 +29,7 @@
:repo/changed-files nil :repo/changed-files nil
:nfs/user-granted? {} :nfs/user-granted? {}
:nfs/refreshing? nil :nfs/refreshing? nil
:sentry/disabled? (storage/get "sentry-disabled")
;; TODO: how to detect the network reliably? ;; TODO: how to detect the network reliably?
:network/online? true :network/online? true
:indexeddb/support? true :indexeddb/support? true
@ -1215,6 +1216,17 @@
[value] [value]
(set-state! :block/component-editing-mode? value)) (set-state! :block/component-editing-mode? value))
(defn sentry-disabled?
[]
(:sentry/disabled? @state))
(defn set-sentry-disabled!
[value]
(set-state! :sentry/disabled? value)
(storage/set "sentry-disabled" value)
(when value
(.close js/window.Sentry)))
(defn get-editor-args (defn get-editor-args
[] []
(:editor/args @state)) (:editor/args @state))