Skip to content

Conversation

@lmarceau
Copy link
Contributor

@lmarceau lmarceau commented Sep 17, 2025

📜 Tickets

Jira ticket
Github issue

💡 Description

  • Changing a bunch of objects that needs to be @MainActor. Examples:
  • Changed to use a factory init method for some initializer since we cannot have default parameters to be @MainActor under Swift 5. This will be fixed when we migrate to Swift 6, so added a TODO for now
  • nonisolated(unsafe) variables in some cases, created ticket to fix those if/when we pick back the WebEngine project again
  • FYI there's now around 40 warnings left in that package with this PR

cc: @ih-codes, @dataports, @Cramsden

📝 Checklist

  • I filled in the ticket numbers and a description of my work
  • I updated the PR name to follow our PR naming guidelines
  • I ensured unit tests pass and wrote tests for new code
  • If working on UI, I checked and implemented accessibility (Dynamic Text and VoiceOver)
  • If adding telemetry, I read the data stewardship requirements and will request a data review
  • If needed, I updated documentation and added comments to complex code
  • If needed, I added a backport comment (example @Mergifyio backport release/v150.0)

@lmarceau lmarceau requested a review from a team as a code owner September 17, 2025 14:57
@lmarceau
Copy link
Contributor Author

lmarceau commented Sep 17, 2025

Argh. I started fixing the missing stuff in Client and ended up having to touch the Tab object. I think I'll need to wait on @Cramsden changes in there to avoid duplicating the work 😢 I'll put this in draft for now for that reason

@lmarceau lmarceau marked this pull request as draft September 17, 2025 15:41
Copy link
Collaborator

@ih-codes ih-codes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good to me so far @lmarceau. Sad about the Tab boundaries. 😭 Can you re-flag me for a review once this is ready? Then I'll take another look!

Copy link
Collaborator

@FilippoZazzeroni FilippoZazzeroni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM @lmarceau just a nit about adding tickets.

@FilippoZazzeroni
Copy link
Collaborator

I just approved @lmarceau I forgot it was a draft, I'll review again when you add more code.

@lmarceau lmarceau force-pushed the lm/FXIOS-13463-#29256-WebEngine-part-2 branch from 805bb87 to f73bd57 Compare September 26, 2025 15:05
@lmarceau lmarceau changed the base branch from main to epic-branch/swift-migration September 26, 2025 15:06
@lmarceau lmarceau marked this pull request as ready for review September 26, 2025 15:07
@mobiletest-ci-bot
Copy link

mobiletest-ci-bot commented Sep 26, 2025

Messages
📖 Project coverage: 38.14%

💪 Quality guardian

12 tests files modified. You're a champion of test coverage! 🚀

🥇 Perfect PR size

Smaller PRs are easier to review. Thanks for making life easy for reviewers! ✨

🙌 Friday high-five

Thanks for pushing us across the finish line this week! 🙌

💬 Description craftsman

Great PR description! Reviewers salute you 🫡

Client.app: Coverage: 37.35

File Coverage
BrowserViewController.swift 32.59% ⚠️
BackForwardList.swift 55.56%

🦊 BrowserViewController Check

We’re tracking the size of BrowserViewController.swift to keep it healthy.

  • ✨ Change in file size: +2 lines

Generated by 🚫 Danger Swift against 430ad91

@lmarceau lmarceau merged commit a1f07f0 into epic-branch/swift-migration Sep 26, 2025
8 checks passed
@lmarceau lmarceau deleted the lm/FXIOS-13463-#29256-WebEngine-part-2 branch September 26, 2025 18:53
ih-codes added a commit that referenced this pull request Sep 26, 2025
… from last week (#5) (#29657)

* 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

* Refactor FXIOS-13502 [Swift 6 Migration] Fix main actor isolation warnings in MozillaRustComponents (#29426)

"Fix" main actor isolation warnings in MozillaRustComponents with a workaround for setting accessibility identifiers to prevent larger impacts and errors in Client generated code.

* Refactor FXIOS-13511 [Swift 6] Move Tab to MainActor and resolve strict 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 <lmarceau@mozilla.com>

* Refactor FXIOS-13532 #29411 [Swift 6 Migration] AppDelegate + PushNotification (#29590)

* Fix for Constellation update

* Fix UNUserNotificationCenterDelegate methods

* Fix tests

* Refactor FXIOS-13235 [Swift 6 Migration] Enable strict concurrency checking in SummarizerKit (#29575)

* Enable strict concurrency in SummarizerKit.

* Fix closure `Sendable` warnings.

* Fix some other warnings. Suppress others with FIXME tickets.

* Refactor FXIOS-13463 #29256 [Swift 6 Migration] WebEngine @mainactor (#29393)

* Policy decider

* Make main actor

* @mainactor stuff

* Fix the tests

* Adjust Client

* Add ticket number

* Adjust following comments

* Refactor FXIOS-12796 [Swift 6 Migration] Fix more under-specified protocols (#29650)

* Fix under-specified protocols: AddressToolbarDelegate, EmptyPrivateTabView, InsetUpdatable, PhotonActionSheetContainerCellDelegate, NavigationController.

* Fix unit tests.

* Refactor FXIOS-13502 [Swift 6 Migration] Fix or suppress `Sendable` and misc. warnings in MozillaRustComponents (round 1) (#29425)

* Fix or suppress Sendable warnings in MozillaRustComponents.

* Janky workaround for main actor isolation warning.

* Update some Rust Components Sendable callbacks with @mainactor as well so the Client can reason better about main actor isolation.

* Refactor FXIOS-13511 [Swift 6] Additional Strict Concurrency Clean up 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

---------

Co-authored-by: Carson Ramsden <carsonramsden@gmail.com>
Co-authored-by: lmarceau <lmarceau@mozilla.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants