Skip to content

Housekeep/swift 6 migration#51

Merged
jmarek41 merged 22 commits intomainfrom
housekeep/swift-6-migration
Mar 3, 2026
Merged

Housekeep/swift 6 migration#51
jmarek41 merged 22 commits intomainfrom
housekeep/swift-6-migration

Conversation

@jmarek41
Copy link
Copy Markdown
Member

@jmarek41 jmarek41 commented Jan 15, 2026

Minimum SDK iOS 17, Swift tools 6.1
Replaced Combine with Async&Await
Replaced ObservableObject with @observable
Replaced @StateObject with @State
All models Sendable
Helpers updated - Alert, Camera & ImagePicker
Templates updated
Added tests (AI generated)
Code cleanup

Migration guide https://github.com/futuredapp/FTClaudeMarketplace/blob/main/ios/futuredkit-plugin/commands/migrate-futuredkit-swift6.md

@jmarek41 jmarek41 requested a review from ssestak February 17, 2026 19:47
@jmarek41 jmarek41 marked this pull request as ready for review February 17, 2026 19:47
Removed the DataCacheSnapshot class, which provided a UI-friendly snapshot of DataCache for synchronous reads on the main actor.
@jmarek41 jmarek41 requested review from Patrez and eRDe33 February 18, 2026 12:15
jmarek41 and others added 3 commits February 18, 2026 15:28
The previous tests relied on bufferingNewest(1) behavior to imply
that unwanted emissions didnt happen — but this silently swallows
the evidence either way, making the tests pass even if the equality
guards were removed. Replace with confirmation(expectedCount: 0) to
explicitly assert that no emission occurs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move repeated confirmation(expectedCount: 0) pattern into a reusable
assertNoEmission(on:during:) helper. Place it at the bottom of the
file under a MARK section.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ssestak
ssestak previously approved these changes Feb 23, 2026
Copy link
Copy Markdown
Contributor

@ssestak ssestak left a comment

Choose a reason for hiding this comment

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

The only thing I found out is that the tests is written in the way that name of the test suggests something but in my opinion it is not properly executed and it can produce some false positive outcomes. That's why I opened an PR where I tried to improve them please view the #53

…ssertions

Fix false-positive DataCache emission tests
@jmarek41
Copy link
Copy Markdown
Member Author

@ssestak @samoilyk guys what was the motivation behind creating a DataModel as an actor? The main purpose is if I am not mistaken to share data across multiple screens where necessary. I am thinking if the easiest solution wouldn't be to just annotate DataModel class with @MainActor. Thanks for the discussion 🙏.

@jmarek41 jmarek41 requested a review from samoilyk February 24, 2026 22:08
@jmarek41
Copy link
Copy Markdown
Member Author

@ssestak @samoilyk guys what was the motivation behind creating a DataModel as an actor? The main purpose is if I am not mistaken to share data across multiple screens where necessary. I am thinking if the easiest solution wouldn't be to just annotate DataModel class with @MainActor. Thanks for the discussion 🙏.

Here's follow up with MainActor DataCache #54. Check it out please.

@jmarek41 jmarek41 merged commit 80f8cf0 into main Mar 3, 2026
1 check passed
@jmarek41 jmarek41 deleted the housekeep/swift-6-migration branch March 3, 2026 15:01
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.

4 participants