refactor: Updated Demo apps to both use Swift 6 and Strict Memory Safety#983
Draft
hollyschilling-cio wants to merge 25 commits intomainfrom
Draft
refactor: Updated Demo apps to both use Swift 6 and Strict Memory Safety#983hollyschilling-cio wants to merge 25 commits intomainfrom
hollyschilling-cio wants to merge 25 commits intomainfrom
Conversation
added 5 commits
January 27, 2026 13:17
Sample app builds 📱Below you will find the list of the latest versions of the sample apps. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #983 +/- ##
==========================================
+ Coverage 67.89% 67.94% +0.05%
==========================================
Files 181 182 +1
Lines 9524 9506 -18
==========================================
- Hits 6466 6459 -7
+ Misses 3058 3047 -11 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
mrehan27
approved these changes
Jan 28, 2026
Contributor
mrehan27
left a comment
There was a problem hiding this comment.
Tried running this locally and both apps compiled correctly for me. However, CI is failing and needs to be fixed before merging. Rest looks good.
Shahroz16
approved these changes
Jan 28, 2026
added 11 commits
January 28, 2026 15:13
Build fails with versions < 26.0 due to memory safety flag (`-strict-memory-safety`).
…to tool versions.
… Bloaty. DWARF5 became the default in Xcode 26.
added 3 commits
January 28, 2026 18:27
added 3 commits
January 29, 2026 08:59
…get DWARF 5 support." This reverts commit a1a92c8.
…t Testing. Simplified uses of `mapNonNil()` throughout the app.
added 2 commits
February 6, 2026 10:12
# Conflicts: # Tests/Common/Util/AtomicTest.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First, I'm not sure if calling this a refactor is appropriate or not. Code is only modified within the demo apps. If there is a better label for it, please let me know and I'll change it.
Both demo apps have been updated to use Strict Memory Safety with Swift 6. The SDK is completely unchanged and working in pre-concurrency mode with Swift 5.5
Please actually check out and build the demo apps while reviewing this PR. I'd like a bigger sample size than "it works on my machine."
Complete each step to get your pull request merged in. Learn more about the workflow this project uses.
Note
Medium Risk
Medium risk because it upgrades build tooling (Xcode/Swift) and introduces concurrency annotations/locking that can affect runtime behavior and CI stability, though changes are largely confined to sample apps and test/util code.
Overview
Updates CI and release workflows to build sample apps with Xcode 26.2 / iOS 26, including updating the setup action reference, default Xcode version, and simplifying iOS platform download; Fastlane builds now force DWARF v4 debug info for bloaty compatibility.
Migrates both demo apps to Swift 6 +
SWIFT_STRICT_MEMORY_SAFETY, adding@MainActor/nonisolated/@Sendableannotations, making the APN demo DI container (DIGraphShared)Sendablewith lock-protected storage, and refactoring SwiftUI alert/push-permission flows (removing customBindinghelpers, using.alert(item:), async notification permission checks, and retroactiveString: Identifiable).Makes a few small SDK/internal cleanups to avoid unsafe optional mapping (
mapNonNil->compactMap, subview lookups viafirst(where:)) and updates unit tests to the SwiftTestingframework.Written by Cursor Bugbot for commit eda4d79. This will update automatically on new commits. Configure here.