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

Ensure that LinkPresentation framework is called on main thread #595

Merged
merged 1 commit into from
Dec 7, 2023

Conversation

ayoy
Copy link
Contributor

@ayoy ayoy commented Dec 6, 2023

Please review the release process for BrowserServicesKit here.

Required:

Task/Issue URL: https://app.asana.com/0/1201493110486074/1206113035171145/f
iOS PR: duckduckgo/iOS#2241
macOS PR: duckduckgo/macos-browser#1935
What kind of version bump will this require?: Patch

Description:
Ensure that LinkPresentation's metadata lookup API is called on main thread.
Otherwise, it would keep crashing on iOS 15.

Steps to test this PR:

  1. Set up Sync between iOS 15 device and some other device. Alternatively, comment out this line in iOS's FaviconsFetcherOnboarding.swift.
  2. Have a bookmark without a favicon on iOS 15. If you fail to set up Sync on iOS 15 Simulator (e.g. due to clipboard sharing not working between iOS 15 Simulator and macOS), just add a favorite on some website, and then edit it updating URL to a different domain.
  3. Enable Sync and go to new tab page.
  4. Enable Favicons Fetching when prompted.
  5. Verify that the app doesn't crash and the favicon is fetched.

OS Testing:

  • iOS 14
  • iOS 15
  • iOS 16
  • macOS 10.15
  • macOS 11
  • macOS 12

Internal references:

Software Engineering Expectations
Technical Design Template

@ayoy ayoy self-assigned this Dec 6, 2023
@ayoy ayoy assigned SabrinaTardio and unassigned ayoy Dec 6, 2023
@ayoy ayoy marked this pull request as ready for review December 6, 2023 20:05
Copy link
Contributor

@SabrinaTardio SabrinaTardio left a comment

Choose a reason for hiding this comment

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

LGTM but was unable to tests. Having problem trying to get xcode to run an iOS 15 simulator.

@ayoy ayoy merged commit f494273 into main Dec 7, 2023
12 of 14 checks passed
@ayoy ayoy deleted the dominik/fix-favicons-fetcher-crash branch December 7, 2023 11:11
samsymons pushed a commit that referenced this pull request Dec 7, 2023
Task/Issue URL: https://app.asana.com/0/1201493110486074/1206113035171145/f

Description:
Ensure that LinkPresentation's metadata lookup API is called on main thread.
Otherwise, it would keep crashing on iOS 15.
samsymons added a commit that referenced this pull request Dec 9, 2023
* hotfix/90.0.0-1:
  Implement deleteAccount Sync endpoint (#596)
  Ensure that LinkPresentation framework is called on main thread (#595)
  No longer excluding the 10.0.0.0/8 range (#594)
samsymons added a commit that referenced this pull request Dec 21, 2023
* main: (39 commits)
  Fix privacy config fetch in debug mode (#606)
  Expose Internal User managing from Config (#610)
  Add Sync feature flags (#607)
  Fix Networking import into TestUtils (#609)
  Add Sync Success Rate pixel (#605)
  Add new logger (#604)
  Prevent VPN server list persistence failures (#603)
  SwiftLint plugin (#393)
  Update autofill to 10.0.2 (#599)
  Remove the reconnect/disconnect logic from the connection tester
  Fix an IPv6 regression. (#598)
  Quality metrics for Sync (#597)
  Report NetP connection attempts, tunnel failures, and latency (#584)
  Implement deleteAccount Sync endpoint (#596)
  Ensure that LinkPresentation framework is called on main thread (#595)
  No longer excluding the 10.0.0.0/8 range (#594)
  Update autofill to 10.0.1 (#591)
  Implement deleteAccount Sync endpoint (#596)
  Ensure that LinkPresentation framework is called on main thread (#595)
  No longer excluding the 10.0.0.0/8 range (#594)
  ...
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.

2 participants