obs-store/local-store should upgrade webextension error to real error#7207
Merged
obs-store/local-store should upgrade webextension error to real error#7207
Conversation
Collaborator
Builds ready [f6e4b54]
|
Gudahtt
reviewed
Sep 23, 2019
| function checkForError () { | ||
| const lastError = extension.runtime.lastError | ||
| if (!lastError) return | ||
| return new Error(lastError.message) |
Member
There was a problem hiding this comment.
Perhaps we should check whether it's already an error first, before extracting the message to construct a new error?
I haven't tested this on Firefox, but MDN does claim that runtime.lastError is an Error object. So maybe an instanceof Error check would catch that case, preserving any other metadata that error might have (like a stack trace).
Member
|
Great find! It's always frustrating to see Sentry errors that are plain text, and those empty object errors are even worse. I was wondering why that was happening. |
Gudahtt
approved these changes
Sep 23, 2019
Collaborator
Builds ready [ab4be0f]
|
Gudahtt
added a commit
to Gudahtt/metamask-extension
that referenced
this pull request
Sep 27, 2019
* origin/develop: (56 commits) Add advanced setting to enable editing nonce on confirmation screens (MetaMask#7089) Add migration on 3box imports and remove feature flag (MetaMask#7209) ci - install deps - limit install scripts to whitelist (MetaMask#7208) Add a/b test for full screen transaction confirmations (MetaMask#7162) Update minimum Firefox verison to 56.0 (MetaMask#7213) mesh-testing - submit infura rpc requests to mesh-testing container (MetaMask#7031) obs-store/local-store should upgrade webextension error to real error (MetaMask#7207) sesify-viz - bump dep for visualization enhancement (MetaMask#7175) address book entries by chainId (MetaMask#7205) Optimize images only during production build (MetaMask#7194) Use common test build during CI (MetaMask#7196) Report missing `en` locale messages to Sentry (MetaMask#7197) Verify locales on CI (MetaMask#7199) updated ganache and addons-linter (MetaMask#7204) fixup! add user rejected errors add user rejected errors update json-rpc-engine use eth-json-rpc-errors Remove unused locale messages (MetaMask#7190) Remove unused components (MetaMask#7191) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
the error (in chromium at least) is an object with a non-enumerable getter for message, so it serializes itself as an empty object. This ensures the error is a proper error object which may improve reporting to sentry