Brandon Williams
2c93195c23
Prerelease 1.0 ( #1929 )
...
* Converted voice memos back to identified array
* update deps
* update docs for DismissEffect
* wip
* Add Sendable conformance to PresentationState (#2086 )
* wip
* swift-format
* wip
* wip
* fix some warnings
* docs
* wip
* wip
* Catch some typos in Articles (#2088 )
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* docs
* wip
* wip
* docs
* wip
* wip
* wip
* wip
* docs
* 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
* wip
---------
Co-authored-by: Jackson Utsch <jutechs@gmail.com >
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
Co-authored-by: 유재호 <y73447jh@gmail.com >
Co-authored-by: Dmytro <barabashdmyto@gmail.com >
Co-authored-by: mbrandonw <mbrandonw@users.noreply.github.com >
2023-07-27 17:35:07 -07:00
Stephen Celis
767231d179
Add Store.init that takes reducer builder ( #2087 )
...
* Add `Store.init` that takes reducer builder
* wip
* wip
* added some tests
* wip
* wip
* wip
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2023-05-11 12:30:08 -07:00
Brandon Williams
da6e07c1ec
Cancellation cleanup ( #1977 )
...
* Clean up effect cancellation.
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* cancel id test
* nb
* benchmark
* wip
* wip
* wip
* wip
* wip
* clean up
* wip
2023-03-15 12:50:20 -07:00
Stephen Celis
e294b24edb
Add Effect.send ( #1859 )
...
* Add `Effect.send`
With the `Effect<Action, Failure>` -> `Effect<Action>` migration,
`Effect.init(value:)` and `Effect.init(error:)` no longer make sense. We
will be retiring the latter some time in the future, so let's also get a
head start and rename the former to `Effect.send`.
For now it will call `Effect.init(value:)` under the hood, but in the
future we will want a non-Combine-driven way of running synchronous
effects.
* format fix
* wip
* fix
* wip
* wip
2023-01-23 16:41:01 -08:00
Stephen Celis
f2f3a2558d
Remove and update a few deprecated, flakey tests ( #1816 )
...
* Remove and update a few deprecated, flakey tests
* wip
2023-01-10 17:43:43 -05:00
Stephen Celis
9413d9fbcd
Use opaque reducers in 5.7 to fix builder inference ( #1591 )
...
* Use opaque reducers in 5.7 to fix builder inference
* wip
* wip
* Revert "wip"
This reverts commit f51e5690f6 .
* wip
* Fix availability; simplify optionality
2022-10-28 10:54:36 -07:00
Brandon Williams
4ece153d6b
Add swift-clocks to TCA ( #1547 )
...
* Convert schedulers to clocks.
* wip
* wip
* wip
* wip
* Update 01-GettingStarted-Animations.swift (#1512 )
Typo
* bump
* wip
* wip
* fix
* doc fix
* wip
* update
* update
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* update clocks
* wip
* clocks
* wip
* wip
Co-authored-by: Ken Grigsby <kgrigsby@mac.com >
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2022-10-23 22:28:31 -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
Brandon Williams
b8294b89d5
ReducerProtocol ( #1283 )
...
* Add previewValue to DependencyKey, and fixed build errors on Xcode 13.
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Add Xcode 14 to CI (#1266 )
* Add Xcode 14 to CI
* Update ci.yml
* wip
* wip
* Update Makefile
* Update Makefile
* wip
* runtime warning when no live dependency available for live app
* bring back live
* wip
* soft deprecate Reducer
* fusion test
* ternary clean up
* wip
* add some todos
* typealias Reducer inside AnyReducer
* Add `now` convenience property to date dependency (#1286 )
* Remove type alias
* LiveDependencyKey: DependencyKey -> DependencyKey: TestDependencyKey (#1288 )
* LiveDependencyKey: DependencyKey -> DependencyKey: TestDependencyKey
* wip
* wip
* wip
* wip
* wip
* fix
* wip
* fix navigate case studies
* wip
* fixes and docs
* more migration
* wip
* wip
* thread deps through ifLet and forEach examples.
* update
* clean up
* wip
* wip
* Update MigratingToReducerProtocols.md
* wip
* wip
* docs
* docs
* fix some docs
* Fix for CombineReducers compiler bug
* wip
* wip
* wip
* wip
* todos for docs
* Don't warn for overridden test dependencies (#1324 )
* Don't warn while setting test dependencies
* wip
* fix conflict
* wip
* Docs and deprecations
* add binding info
* wip
* Add URL session
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Don't run debug reducer in tests
* wip
* updated reducer debugging
* Update UUID.swift (#1374 )
* wip
* optional
* added Self as default associatedtype value for TestDependencyKey.value (#1395 )
* added Self as default associatedtype value for TestDependencyKey.value
* Update Tests/ComposableArchitectureTests/DependencyKeyTests.swift
Co-authored-by: Brandon Williams <135203+mbrandonw@users.noreply.github.com >
* Update example to set badge to the unread count (#1391 )
* Add store.finish().
* Fix warnings introduced in Xcode 14.1 (#1388 )
* Fix warnings introduced in Xcode 14.1
* wip
* Conform dependency values to DependencyKey where convenient
* fix
* Fail if testValue is invoked without providing implementation (#1399 )
* Update example to set badge to the unread count (#1391 )
* Add store.finish().
* Fix the CaseStudies (UIKit) (#1392 )
* Fix warnings introduced in Xcode 14.1 (#1388 )
* Fix warnings introduced in Xcode 14.1
* wip
* Fail when accessing testValue when one hasn't been provided.
* wip
* wip
* wip
* test
Co-authored-by: Mark Adams <hyperspacemark@users.noreply.github.com >
Co-authored-by: Maciek Czarnik <Czajnikowski@users.noreply.github.com >
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
* Add DateGenerator.init(_ generate:)
* Start running some tests in release config. (#1405 )
* Start running some tests in release config.
* wip
* wip
* wip
* wip
* wip
* Update Sources/ComposableArchitecture/Store.swift
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* wip
* wip
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
* added test that dependencies are transferred to effects
* wip
* self
* clean up
* simplify
* fix
* doc fixes
* wip
* fix
* wip
* wip
* wip
* fix
* Run dependencies tests on CI. (#1408 )
* Run dependencies tests on CI.
* wip
* update makefile
* wtf
* more docs
* more docs
* wip
* docs
* wip
* docs
* wip
* message tweaks
* wip
* docs and clean up
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* typo fix
* docs clean up
* doc fixes
* cancel in progress
* cancel in progress
* no need to make recope release-only, and make more use of XCTAssert to get better release tests
* fix test
* Remove ActorIsolated from tests where it's not needed
* fix test
* wip
* wip
* Add a benchmark for dependency key writing.
* fix test
* make benchmark 5.7 compatible
* iflet docs
* more docs
* dependency docs
* rearrange
* @Dependency docs
* docs
* fix benchmark in 5.6
* doc fix
* wip
* wip
* wip
* wip
* more docs
* clean up
* fix
* wip
* Fixes compilation on watchOS (#1423 )
Co-authored-by: Gunnar Herzog <gunnar.herzog@kf-interactive.com >
* move deprecation
* format
* wip
* Fix openURL
* wip
* wip
* wip
* wip
* fix
* Keep simple
* Reducer.debug -> Reducer._printChanges
We want to revisit some of these debugging APIs in the future, so let's
keep them around, but underscore them to allow for more flexible
evolution.
* `ReducerProtocol.debug` -> `ReducerProtocol._printChanges` (#1426 )
* Reducer.debug -> Reducer._printChanges
We want to revisit some of these debugging APIs in the future, so let's
keep them around, but underscore them to allow for more flexible
evolution.
* Update DebugTests.swift
* OpenURL fix for macCatalyst (#1429 )
* OpenURL fix for macCatalyst
Fixes #1428 .
* Update Makefile
* Correct typo in "Designing dependencies" chapter (#1430 )
protocol AudioPlayerClient should be a struct
* fix
* fix
* protocol docc
* docs
* Typos (#1439 )
* remove unneeded internals
* wip
* Fix missing parameter in code sample (#1450 )
* typo fix
* more docs for DependencyKeyWritingReducer
* wip
* wip
* update readme
* wip
* update image
* main actor
* Added withValue, added docs and tests
* public properties
* cleaned up overload
* changed reducer->feature in a bunch of spots of dependencies docs
* add articles to readme
* 6
* fix tests for swift 5.6
* tweak
* tweak
* Update ReducerProtocol.swift
* wip
* wip
* docs update
* docs for conforming dependency directly to DependencyKey
* typo fix
* performance article update
* fixes
* deprecate another effect timer API
* link to migration doc in deprecation messages
* make some tests that deal with line numbers less fragile
* package.swift clean up
* tweak to echos
* remove docs at root, not in docs-out
* remove todo
* update WithViewStore.init deprecation message to explain and link to performance doc
* Add back ReducerProtocolOf for 5.7.1 (#1444 )
* Add back ReducerProtocolOf for 5.7.1
* wip
* Move scheme tests to matrix
* streamline
* try this
* store.finish
* wip
* dependencies -> transformDependency
* wip
* wip
* Compat
* fix
* preserve deps for combine publishers
* Remove dump calls (#1460 )
* Fix compiler errors for library evolution. (#1443 )
* Fix compiler errors for library evolution.
* wip
* wip
* work around ambiguous init
* Revert "work around ambiguous init"
This reverts commit 002a199d59 .
* fix ambiguity errors
* remove _Observe for now
* wip
* wip
* wip
* longer timeout
* more waiting
* wip
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
Co-authored-by: Ken Grigsby <kgrigsby@mac.com >
Co-authored-by: Petr Sima <ptea.sima@gmail.com >
Co-authored-by: Mark Adams <hyperspacemark@users.noreply.github.com >
Co-authored-by: Maciek Czarnik <Czajnikowski@users.noreply.github.com >
Co-authored-by: Thomas Grapperon <35562418+tgrapperon@users.noreply.github.com >
Co-authored-by: Gunnar Herzog <github@trispo.de >
Co-authored-by: Gunnar Herzog <gunnar.herzog@kf-interactive.com >
Co-authored-by: Guttorm Aase <guttormaase@gmail.com >
Co-authored-by: Julien Sagot <contact@juliensagot.fr >
Co-authored-by: Jaanus Siim <jaanussiim+github@gmail.com >
2022-10-10 11:37:50 -04:00
Brandon Williams
7940588a9e
Simplify re-entrant tests ( #1370 )
...
* wip
* wip
* wip
2022-09-10 18:04:15 +02:00
Stephan Diederich
0855c99525
allow processing of sync actions resulting from state update ( #1360 )
...
* allow processing of sync actions resulting from state update
Sending an action into the system synchronously from a ViewStore's publisher
can result in state updates publishing the wrong, old, value.
This PR fixes it by keeping the `Store` in `sending` state while
we publish state updates. Once that's done, we check if there
were any new actions coming in, in which case we feed them back and
start processing again.
* Clean up and clarify behavior
Co-authored-by: Stephen Celis <stephen@stephencelis.com >
2022-09-09 12:56:13 -04:00
stephencelis
5f37642158
Run swift-format
2022-09-08 15:58:50 +00:00
Stephen Celis
5b78fbcb05
Allow re-entrant actions to be processed ( #1352 )
...
* wip
* wip
* clean up
* wip
* wip
* wip
* wip
* fix
Co-authored-by: Brandon Williams <mbrandonw@hey.com >
2022-09-08 11:47:28 -04:00