fix(macos): fix race condition in wkwebview implementation of cookie fetching - #1486
Merged
lucasfernog merged 3 commits intoMar 2, 2025
Merged
Conversation
charrondev
force-pushed
the
fix/wkwebview-cookies-runloop
branch
from
February 11, 2025 07:01
66ffb69 to
48893e4
Compare
charrondev
force-pushed
the
fix/wkwebview-cookies-runloop
branch
from
February 11, 2025 08:18
48893e4 to
6e8440b
Compare
charrondev
force-pushed
the
fix/wkwebview-cookies-runloop
branch
from
February 11, 2025 08:45
6e8440b to
f02276d
Compare
lucasfernog
approved these changes
Mar 2, 2025
Contributor
Package Changes Through 4037f7eThere are 1 changes which include wry with patch Planned Package VersionsThe following package releases are the planned based on the context of changes in this pull request.
Add another change file through the GitHub UI by following this link. Read about change files or the docs at github.com/jbolda/covector |
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.
As I was implementing tauri-apps/tauri#12665 I noticed a completed hang of the application if
cookies_for_url()was called multiple times in quick succession.I'm no expect in rust or objc but my understanding of the code here is as follows:
WKHTTPCookieStore.getAllCookies()takes a callback to receive the cookies.runUntilDate()didn't necessarily block until that date on the rust site of this operation.In order to fix this I had to do a few things. Notably I had to do all of these things for the issue to go away consistently.
runUntilDate()withacceptInputForMode_beforeDate().recv_timeout()instead oftry_recvNow I'm sure there's something nasty under the hood causing this to happen, but I'm not really knowledgable enough to dive any deeper myself. I will say these changes fix the issue I was running into at the cost of an extra ms on my end.