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

iOS 14 deprecation cleanup #3098

Merged
merged 10 commits into from
Jul 26, 2024
Merged

iOS 14 deprecation cleanup #3098

merged 10 commits into from
Jul 26, 2024

Conversation

samsymons
Copy link
Contributor

Task/Issue URL: https://app.asana.com/0/414709148257752/1207384568093644/f
Tech Design URL:
CC:

Description:

This PR removes iOS 14 support code now that 15 is our minimum deployment target.

Steps to test this PR:

  1. Test that the app compiles and tests all pass
  2. Look over the diff to ensure there are no unexpected changes
  3. Optionally, check out the codebase to make sure there are no iOS 14 checks that were missed

Definition of Done (Internal Only):

Orientation Testing:

  • Portrait
  • Landscape

Device Testing:

  • iPhone SE (1st Gen)
  • iPhone 8
  • iPhone X
  • iPhone 14 Pro
  • iPad

OS Testing:

  • iOS 15
  • iOS 16
  • iOS 17

Theme Testing:

  • Light theme
  • Dark theme

Internal references:

Software Engineering Expectations
Technical Design Template

@samsymons samsymons requested review from a team and tomasstrba and removed request for a team July 18, 2024 04:24
Copy link

github-actions bot commented Jul 18, 2024

Warnings
⚠️ PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible.

Generated by 🚫 dangerJS against 6532274

Copy link
Contributor

@tomasstrba tomasstrba left a comment

Choose a reason for hiding this comment

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

LGTM! ✅

