mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-02-24 08:04:11 +08:00
Summary:
The goal is to let us see what plugins are throwing errors on Sentry.
We are using a Sentry `tag` to identify and group plugins and their
errors.
Along the way, I cleaned up the error catching and reporting system. There
was a lot of duplicate error logic (that wasn't always right) and some
legacy Atom error handling.
Now, if you catch an error that we should report (like when handling
extensions), call `NylasEnv.reportError`. This used to be called
`emitError` but I changed it to `reportError` to be consistent with the
ErrorReporter and be a bit more indicative of what it does.
In the production version, the `ErrorLogger` will forward the request to
the `nylas-private-error-reporter` which will report to Sentry.
The `reportError` function also now inspects the stack to determine which
plugin(s) it came from. These are passed along to Sentry.
I also cleaned up the `console.log` and `console.error` code. We were
logging errors multiple times making the console confusing to read. Worse
is that we were logging the `error` object, which would print not the
stack of the actual error, but rather the stack of where the console.error
was logged from. Printing `error.stack` instead shows much more accurate
stack traces.
See changes in the Edgehill repo here:
|
||
---|---|---|
.. | ||
account-sidebar | ||
attachments | ||
category-picker | ||
composer | ||
composer-emojis | ||
composer-signature | ||
composer-spellcheck | ||
composer-templates | ||
composer-translate | ||
events | ||
feedback | ||
github-contact-card | ||
message-autoload-images | ||
message-list | ||
message-view-on-github | ||
mode-switch | ||
notification-mailto | ||
notification-update-available | ||
notifications | ||
onboarding | ||
personal-level-indicators | ||
phishing-detection | ||
plugins | ||
preferences | ||
quick-schedule | ||
screenshot-mode | ||
search-bar | ||
send-and-archive | ||
sidebar-fullcontact | ||
system-tray | ||
thread-list | ||
ui-dark | ||
ui-light | ||
undo-redo | ||
unread-notifications | ||
worker-sync | ||
worker-ui |