-
Notifications
You must be signed in to change notification settings - Fork 9.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
evaluateAsync doesn't return rejected promises properly #976
Comments
If we fix this we need to be especially sure it's fixed in both CLI and extension. The unhelpful promise rejection info is really unfortunate. Looks like it may be a devtools bug? It would be nice to have error message, stack trace, etc |
In #965 the weird I can only find |
this is being removed in #977 |
@patrickhulce this was fixed for We could close or we could expand the issue scope to all the protocol methods we currently use that return an object with possible |
Yeah that was pretty much just a stop gap since anything that's an actual |
addresses GoogleChrome#1000 and GoogleChrome#976 1. Ensures all `Runtime.evaluate` calls result in the native Promise 2. Transforms all errors produced during the evaluation to a standard object that can be rejected by our driver wrapper
addresses GoogleChrome#1000 and GoogleChrome#976 1. Ensures all `Runtime.evaluate` calls result in the native Promise 2. Transforms all errors produced during the evaluation to a standard object that can be rejected by our driver wrapper
addresses GoogleChrome#1000 and GoogleChrome#976 1. Ensures all `Runtime.evaluate` calls result in the native Promise 2. Transforms all errors produced during the evaluation to a standard object that can be rejected by our driver wrapper
addresses GoogleChrome#1000 and GoogleChrome#976 1. Ensures all `Runtime.evaluate` calls result in the native Promise 2. Transforms all errors produced during the evaluation to a standard object that can be rejected by our driver wrapper
addresses GoogleChrome#1000 and GoogleChrome#976 1. Ensures all `Runtime.evaluate` calls result in the native Promise 2. Transforms all errors produced during the evaluation to a standard object that can be rejected by our driver wrapper
#1037 has a nice solution to this |
Partially discussed in #965
Repro steps:
gatherers/dobetterweb/links-blocking-first-paint.js
or any other browser eval'd function that should cause the promise to be rejectedtags.reduce is not a function
or some similar unhelpful message masking the underlying issue.Issue lies in JSON serialization of the result and the rejected promise being converted to an object like below instead of a rejected promise see driver.js.
The text was updated successfully, but these errors were encountered: