Stephen Celis
08dfcc5208
wip
2025-02-04 09:57:28 -08:00
Benedicto Hong
eab3982894
Fix typos in Store.swift ( #3547 )
...
Fix formatting by removing extra space before 'public'.
2025-01-08 16:38:17 -08:00
Brandon Williams
2ebda6ae2b
Fix typo in migration doc.
2025-01-07 09:25:12 -08:00
Stephen Celis
ff1a875668
Bump Sharing requirement to include 2.0.0 ( #3546 )
...
* Bump Sharing requirement to include 2.0.0
* Add migration guide
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
2025-01-07 09:23:11 -08:00
Stephen Celis
42192d4574
Don't report unasserted shared changes in Reducer._printChanges() ( #3528 )
...
* Don't report unasserted shared changes in `Reducer._printChanges()`
* fix
* wip
* wip
* wip
2025-01-07 09:20:31 -08:00
Brandon Williams
cc1713458d
Record state access when constructing _StoreCollection. ( #3521 )
2025-01-07 09:20:15 -08:00
Takehiro Kaneko
642af1d50e
Fix NavigationStackController docs ( #3540 )
2024-12-22 11:06:10 -06:00
Pyry Jahkola
cc49db3cb6
Fix obsolete detail on StackElementID documentation ( #3509 )
2024-12-03 13:09:37 -06:00
Stephen Celis
547d19c9dc
Add Sharing dependency ( #3517 )
...
* wip
* wip
* remove old case study for shared notifications
* wip
* wip
* wip
* wip
* wip
* 1.17 migration guide
* basics migration guide
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2024-12-03 13:08:02 -06:00
mbrandonw
fb822844b2
Run swift-format
2024-11-19 16:11:53 +00:00
Brandon Williams
69011b636f
Add migration guide for 1.16. ( #3491 )
...
* Add migration guide for 1.16.
* Update README.md
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-11-19 11:04:44 -05:00
Pyry Jahkola
69247baf7b
Fix crash when cancelling subscription for custom PersistenceKey ( #3494 )
...
* Add crashing unit test for AppStorageKey subscription cancellation
* Fix double cancellation of Shared.Subscription
2024-11-14 11:14:20 -08:00
Josh
333aa22e81
Add @ViewBuilder to NavigationStack. init root ( #3493 )
2024-11-13 21:50:00 -08:00
Brandon Williams
2170719d07
Fix race condition in FileStorageKey ( #3479 )
...
* Failing test for multiple mutations to file storage.
* wip
* wip
* fixes
* wip
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-11-12 18:38:35 -05:00
Dave Carrigan
a952dde0bf
AppStorage: add support for Date values ( #3470 )
...
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-11-11 21:23:07 -08:00
Pat Brown
fdad435ecb
Avoid extra lock for subscriptions ( #3476 )
...
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-11-11 20:35:22 -08:00
Kabir Oberai
8784f76187
Fix DemandBuffer race ( #3475 )
...
See also: https://github.com/CombineCommunity/CombineExt/pull/90
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-11-11 20:35:07 -08:00
Stephen Celis
12268edde8
Prefer KVO for app storage observation ( #3487 )
...
* wip
* wip
* wip
2024-11-11 16:47:51 -08:00
Stephen Celis
3879d2c831
Avoid sendable key paths in dynamic member lookup ( #3463 )
...
* Avoid sendable key paths in dynamic member lookup
There are a few compiler bugs that prevent us from declaring sendability
for key paths where it's needed.
First, doing so breaks autocomplete, which really hurts the developer
experience: https://github.com/swiftlang/swift/issues/77035
Second, even though recovering autocomplete might be preferable at the
cost of safety, there is no safety to begin with right now because
sendable diagnostics don't propagate through dynamic member lookup:
https://github.com/swiftlang/swift/issues/77105
Because of this, let's only use non-sendable key paths for now, and
force cast them under the hood.
* fix
2024-10-23 11:16:34 -07:00
Kabir Oberai
56149436a3
Fix race conditions in CurrentValueRelay ( #3447 )
...
* Test
tweak test
tweaks
* Slow fix
* Fix test compilation
* nonrecursive lock
* back to os_lock
* undo renaming
* visibility
* Feedback
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-10-22 09:56:43 -07:00
Stephen Celis
fc5cbeec88
Infrastructure: Address concurrency warnings in tests ( #3438 )
...
* Infrastructure: Address concurrency warnings in tests
* wip
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2024-10-15 10:03:23 -07:00
Stephen Celis
f43a154fd4
Fix Swift <6 warning ( #3445 )
...
Bit casting a type to the type it already is produces a warning.
2024-10-15 10:03:03 -07:00
mbrandonw
1aca801ee2
Run swift-format
2024-10-14 17:09:44 +00:00
Brandon Williams
2d0590bedd
Clean up key path bitcasting. ( #3411 )
...
* Clean up key path bitcasting.
* wip
* wip
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-10-14 13:08:23 -04:00
Christopher Rex
4699a1e613
Add explicit @mainactor to NavigationLink initializer ( #3430 )
...
* Add explicit @MainActor to NavigationLink initializer
* Access Notification from within an explicit Task
Fixes the "Conformance of 'Notification' to 'Sendable' is unavailable" error
* Revert "Add explicit @MainActor to NavigationLink initializer"
This reverts commit d8cb0706c1 .
* Add explicit @MainActor to NavigationLink initializer
* Update Examples/CaseStudies/SwiftUICaseStudies/03-Effects-LongLiving.swift
Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com >
* Update swift-navigation dependency version to 2.2.2
* Discard changes to Examples/CaseStudies/CaseStudies.xcodeproj/project.pbxproj
* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved
* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved
* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved
* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved
* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved
* Update ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved
* Update Package@swift-6
* Fix tests
---------
Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com >
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2024-10-09 16:57:34 -07:00
Stephen Celis
f9f3e3a4cb
Use AnyHashableSendable from Concurrency Extras ( #3428 )
...
* Use `AnyHashableSendable` from Concurrency Extras
Rather than use an ad hoc implementation with an `AnyHashable` under the
hood that may not be concurrency safe, let's adopt the helper we added
to the Concurrency Extras packages.
* fix
* wip
* wip
2024-10-08 13:08:38 -07:00
Inhwan Kim
c8c97a45ae
Add Import modules on NavigationStack tutorial source codes. ( #3409 )
2024-10-02 21:46:33 -07:00
Stephen Celis
85417e000e
Update documentation and examples to use Swift Testing ( #3413 )
...
* Testing: Case Studies
* Testing: Search
* Testing: Speech Recognition
* Testing: SyncUps
* Project Settings
* Testing: TicTacToe
* Testing: Todos
* Testing: Voice Memos
* Update tutorials/docs
* fix
* Fixes
* wip
* Update ci.yml
* Update ci.yml
* Update ci.yml
* wip
* wip
* Quiet
* fix
* wip
* wip
* flaky
* wip
* wip
* fix
2024-10-02 16:28:33 -07:00
stephencelis
4c0866420f
Run swift-format
2024-09-18 21:39:29 +00:00
Brandon Williams
d631d48c16
Added migration guide for 1.15 ( #3390 )
...
* Added migration guide for 1.15
* wip
2024-09-17 08:12:10 -04:00
Stephen Celis
dcecad3fe2
Soft-deprecate Store.ifLet ( #3382 )
...
* Soft-deprecate `Store.ifLet`
We can prefer `observe` and `if let store.scope` now.
* wip
* wip
* Update MigratingTo1.7.md
* wip
2024-09-13 13:51:00 -07:00
stephencelis
d750b2a96c
Run swift-format
2024-09-12 21:30:41 +00:00
Stephen Celis
f1af33763e
Swift 6 updates ( #3379 )
...
* Swift 6 updates
- Soft-deprecate `_SynthesizedConformance` now that Xcode 16 has fixed
this bug.
- Update docs accordingly.
- Document Xcode 16 macro gotcha around custom build configuration
names.
* wip
2024-09-12 14:11:05 -07:00
Brandon Williams
03ad0cce2d
Bucket effect cancel IDs. ( #3374 )
...
* Bucket effect cancel IDs.
* wip
* wip
* remove cache reset
* wip
* wip
* wip
2024-09-12 13:48:39 -04:00
Stephen Celis
912192b619
Remove unused perception branches ( #3376 )
2024-09-12 08:10:06 -07:00
stephencelis
e0367371e6
Run swift-format
2024-09-10 15:20:01 +00:00
Mason Kim
71cfb1ef2d
Existential any to protocol for Swift 6 ( #3370 )
...
* Apply existential any to protocol for Swift 6
* Update Package@swift-6.0.swift
* Update Package.swift
* Apply any to Macro.Type
* Apply any for the rest
* Applying the any keyword internally for typealias in a _KeyPath
* Undoing accidental syntax
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
Co-authored-by: Stephen Celis <stephen.celis@gmail.com >
2024-09-10 08:01:24 -07:00
Stephen Celis
19efcf62ce
Update MigrationGuides.md
2024-09-09 12:40:56 -07:00
mbrandonw
12280a2253
Run swift-format
2024-09-06 20:47:24 +00:00
Brandon Williams
7c6fb26700
Address @Shared sendability. ( #3329 )
...
* Address @Shared sendability.
* Undo UncheckedSendable<UserDefaults>.
* clean up
* wip
* drop AnySendable.
* wip
* Address `Effect.throttle` sendability (#3325 )
* Address effect cancellation sendability (#3326 )
* Address effect cancellation sendability
* fix
* wip
* wip
* Separate SendableDefaultSubscript from DefaultSubscript.
* fix test
* drop escaping
* switch on swift 6 language mode
* xcode 16
* update test
* wip
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-09-06 16:28:23 -04:00
mbrandonw
83ed123041
Run swift-format
2024-09-06 16:12:40 +00:00
Brandon Williams
2c8b1c0cad
Fix potential deadlock in Shared ( #3356 )
...
* Fixed shared deadlock.
* Fix deadlock>
* wip
* wip
* Improve test.
2024-09-06 12:11:40 -04:00
이동영
105bc0f34a
fix typo - encapsulates ( #3354 )
2024-09-05 20:53:18 -07:00
Mason Kim
71f8291ee7
Replace deprecated viewStore with store ( #3341 )
...
* [FIX] Replace deprecated viewStore with store
* [FIX] Replace deprecated viewStore with store in Article
* [TEST] Match the changed view store message with the test message
* [TEST] Match the changed view store message with the test message
2024-09-05 14:41:59 -07:00
Pat Brown
5660c58164
Remove subscriptions from CurrentValueRelay when cancelled ( #2699 )
...
* Remove subscription on cancel
* Slight refactor
* Small refactor
Subscription keeps strong reference of `CurrentValueRelay` similar to `CurrentValueSubject`
* Add subscription lifetime tests
* Use weak subscriptions and remove inside send
* Change relay implementation
* For loop better
* Move tests to StoreTests.swift
* A few more locks and a Shared test.
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2024-09-05 17:04:54 -04:00
mino
64cf3e8509
fix typo ( #3349 )
2024-09-05 09:39:20 -04:00
Stephen Celis
d5c2d7679f
Warn if bindable store binding action isn't processed ( #3347 )
...
* Warn if bindable store binding action isn't processed
Looks like the warnings we emit when we detect `BindingReducer` is
missing are only applied to view stores, and were not ported over to the
newer observable store bindings.
This PR fixes that, though the main caveat is the messages can't seem to
point to any good context. These bindings are derived from dynamic
member lookup, which can't include source context like file/line.
* wip
* Add test
2024-09-04 18:37:41 -07:00
mino
3425878241
add comma ( #3345 )
2024-09-04 10:13:46 -04:00
Stephen Celis
bb34f69141
Require main actor isolation in store collection ( #3333 )
...
* Require main actor isolation in store collection
* `preconditionIsolated` is not available in iOS <14
* Update Sources/ComposableArchitecture/Observation/IdentifiedArray+Observation.swift
2024-09-04 07:13:30 -07:00
stephencelis
5e3f42070f
Run swift-format
2024-08-30 17:30:02 +00:00