-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Refactor FXIOS-13463 #29256 [Swift 6 Migration] Final changes to web engine package #29660
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
Conversation
BrowserKit/Sources/WebEngine/WKWebview/Scripts/ReaderMode/WKReadabilityOperation.swift
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty good to me! Just a couple small thoughts! 🥇
BrowserKit/Sources/Common/Utilities/MenuHelper/MenuHelperWebViewInterface.swift
Show resolved
Hide resolved
|
||
/// Helper to get the metadata fetched out of a `WKEngineSession` | ||
@MainActor | ||
protocol MetadataFetcherHelper { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should something that "fetches" data really be fully main actor isolated? I imagine it has to do some background stuff... 🤔 (same concern for the annotation below also)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh myyyy 😆 Ok yep keep on as you were then hahaha!! Just ignore me 😂
BrowserKit/Sources/WebEngine/WKWebview/Scripts/ReaderMode/WKReadabilityOperation.swift
Show resolved
Hide resolved
9d63f13
to
83576e8
Compare
This pull request has conflicts when rebasing. Could you fix it @lmarceau? 🙏 |
@Mergifyio rebase |
☑️ Nothing to do, the required conditions are not met
|
3c09474
to
6c2a42c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pushed a fix for a Bitrise compile error. Let's see if it builds now!
…ct concurrency warnings (#29497) * Refactor FXIOS-13511 [Swift 6] Remove Equatable from AppState and other redux states (#29495) * Remove unneeded equatable conformance on redux states * Fix tests * Fix test * Refactor FXIOS-13532 [Swift 6 Migration] Fix strict concurrency errors related to Notifications (#29514) Fun stuff * first pass of isolating tab to the main actor * Clean up tests and push commented out code * fix additional warnings * Clean up remaining warnings * fix tests * add missing ticket numbers * resolve introduced warning --------- Co-authored-by: lmarceau <[email protected]>
… for Tab and Friends (#29628) * Additional tab clean up * Isolate UserScriptManager to main actor * fix tests * turn off strict concurrency * more main actor isolation * resolve introduced warnings
94e7fe8
to
17110ed
Compare
💪 Quality guardian3 tests files modified. You're a champion of test coverage! 🚀 🥇 Perfect PR sizeSmaller PRs are easier to review. Thanks for making life easy for reviewers! ✨ 💬 Description craftsmanGreat PR description! Reviewers salute you 🫡 Client.app: Coverage: 37.34
Generated by 🚫 Danger Swift against 17110ed |
📜 Tickets
Jira ticket
Github issue
💡 Description
Final changes to the
WebEngine
package, so strict concurrency can be turned on.@MainActor
.WKWebView
objects are mostly marked@MainActor
, meaning any interactions with it's configuration, view or actions needs to be called from the main actor. For that reason, the engine, session and view are now main actor. I think if we pick this project back again, we could analyze whether we want some part@concurrent
once we are on Swift 6.2. Note that the engine, session and view are not used inside Client at all. Because of those reasons, I think it makes sense for the sake of the migration to just have all of those marked as main actor.📝 Checklist