Brandon Williams
f8386ccaa6
tests and possible fix
2025-10-14 14:56:47 -05:00
Brandon Williams
552e757b2c
Remove mainActorNow tool where not needed. ( #3788 )
...
* Remove mainActorNow tool where not needed.
* wip
2025-10-08 20:18:34 -05:00
Stephen Celis
149fdf9c20
Use SPI docs instead of self-hosted ( #3791 )
...
* Use SPI docs instead of self-hosted
Fixes #3785 .
* wip
2025-10-08 09:28:11 -07:00
Arsatius Regler
a851f820f3
Add support for naming tasks in .run effects ( #3784 )
...
* Add support for naming tasks in .run effects
* Cleanup
* fix
* typo
* wip
* wip
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2025-09-26 18:21:37 -07:00
Brandon Williams
acd9bb8a7c
Allow store publisher to be used as async sequence. ( #3763 )
...
* Allow store publisher to be used as async sequence.
* Update StoreTests.swift
* Update publisher to use withState for currentState
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2025-08-29 12:01:32 -07:00
Brandon Williams
56389302ca
Better way to detect cancellation. ( #3755 )
2025-08-22 13:42:53 -07:00
stephencelis
d2c1bfb585
Run swift-format
2025-08-22 20:28:21 +00:00
Stephen Celis
1da96de161
Fix retain cycle regression from 1.21 ( #3756 )
2025-08-22 13:27:15 -07:00
Ryan Carver
af60ed2d51
Add shouldNotifyObservers to ObservableState ( #3751 )
...
* add shouldNotifyObservers support to ObservableState
* update tests
* move shouldNotifyObservers logic into ObservationState
* fix test for macro change
* Fix test
* wip
* update xcode on ci
* wip
* wip
* wip
* wip
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2025-08-18 17:47:27 -07:00
Stephen Celis
af0a2c7408
Perception 2.0 ( #3736 )
...
* Perception 2.0
* wip
* wip
* wip
* wip
* wip
* Revert "wip"
This reverts commit c5d0a06017 .
* wip
2025-07-30 11:16:38 -07:00
Stephen Celis
5cd90c330d
Propagate current navigation path to cancellable publisher effects ( #3728 )
...
* Propagate navigation ID to escaping closure in cancellation.
* Add test
* wip
* wip
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2025-07-17 13:49:06 -07:00
Brandon Williams
6574de2396
Make our use of SwiftSyntax APIs more resilient to precompiled SwiftSyntax ( #3694 )
...
* Make our use of SwiftSyntax APIs more resilient to precompiled SwiftSyntax
* support 600 and 601"
* wip
* Make store isolation tests more resillient.
2025-05-27 11:52:20 -07:00
Brandon Williams
6d6f2b46f6
Isolate cancellation in root stores. ( #3660 )
...
* Isolate cancellation in root stores.
* clean up
* wip
* fix cancellation id prefix.
* wip
2025-05-07 11:12:23 -05:00
Stephen Celis
cf4177a222
Invalidate child store subscriptions ( #3646 )
...
* Cut off firehose when core is invalid.
* wip
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2025-04-07 14:57:25 -07:00
Stephen Celis
23eb5ac23a
Remove outdated warning text ( #3643 )
...
Fixes #3545 .
2025-04-02 14:19:31 -07:00
stephencelis
a36e28e345
Run swift-format
2025-04-01 23:53:03 +00:00
Stephen Celis
3927f26ed2
Store: ObservableObject ( #3625 )
...
* Add ObservableObject conformance and related tools.
* wip
* clean up
* wip
* Address flakiness?
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2025-04-01 16:52:34 -07:00
Luke Redpath
a6371b6552
Enable binding workaround in release builds ( #3640 )
...
* fix: Enable binding workaround in release builds
* Address flaky test
* Make flakey tests easier to troubleshoot
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2025-04-01 16:25:07 -07:00
Stephen Celis
471211842b
Improve CI ( #3641 )
...
* Don't use xcbeautify
It doesn't output test failure info in Swift Testing.
* Force update
* wip
* wip
* try less quiet xcbeautify
* wip
* wip
* wip
* Update Examples/VoiceMemos/VoiceMemosTests/VoiceMemosTests.swift
* always skip release tests on Xcode <16
* wip
* wip
2025-04-01 14:34:11 -07:00
stephencelis
28f3c919a7
Run swift-format
2025-03-27 20:35:00 +00:00
Arnaud Dorgans
073610217a
RootCore crash ( #3638 )
...
* fix crash deinit outside MainActor
* Alternative: Mark AnyCancellable closures as sendable.
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2025-03-27 13:34:28 -07:00
Stephen Celis
d4d1df8102
Store internals: Refactor RootStore/ToState to "Core" protocol composition ( #3460 )
...
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* get rid of originating action
* wip
* wip
* Deprecate non-writable scopes
* Revert "Deprecate non-writable scopes"
This reverts commit 95570eb602 .
* wip
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2025-03-26 17:24:11 -07:00
Brandon Williams
001d0e9b9e
Cancel effects when root store deallocates ( #3613 )
...
* Cancel effects when root store deinits.
* Add test for uncached stores.
* wip
* wip
* wip
* wip
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2025-02-27 14:18:41 -08:00
Stephen Celis
cc52e99ecd
Add gotcha for @Shared testing ( #3607 )
2025-02-21 22:47:22 -08:00
stephencelis
8d727d6193
Run swift-format
2025-01-07 04:58:33 +00:00
Pyry Jahkola
a7da60e621
Fix unit tests for Xcode 16 and older iOS destinations ( #3537 )
...
* Limit test case availability when using TestClock
* Use withLock with shared state
* Fix unit tests on iOS 16 and earlier
* Fix DEBUG-mode perception check test to cover iOS 17+
* Run iOS & macOS unit tests on Xcode 16.0
2025-01-06 20:57:40 -08: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
Brandon Williams
333bc82e18
Add a test to document how 'task tree' cancellation happens. ( #3499 )
...
* Add a test to document how 'task tree' cancellation happens.
* fix
2024-11-19 11:04:35 -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
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
Ryan Carver
59fdf28496
Shared state shows test change in the wrong action ( #3455 )
...
* test case showing shared action received in the wrong action
* mark testSharingWithDelegateAction with XCTTODO
* Add the version of testSharingWithDelegateAction that works today
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-10-22 13:50:26 -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
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
Stephen Celis
61e3809a97
CI: Don't xcbeautify Swift Testing suites ( #3425 )
...
* wip
* benchmark update
* wip
* Add CI for benchmarks
* wip
* Update benchmark.yml
* Update benchmark.yml
* Delete Benchmarks/Benchmarks/swift-composable-architecture-benchmark/ Benchmarks.swift
* Update benchmark.yml
* Update benchmark.yml
* Update Benchmarks.swift
* wip
* Delete .github/workflows/benchmark.yml
* Update Benchmarks.swift
* Add slight delay for expected failure
Test expected failure is flakey, so hopefully will pass more
consistently now.
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2024-10-07 16:52:39 -07:00
stephencelis
e98d09b400
Run swift-format
2024-10-03 18:54:43 +00:00
Stephen Celis
4cd62511ab
Update benchmarks target ( #3424 )
...
* wip
* benchmark update
* wip
* Rename Benchmarks.swift to Benchmarks.swift
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2024-10-03 11:53:20 -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
mbrandonw
8013f1a72a
Run swift-format
2024-09-12 17:49:35 +00: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
mbrandonw
5e9943d8cc
Run swift-format
2024-09-10 18:13:25 +00:00
Brandon Williams
02292e70cf
Improve CI jobs ( #3357 )
...
* Improve CI jobs.
* wip
* wip
* exclude
* more exclude
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* try out caching
* fix yml
* fix makefile syntax
* cache key
* wip
* fix
* wip
* wip
* boop
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* boop
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* fix visionos tests
* wip
* wip
* wip
* wip
* wip
* wip
* boop
* wip
* boop
* Update ci.yml
* Update Makefile
* Update Makefile
* clean up
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2024-09-10 14:11:47 -04: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
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
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