Skip to content
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

Refactor MTE-3854 WIP: Menu Refactor Cherry Pick (Smoke Test only) #23239

Closed
wants to merge 49 commits into from

Conversation

clarmso
Copy link
Collaborator

@clarmso clarmso commented Nov 19, 2024

📜 Tickets

Jira ticket
Github issue

💡 Description

📝 Checklist

You have to check all boxes before merging

  • Filled in the above information (tickets numbers and description of your work)
  • Updated the PR name to follow our PR naming guidelines
  • Wrote unit tests and/or ensured the tests suite is passing
  • When working on UI, I checked and implemented accessibility (minimum Dynamic Text and VoiceOver)
  • If needed, I updated documentation / comments for complex code and public methods
  • If needed, added a backport comment (example @Mergifyio backport release/v120)

@clarmso clarmso requested review from a team as code owners November 19, 2024 20:14
@clarmso clarmso changed the title Refactor MTE-3854 WIP: Menu Refactor Refactor MTE-3854 WIP: Menu Refactor Cherry Pick Nov 19, 2024
@mobiletest-ci-bot
Copy link

mobiletest-ci-bot commented Nov 19, 2024

Warnings
⚠️ Pull Request size seems relatively large. If this Pull Request contains multiple changes, please split each into separate PR will helps faster, easier review. Consider using epic branches for work that would affect main.
Messages
📖 Project coverage: 32.51%
📖 Edited 343 files
📖 Created 120 files

Client.app: Coverage: 31.17

File Coverage
HomepageState.swift 92.31%
WallpaperStorageUtility.swift 41.86% ⚠️
ErrorPageHelper.swift 0.0% ⚠️
WallpaperAction.swift 100.0%
PasswordGeneratorPasswordFieldView.swift 66.42%
BrowserViewController.swift 3.56% ⚠️
ShareExtensionCoordinator.swift 32.3% ⚠️
FeatureFlagsDebugViewController.swift 0.0% ⚠️
TopTabsViewController.swift 0.0% ⚠️
BrowserCoordinator.swift 69.26%
Wallpaper.swift 90.24%
PasswordGeneratorState.swift 81.67%
AppSettingsTableViewController.swift 25.98% ⚠️
TermsOfServiceViewController.swift 0.0% ⚠️
BookmarksFolderEmptyStateView.swift 0.0% ⚠️
MenuBuilderHelper.swift 0.0% ⚠️
BrowserNavigationHandler.swift 76.92%
BookmarksViewController.swift 0.0% ⚠️
ContextMenuState.swift 0.0% ⚠️
BrowserViewControllerState.swift 42.89% ⚠️
WallpaperBackgroundView.swift 94.55%
AppState.swift 95.89%
PasswordGeneratorViewController.swift 35.21% ⚠️
TopTabDisplayManager.swift 0.0% ⚠️
AppSessionManager.swift 100.0%
NativeErrorPageViewController.swift 88.11%
BrowserViewController+WebViewDelegates.swift 4.34% ⚠️
AddressListViewModel.swift 46.27% ⚠️
AccessoryViewProvider.swift 71.13%
LegacyHomepageViewController.swift 35.74% ⚠️
ScreenshotHelper.swift 63.41%
WallpaperManager.swift 25.22% ⚠️
NavigationBrowserAction.swift 100.0%
PrivacyWindowHelper.swift 0.0% ⚠️
WallpaperMiddleware.swift 97.83%
NimbusFlaggableFeature.swift 97.76%
TabManager.swift 62.5%
NimbusFeatureFlagLayer.swift 59.14%
TelemetryWrapper.swift 66.94%
HomepageViewController.swift 37.64% ⚠️
SettingsCoordinator.swift 89.86%
BrowserNavigationType.swift 100.0%
LegacyWallpaperBackgroundView.swift 90.63%
RemoteSettingsFetchConfig.swift 81.82%
ToggleInactiveTabs.swift 0.0% ⚠️
PullRefreshView.swift 49.85% ⚠️
WallpaperState.swift 97.3%
NativeErrorPageHelper.swift 0.0% ⚠️
PasswordGeneratorAction.swift 100.0%
LegacyTabManager.swift 34.85% ⚠️

ComponentLibrary: Coverage: 30.88

File Coverage
PrimaryRoundedButton.swift 82.08%

MenuKit: Coverage: 40.29

File Coverage
MenuMainView.swift 51.61%
MenuTableView.swift 43.18% ⚠️

