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
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
cad094a6b2
Sendable miscellany: effects, publishers, etc. ( #3317 )
...
* `@preconcurrency @MainActor` isolation of `Store`
* Remove unneeded `@MainActor`s
* Remove thread checking code
* Remove unneeded `@MainActor`s
* Swift 5.10 compatibility fixes
* wip
* More 5.10 fixes
* wip
* fixes
* wip
* wip
* up the timeout
* wip
* Fixes
* wip
* wip
* wip
* wip
* wip
* Fix binding action sendability
* Address more binding action sendability
* more bindable action sendability
* more bindable action warnings
* fix
* Make `Effect.map` sendable
* Make `Effect.actions` sendable
Also moves it to the test target, since it's only really used there.
* Make `AnyPublisher.create` sendable
* Make `_SynthesizedConformance` sendable
* Avoid non-sendable captures of `self` in reducers
We can capture the sendable case path instead.
* Make `ViewStore.yield` sendable
* Address internal sendability warning
* fix
* Another small warning
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2024-08-29 13:47:32 -07:00
Stephen Celis
195284b94b
The Composable Architecture 1.0 ( #2318 )
...
* docs
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Fix invalid states count for 3 optionals and typos (#2094 )
* wip
* wip
* more dismisseffect docs
* fixed some references
* navigation doc corrections
* more nav docs
* fix cancellation tests in release mode
* wrap some tests in #if DEBUG since they are testing expected failures
* update UUIDs in tests to use shorter initializer
* fixed a todo
* wip
* fix merge errors
* wip
* fix
* wip
* wip
* fixing a bunch of todos
* get rid of rawvalue in StackElementID
* more todos
* NavLinkStore docs
* fix swift 5.6 stuff
* fix some standups tests
* fix
* clean up
* docs fix
* fixes
* wip
* 5.6 fix
* wip
* wip
* dont parallelize tests
* updated demo readmes
* wip
* Use ObservedObject instead of StateObject for alert/dialog modifiers.
* integration tests for bad dismissal behavior
* check for runtime warnings in every integration test
* wip
* wip
* wip
* fix
* wip
* wip
* wip
* wip
* wip
* wip
* Drop a bunch of Hashables.
* some nav bug fixes
* wip
* wip
* wip
* fix
* fix
* wip
* wip
* Simplify recording test.
* add concurrent async test
* fix
* wip
* Refact how detail dismisses itself.
* fix
* 5.6 fix
* wip
* wip
* wip
* wip
* Add TestStore.assert.
* Revert "Add TestStore.assert."
This reverts commit a892cccc66 .
* add Ukrainian Readme.md (#2121 )
* Add TestStore.assert. (#2123 )
* Add TestStore.assert.
* wip
* Update Sources/ComposableArchitecture/TestStore.swift
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* Update Sources/ComposableArchitecture/Documentation.docc/Extensions/TestStore.md
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* fix tests
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* Run swift-format
* push for store.finish and presentation
* wip
* move docs around
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Add case subscripts
* wip
* wip
* wip
* 5.7-only
* wip
* wip
* wip
* wip
* fix
* revert store.finish task cancellation
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* add test for presentation scope
* wip
* wip
* wip
* wip
* wip
* cleanup
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Rename ReducerProtocol.swift to Reducer.swift (#2206 )
* Hard-deprecate old SwitchStore initializers/overloads
* wip
* wip
* Resolve CaseStudies crash (#2258 )
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Bump timeout for CI
* wip
* Remove old deprecations
* Simplify test store
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* images for tutorials
* wip
* wip
* Remove deprecated alert APIs
* Bump dependencies
* wip
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
Co-authored-by: 유재호 <y73447jh@gmail.com >
Co-authored-by: Dmytro <barabashdmyto@gmail.com >
Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com >
Co-authored-by: mbrandonw <mbrandonw@users.noreply.github.com >
2023-07-30 14:58:40 -07:00
Thomas Grapperon
41f1cb9f3f
Add a EffectTask<Action> typealias for Effect<Action, Never> and rename Effect to EffectPublisher ( #1471 )
...
* Add an `EffectOf<Action>` typealias for `Effect<Action, Never>`
* Fix doc
* Rename `EffectOf` to `EffectTask`
* Rename `Effect` to `EffectPublisher`
* Soft-deprecate `Effect`
* Link to `EffectTask`
* Use `EffectPublisher` in Combine contexts
* Reword soft-deprecation message
* Remove `renamed:` fix-it for `Effect` deprecation
* Update Sources/ComposableArchitecture/Documentation.docc/Extensions/ReducerProtocol.md
Co-authored-by: Stephen Celis <stephen.celis@gmail.com >
* Update Sources/ComposableArchitecture/Documentation.docc/ComposableArchitecture.md
* Update Sources/ComposableArchitecture/Effect.swift
* Fix DocC identifiers
Co-authored-by: Stephen Celis <stephen.celis@gmail.com >
2022-10-17 15:16:46 -07:00
Stephen Celis
26f9ed286d
Rename Effect<Output, _> to Effect<Action, _> ( #1362 )
...
* Rename Effect<Output, _> -> Effect<Action, _>
We'll keep the typealias for the `Publisher` conformance, but given the
changes made to TCA for concurrency, `Effect` should typically only be
used these days in reducers to feed actions back into the store, and not
more generally as publishers of any output.
* wip
2022-09-10 10:46:00 -04:00
Brandon Williams
108e3a536f
Concurrency Beta ( #1189 )
...
* more main actor audit
* wip
* wip
* fix
* better task result ==
* task result tests
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* fix merge conflicts
* wip
* wip
* lots of doc fixes and modernizations
* lots more docs and better hashable conformance for TaskResult
* more docs
* clean up
* more tests and docs
* clean up
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* small clean up
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* explicit
* wip
* fix bug in TestStore.receive
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* fixes
* wip
* tools for non-deterministic TestStore.receive
* fix
* wip
* wip
* remove inAnyOrder stuff
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* convert download case study to use async/await
* animations
* fix tests
* remove executor experiment
* wip
* wip
* wip
* wip
* wip
* speech simplification
* wip
* wip
* wip
* wip
* wip
* wip
* add a few todos
* wrote some tests
* simplify speech recognizer
* fix tests
* update some docs about error throwing behavior
* wip
* wip
* fix
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Swift 5.5.2 fixes
* wip
* Bump timeout
* wip
* wip
* Finesse
* proper way to detect main queue
* extra guard
* revert main queue check
* move stuff around
* docs
* fixed a bunch of warnings
* Fix references
* clean up
* clean up
* fix a bunch of warnings
* clean up
* un-soft deprecate concatenate
* async teststore.send
* fix uikit tests
* drop sendable
* wip
* wip
* wip
* wip
* wip
* clean up
* clean up
* reorganize, remove extra task cancellation handler
* wip
* wip
* wip
* wip
* wip
* wip
* Make TestStore.send async (#1190 )
* async teststore.send
* fix uikit tests
* Converted all tests to async
* clean up
* added docs
* Update Sources/ComposableArchitecture/TestStore.swift
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* Update Sources/ComposableArchitecture/TestStore.swift
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* docs and readme update
* Update README.md
* Update Tests/ComposableArchitectureTests/StoreTests.swift
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* fix
* Update Sources/ComposableArchitecture/TestStore.swift
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* Update Sources/ComposableArchitecture/TestStore.swift
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* Update Sources/ComposableArchitecture/TestStore.swift
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* clean up
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* wip
* wip
* wip
* make fetchNumber throwing and fix tests
* effect basics clean up
* use local state for isLoading in refreshable case study
* clean up
* fix test
* wip
* wip
* wip
* wip
* wip
* wip
* fixes
* clean up
* clean up
* Simplify
* wip
* clean up
* wip
* AsyncStream.finished()
* give Send a public initializer
* make send public
* temporarily make box public
* remove concurrency flag
* wip
* wip
* wip
* wip
* wip
* docs
* speech
* simplify
* clean up;
* unchecked sendable
* clean up
* clean up
* wip
* docs
* docs
* more docs
* lots of docs
* wip
* wip
* wip
* more docs for streamWithContinuation
* wip
* wip
* wip
* Make internal, too
* wip
* Remove sendability detection
It breaks things, like:
let request = UncheckedSendable(
SKProductsRequest(productIdentifiers: []
)
// UncheckedSendable<NSObject> // *not* _<SKProductsRequest>
* wip
* doc clean up;
* fixed some todos
* docs
* wip
* remove thread safety FAQ from readme
* fix test
* wip
* docs clean up
* docs clean up
* added a testing article and fixed some docs
* rearrange
* docs clean up
* wip
* Update Sources/ComposableArchitecture/Documentation.docc/Articles/Testing.md
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Effects/ConcurrencySupport.swift
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Effects/ConcurrencySupport.swift
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Effects/ConcurrencySupport.swift
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Effects/ConcurrencySupport.swift
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Documentation.docc/Articles/Testing.md
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Documentation.docc/Articles/Testing.md
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Documentation.docc/Articles/Testing.md
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Documentation.docc/Articles/Testing.md
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Documentation.docc/Articles/Testing.md
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Documentation.docc/Articles/Testing.md
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* Update Sources/ComposableArchitecture/Documentation.docc/Articles/Testing.md
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* wip
* wip
* wip
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
2022-08-08 01:04:16 -04:00
Stephen Celis
b8dddaf0bf
Clean up generic signatures ( #1143 )
2022-06-14 09:39:05 -04:00
iampatbrown
4b8db86edb
Alternative to CurrentValueSubject in ViewStore ( #755 )
...
* Replaced CurrentValueSubject with CurrentValueRelay
* Added final to DemandBuffer
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2021-09-17 16:33:13 -04:00
Kaan Dedeoglu
a20b0b1d6a
Encapsulate Publishers.Create and AnyPublisher(_ callback:) ( #146 )
2020-05-28 14:16:47 -04:00
Brandon Williams
1005bbd393
Signpost instrumentation of reducers ( #142 )
...
* Signpost higher-order reducer.
* cleanup
* guard
* clean up
* wip
* more
* wip
* wip
* wip
* clean up
* clean up
* wip
* run
* wip
* wip
* clean up
* Update Makefile
* No failures
* cleanup
* Update Makefile
* already guarded
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2020-05-27 10:22:10 -07:00
Brandon Williams
d2240d0e76
The Composable Architecture
...
Co-authored-by: Stephen Celis <stephen.celis@gmail.com >
2020-05-03 22:26:28 -07:00