-
-
Notifications
You must be signed in to change notification settings - Fork 132
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
Handle pending connections losing context on frame navigation #426
base: main
Are you sure you want to change the base?
Conversation
@francisbeaudoin do you have an example of such a page in the public internet? I just want to check the CDP logs to better understand of what's going on. A test describing the issue would be more appropriate though. |
@route Thanks for following up. I spent some time reproducing the issue by using a use case that was causing timeouts at the time, and found something interesting. By using the headless browser instance opened by ferrum vs using a regular instance ran from the desktop, the network requests were not returning the same status. i.e. I've identified the different behavior to the disable-site-isolation-trials option. If that option is removed thus enabled, Chrome shows a This was reproduced by visiting this example, and toggling the |
Hmmmm, nice thank you! Let me experiment a bit with that |
👋 @route By any chance you had time to look into this? I'd love to stop using a forked version in my project. |
Sorry not yet, was busy doing other things. Thanks for the reminder I will |
@route Sorry for bothering. Any plans to move forward with this PR? |
@francisbeaudoin yes sorry I takes me so long |
Details
Similar to what is being proposed in #420, this PR fixes intermittent
Ferrum::TimeoutError
as the driver awaits for requests to be completed.What
It was observed that in some scenarios the driver is not always receiving and associated
Network.loadingFailed
for requests that were in-flight as the main frame navigates. This may be happening with either main frame requests or sub-frame ones.I'm not sure if this is the right approach, but it appears to be working. Basically, it flags requests which are no longer relevant to the current page context as
unknown
which are then assumed to be#finished
.Relates to #420