libAccount.a: Coverage: 30.82

File Coverage
RustFirefoxAccounts.swift 15.16% ⚠️

libStorage.a: Coverage: 55.7

File Coverage
DiskImageStore.swift 67.61%
BrowserSchema.swift 61.99%

Generated by 🚫 Danger Swift against 88273fd

@@ -111,6 +111,7 @@
"HistoryHighlightsDataAdaptorTests\/testReloadDataOnNotification()",
"HistoryHighlightsTests",
"IntroViewControllerTests\/testBasicSetupReturnsExpectedItems()",
"PocketViewModelTests\/testClickingDiscoverCell_recordsTapOnStory()",
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

No idea why those unit tests fail in Bitrise. :(

@clarmso clarmso added the Do Not Merge ⛔️ This issue is a work in progress and is not ready to land label Nov 19, 2024
@clarmso clarmso changed the title Refactor MTE-3854 WIP: Menu Refactor Cherry Pick Refactor MTE-3854 WIP: Menu Refactor Cherry Pick (Smoke Test only) Nov 19, 2024
@@ -392,7 +383,7 @@ class BookmarksTests: BaseTestCase {

private func bookmarkPageAndTapEdit() {
bookmark()
app.buttons["Edit"].waitAndTap()
bookmark()
Copy link
Contributor

Choose a reason for hiding this comment

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

do we need to go to bookmark() twice?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This private function is for testEditBookmark(), a full functional test. This test bookmarks a page first and then opens the Bookmark page. Let me take a look what's going on here.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, we need to call bookmark() twice. Before the menu refactor, there's an "Edit" button from the toast to access the bookmarks panel right away.
Simulator Screenshot - iPhone 15 Pro - 2024-11-21 at 16 41 44

After the menu refactor, there's no such a button. The way to open the bookmarks panel is to open the browser tab menu ➡️ Save ➡️ Edit Bookmarks (was "Add Bookmarks"). The second bookmarks() call opens the bookmarks panel.
Simulator Screenshot - iPhone 15 - 2024-11-21 at 17 20 39

@isabelrios
Copy link
Contributor

@clarmso how is this work going? I just leave a question, apart from that, when do you expect this could land?

@clarmso
Copy link
Collaborator Author

clarmso commented Nov 21, 2024

@clarmso how is this work going? I just leave a question, apart from that, when do you expect this could land?

This PR can land when the menu refactor is enabled. The bookmark() related question is for a full functional tests.

We will address the issue on full functional tests after this PR is landed so that the developers are not blocked.

@@ -119,6 +120,7 @@
"ShortcutRouteTests\/testOpenLastBookmarkShortcutWithInvalidUrl()",
"TabManagerTests\/testDeleteSelectedTab()",
"TabManagerTests\/testPrivatePreference_togglePBMDeletesPrivate()",
"TabToolbarHelperTests\/testTelemetryForSiteMenu()",
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We can disable these unit test temporarily.

@clarmso clarmso removed the Do Not Merge ⛔️ This issue is a work in progress and is not ready to land label Nov 22, 2024
@clarmso
Copy link
Collaborator Author

clarmso commented Nov 22, 2024

FYI: I have not tested the changes with Xcode 16 and iOS 18 yet.

@isabelrios
Copy link
Contributor

isabelrios commented Nov 25, 2024

@clarmso Can you rebase with latest main to see the changes working on xcode 16? the experiment will be enabled within this PR so that the change and tests land at the same time as we did with toolbar ..
cc @thatswinnie

mattreaganmozilla and others added 9 commits November 25, 2024 11:17
[FXIOS-10335] Initial attempt at fixing a leak of WKWebView and also a blank homepage bug that regressed as a result.
…Feedback & Studies descriptions are not tappable (#23212)

Fix failing Learn More navigation for Settings by repairing delegate chain on initialization.
Update the strings to remove comment referring to Android localization since it's not relevant

Co-authored-by: Sophie Amin <[email protected]>
* Bugfix FXIOS-10600 Nimbus github action

change checkout and .git owner

* undo debug changes
* FXIOS-10605 Firefox iOS: Nimbus Flag for ToS

* Removed ToS feature from FeatureDebugViewController
…ned when I try to open just one new tab (#23253)

Make self weak in the button action handler and remove code that checks for existing buttons
…alendar alert (#23266)

* chore: update l10n string concat logic

* fix: lint again
github-actions bot and others added 23 commits November 25, 2024 11:17
…1121050227 (#23288)

Auto update SPM with latest rust-component release 134.0.20241121050227

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…nnection error page only (#23268)

* Add FXIOS-10609 [Native Error Page] Added flag to show no internet connection error page only

* renamed variables and improved error handling

* Added default strings for title and description
…otection-lists-ios` (#23199)

* chore: change config to account for attachments

* chore: update remote settings script to pull in attachments

* chore: commit all changes in RemoteSettingsData

* fix: move changed files from tmp dir

* fix: adjust path for attachments

* chore: manually run script

* chore: update swift schema and fix failing tests

* fix: linting issue

Co-authored-by: Nishant Bhasin <[email protected]>

* fix: linting issue

Co-authored-by: Nishant Bhasin <[email protected]>

* fix: linting issue

Co-authored-by: Nishant Bhasin <[email protected]>

* fix: another linting issue

* fix: do not format json files

---------

Co-authored-by: Nishant Bhasin <[email protected]>
…Manager (#23184)

* Handle privacy window fo iPad multi windows

* Remove iPad check in appWillResignActiveNotification
…on Only (#23275)

* FXIOS-10606 Firefox iOS: ToS Card in Onboarding - UI Creation Only

* Fixed a SwiftLint warning

* Refactored some code
Fixed the theme change issue

* Removed notificationCenter from init

* Updating the theme via Themeable instead of Notifiable

* Refactored some code
…ns/islands in the menu. (#23308)

FXIOS-10569 #23140 ⁃ [Menu Redesign] Fix the margin and Padding for the sections/islands in the menu.
* Refactor - auto update credential provider script

* fix: pull fix from central

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Issam Mani <[email protected]>
* Rename LegacyTabDisplayManager to TopTabDisplayManager

* swiftlint
…Messages (#23301)

* This partially reverts a change to sharing to accommodate the Info Card Referral project to avoid appending website titles to any link shared from the app.
…Switcher (#23271)

* Progress Made

* Completed Ticket

* Addressed comments

* Update firefox-ios/Client.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Co-authored-by: Issam Mani <[email protected]>

---------

Co-authored-by: Issam Mani <[email protected]>
* Remove crash alert

* Remove commented code
Remove updateAddress test from smoketest plan2
* Update Bitrise to use XCode 16.1

* Update npm vulnrability

* Add verbose to the swift command

* Try edge version

* Trying one thing

* Update error handling in script

* Remove edge version

* Run script twice

* Update focus

* Revert npm change

* Test remove shard script

* Fix unit tests

* Update simulator target

* Change simulator

* Disable some tests

* Compile and test Focus on Github Actions

* Use macos-15 runner

* Run Focus tests for supported iOS versions

* Revert to old workflow name

* Update workflow name

* Run Firefox smoke tests on Github Actions

* Could the device matter?

* Disable some more tests

* Update danger version

* Update package

* How about iPad mini

* How about using Github Actions to run old iOS versions?

* Remove the update address from the smoke test

---------

Co-authored-by: Laurie Marceau <[email protected]>
Co-authored-by: Clare So <[email protected]>
Co-authored-by: mbarone <[email protected]>
#23256)

chore: enable address edit by default on US and CA
Updated Icons from Acorn repo

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Bug 1929832 - Mark dau-reporting ping as deprecated

This also removes it from the baseline schedule and should stop it from
being sent. It will be fully removed at a later point.

* Bug 1929832 - Rename to `usage-reporting` ping and remove the info fields
…wser (#23311)

* FXIOS-10568 Firefox iOS: Show Onboarding Links in Modal Browser

* Refactored some code
Localize [v134] String import 2024-11-25

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Update README with latest tech stack of Xcode 16.1

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…23202)

* Add wallpaper view to new homescreen and configure redux for wallpaper changes

* Add wallpaper middleware tests

* fix linter errors

* Add scrolling follow up and orientation change logic

* PR Feedback

* Remove wallpaper object dependency from view and  state

* Remove trailing whitespace
@clarmso
Copy link
Collaborator Author

clarmso commented Nov 25, 2024

Sorry folks. Rebase failed again. Let me cherry pick the smoke tests-related changes momentarily. 😢

Copy link
Contributor

mergify bot commented Nov 25, 2024

This pull request has conflicts when rebasing. Could you fix it @clarmso? 🙏

@clarmso
Copy link
Collaborator Author

clarmso commented Nov 25, 2024

Clean PR here: #23381

@clarmso clarmso closed this Nov 25, 2024
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.