* main:
  Bump submodules/privacy-reference-tests from `a242bf0` to `afb4f61` (#3096)
  Updates BSK to 171.2.3
  Remove print (#3101)
  Update Package.resolved file (#3102)
  New Tab Page favorites section (#3083)
  Properly compare actual value of the entitlement check (#3100)
  fix ui tests broken by new onboarding and use shared setup flow (#3081)
# By Daniel Bernal (6) and others
# Via Chris Brind (3) and others
* main: (24 commits)
  [DuckPlayer] 10 . Move DuckPlayer init to TabManager (#3124)
  Fix threading issue with Mesage broker (#3132)
  [Duckplayer] - 9. Edge Cases (#3115)
  Release 7.130.0-2 (#3134)
  Internal update for: fix index out-of-bounds in startAttachingCrashLogMessages (#3123) (#3128)
  Attach params to PPro pixels (#3092)
  Don't show key icon for empty passwords (#3070)
  Release 7.129.1-0 (#3127)
  fix index out-of-bounds in startAttachingCrashLogMessages (#3123)
  Release 7.130.0-1 (#3122)
  Revert old Dax icon for old onboarding (#3085)
  Scroll to Internal User setting (#3114)
  Release 7.130.0-0 (#3118)
  Allow activating subscription for internal users via debug menu (#3117)
  Update breakage report locale to JSON format (#3112)
  [Duckplayer] 8. Age restricted videos (#3111)
  Reduce VPN manager instances (#3097)
  Update BSK for Mac RMF changes (#3107)
  [DuckPlayer] 7- Open Settings (#3110)
  [DuckPlayer] 6 - Init updates and Watch on YouTube (#3066)
  ...

# Conflicts:
#	DuckDuckGo/DuckPlayer/DuckPlayerNavigationHandler.swift
@@ -71,7 +71,6 @@ struct CompleteDownloadRow: View {
}
.accessibilityLabel(UserText.actionShare)
.buttonStyle(.plain)
.animation(nil)
Copy link
Contributor Author

@samsymons samsymons Jul 24, 2024

Choose a reason for hiding this comment

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

@miasma13 This API usage doesn't map neatly into the new SwiftUI animation API. I couldn't figure out what animation we were suppressing with it, since this action is showing a system Share sheet which will always animate. With that in mind, I've removed it, but let me know if you recall why this exists - I believe we could add it back, using the following code:

.animation(nil, value: UUID())

Copy link
Contributor

Choose a reason for hiding this comment

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

Did a quick test of the download list with that line removed and didn't found any odd behavior. There is a slim chance that it was to suppress for some odd behaviour when run on old iOS (13 or 14 at that time).
I am fine with the removal.

Copy link
Contributor

@tomasstrba tomasstrba left a comment

Choose a reason for hiding this comment

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

LGTM! ✅

I see 30 warning which aren't related to the unsupported iOS version, except the warnings related to much older iOS versions:
Screenshot 2024-07-25 at 14 16 53

I tested the autofill animation, but couldn't find a link to test the download animation. If you'd like me to test it, please provide a link to test downloads on iOS in testing steps.

* main:
  Update Xcode version to 15.4 (#3142)
  remove pixels for keyboard toggle (#3135)
  Keep Remote Messages in database if they were shown (#3136)
@samsymons
Copy link
Contributor Author

@tomasstrba No problem, I've tested the animation repeatedly on each iOS version already so let's go ahead with merging. Thanks for the review!

@samsymons samsymons merged commit 3e09d3c into main Jul 26, 2024
14 checks passed
@samsymons samsymons deleted the sam/ios-14-cleanup branch July 26, 2024 00:00
samsymons added a commit that referenced this pull request Jul 26, 2024
# By Dominik Kapusta (2) and others
# Via GitHub
* main:
  Add favorites empty state tooltip (#3119)
  Bump submodules/privacy-reference-tests from `a603ff9` to `afb4f61` (#3113)
  iOS 14 deprecation cleanup (#3098)
  Update Xcode version to 15.4 (#3142)
  remove pixels for keyboard toggle (#3135)
  Keep Remote Messages in database if they were shown (#3136)

# Conflicts:
#	DuckDuckGo/SettingsViewModel.swift
samsymons added a commit that referenced this pull request Jul 28, 2024
# By Daniel Bernal (3) and others
# Via GitHub
* main:
  [DuckPlayer] 13. Add openInfo message to Overlay (#3151)
  [DuckPlayer] 12. Ensure DuckPlayer does not leak without the proper config (#3147)
  [DuckPlayer] 11. Tab views and Pixel updates (#3145)
  Remove the NETWORK_PROTECTION compilation flag (#3139)
  Add favorites empty state tooltip (#3119)
  Bump submodules/privacy-reference-tests from `a603ff9` to `afb4f61` (#3113)
  iOS 14 deprecation cleanup (#3098)
  Update Xcode version to 15.4 (#3142)
  remove pixels for keyboard toggle (#3135)
  Keep Remote Messages in database if they were shown (#3136)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
samsymons added a commit that referenced this pull request Jul 31, 2024
# By Dominik Kapusta (3) and others
# Via GitHub
* main:
  New Tab Page Settings (#3140)
  New Tab Page Settings Storage (#3159)
  Prevent endless rekey and tunnel update cycle (#3091)
  tentatively fix content blocking UI test (#3141)
  Update Autofill UI test to reflect updated app copy (#3158)
  Duck player support on RMF (#3146)
  Release 7.131.0-0 (#3157)
  Update BSK with autofill 12.1.0 (#3155)
  Report Autofill issues via Passwords screen (#3116)
  Update GRDB to 2.4.0 (upstream 6.29.0, SQLCipher 4.6.0) (#3153)
  Update fastlane to 2.222.0 (#3154)
  [DuckPlayer] 13. Add openInfo message to Overlay (#3151)
  [DuckPlayer] 12. Ensure DuckPlayer does not leak without the proper config (#3147)
  [DuckPlayer] 11. Tab views and Pixel updates (#3145)
  Remove the NETWORK_PROTECTION compilation flag (#3139)
  Add favorites empty state tooltip (#3119)
  Bump submodules/privacy-reference-tests from `a603ff9` to `afb4f61` (#3113)
  iOS 14 deprecation cleanup (#3098)
  Update Xcode version to 15.4 (#3142)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
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.

None yet

3 participants