Commit Graph

181 Commits

Author SHA1 Message Date
Dzianis Fileyeu
9a182dc547 Update StackBasedNavigation.md (#2467) 2023-09-18 09:48:16 -04:00
Nick Kohrn
7e980c0406 Fix Typo in Testing.md (#2383) 2023-08-18 12:59:32 -04:00
Brandon Williams
9f433c2aa3 Bring back throttle (#2368)
* Bring back throttle.

* wip

* docs

* wip

* remove print

* Update Throttle.swift

---------

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2023-08-14 12:43:51 -04:00
Ryu
70ebe23b7b Remove unnecessary state parameter of NavigationStackStore in StackBasedNavigation.md (#2367) 2023-08-11 09:57:54 -04:00
Yoshinori Imajo
0dd417acea Update StackBasedNavigation.md (#2357) 2023-08-07 09:23:27 -04:00
Ryu
b1501abec5 Fix document in Bindings.md (#2358) 2023-08-07 09:23:13 -04:00
Brandon Williams
402bccae2a Improve TestStore failures on init. (#2352)
* Improve TestStore failures on init.

* Convert fireAndForget to run
2023-08-04 12:27:45 -04:00
Stephen Celis
af27329232 Bump version in docs (#2336)
* Bump version in docs

* wip
2023-07-31 09:39:57 -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
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
Jesse Tipton
af16494b9e Fix ViewStore.init that should be ViewState.init in Bindings.md (#2261) 2023-07-05 14:04:44 -07:00
Jesse Tipton
1d3c42aa39 Fix WithViewStore argument label in Bindings.md (#2256) 2023-07-04 15:38:22 -07:00
Martin List
93031bb1cc Update code examples of Tree-based navigation documentation (#2252) 2023-07-01 07:59:37 -07:00
Yoshinori Imajo
32f9659d8f Fix codes in DocC (#2242)
* Update Performance.md

* Update Performance.md
2023-06-29 07:09:55 -07:00
Stephen Celis
43e28a57f3 Update docs for next release (#2238)
* Update docs for next release

* wip

* fix deprecations

---------

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2023-06-28 11:34:01 -07:00
Stephen Celis
daf41b3370 Add public Store.send and Store.withValue (#2222) 2023-06-28 09:32:32 -07:00
Thomas Tosoni
4f823d9341 Fix Typo in Navigation Documentation (#2190) 2023-06-11 10:00:43 -07:00
Dzianis Fileyeu
87acfff00b [fix] Typo in StackBasedNavigation.md (#2188) 2023-06-08 13:18:22 -07:00
Nick Kohrn
f16e7751dd Update StackBasedNavigation Documentation (#2169) 2023-06-02 10:50:35 -07:00
Brandon Williams
d52a88d17e Add testing gotcha about double linking. (#2161)
* Add testing gotcha about double linking.

* clean up
2023-05-31 18:01:18 -04:00
Jaesung
9f2f526408 Update StackBasedNavigation.md to use .run instead using .fireAndForget (#2160)
* Update StackBasedNavigation.md

* Apply suggestions from code review

---------

Co-authored-by: Stephen Celis <stephen.celis@gmail.com>
2023-05-31 13:51:56 -07:00
Sebastian Nicklas
29b5900836 Update StackBasedNavigation.md (#2154)
Fix some typos in StackBasedNavigation documentation
2023-05-31 09:04:26 -04:00
Tatsuzo Araki
a5eb99fe1b Fix typos (#2155) 2023-05-31 09:03:09 -04:00
Alexander Cyon
166f418696 fix wrong state in navigation doc (#2150) 2023-05-30 11:11:54 -07:00
Stephen Celis
c432a76b5b Navigation (#1945)
* wip

* fix

* wip

* wip

* move

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Fix

* wip

* wip

* Renamed action to onTap in NavigationLinkStore (#2043)

Renamed the `action` parameter to mirror other inits and differentiate itself from `action fromDestinationAction`

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Tie view identity to stack element identity

* Tie item identity to case

* wip

* wip

* cleanup

* fix

* fix

* Add warning to nav link

* wip

* wip

* Rename FullscreenCover.swift to FullScreenCover.swift (#2062)

* wip

* fix isDetailLink on non-iOS platforms

* Correct some comments in Effect.swift (#2081)

* add integration tests for showing alert/dialog from alert/dialog.

* copy StackElementIDGenerator dependency before running TestStore receive closure.

* Removed some unneeded delegate actions.

* wip

* clean up

* lots of clean up

* 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

* docs

* wip

* wip

* Catch some typos in Articles (#2088)

* 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

* fix

* 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

* 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

* move docs around

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Add case subscripts

* wip

* wip

* 5.7-only

* wip

* wip

* wip

* wip

* 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

* updated presentation scope test

* sytnax update

* clean up

* fix test

* wip

* wip

* wip

* wip

* wip

---------

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
Co-authored-by: Martin Václavík <mvaclavik96@icloud.com>
Co-authored-by: 유재호 <y73447jh@gmail.com>
Co-authored-by: Jackson Utsch <jutechs@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-05-30 12:22:00 -04:00
Jaesung
c6cad7e660 [FIX] Fixed type: struct action to enum action (#2144) 2023-05-30 07:56:42 -07:00
Brandon Williams
3688b3d485 Make Send sendable (#2112)
* Make Send wrap a sendable closure.

* Move Send under the effects docs.

* Fixed a bunch of doc references.

* wip

* wip

* fix

---------

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2023-05-16 16:01:21 -04:00
Ryu
42702308fe Fix Document in Testing.md (#2110) 2023-05-16 09:40:40 -04:00
Stephen Celis
5d4f96ddbe Soft-deprecate Effect.task and Effect.fireAndForget (#2099)
* Soft-deprecate `Effect.task` and `Effect.fireAndForget`

See https://github.com/pointfreeco/swift-composable-architecture/discussions/1520

* wip

* wip

* wip
2023-05-12 09:13:37 -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
Stephen Celis
da205c71ae Deprecate Store.scope(state:) for view store observe (#2097)
* Deprecate `Store.scope(state:)` for view store `observe`

Explicit scoping is most appropriate for transforming domains, which
almost always requires an action transform. In the rare case it doesn't,
we should prefer an explicit `{ $0 }`.

Scoping for the view has been deprecated for awhile for the `observe`
parameter when creating view stores, so let's lead folks that direction.

* wip

* wip
2023-05-11 08:17:54 -07:00
Brandon Williams
847d5edf3f Improve docs on how exhaustive vs non-exhaustive test stores work (#2096)
* Improved docs for non-exhaustive test stores.

* wip

* wip

* update test

* wip

---------

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2023-05-11 10:29:33 -04:00
Stephen Celis
b7c5a40ce2 Deprecate type-based cancel IDs (#2091)
* Deprecate type-based cancel IDs

Swift may aggressively compile types out of release mode, including
types defined for cancellation. Because of this, folks should migrate to
use value-based identifiers and avoid any potential bugs.

* wip

* wip
2023-05-10 13:20:16 -07:00
유재호
ce187a4d08 Update remaining 'bindable state' to 'binding state' (#2054) 2023-04-25 09:38:05 -07:00
Stephen Celis
685e8fcfc0 DocC fixes (#1942)
We have a number of outdated DocC references. This PR should hopefully
take care of them!
2023-02-27 08:29:19 -08:00
Stephen Celis
1a168e2397 Add note to reducer protocol dependency section (#1873)
* Add note to reducer protocol dependency section

The discussion #1870 noted that our migration guide could include more
of a breadcrumb that migrating to the Dependencies library isn't a
simple matter of changing every environment property to a `@Dependency`
property.

* wip

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2023-01-26 09:22:30 -08: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
52c4a01437 Rename BindableState to BindingState (#1855)
The -`able` naming evokes protocols in Swift, and is an outlier when
considered alongside the rest of TCA's binding tools:

- `BindingAction`: concrete type
- `BindableAction`: protocol
- `BindingReducer`: concrete type

So, let's make things consistent.

The one caveat is that Swift diagnostics for such a deprecation aren't
great, so users won't get proactive warnings here for the time being:

https://github.com/apple/swift/issues/63139

We may just want to keep the deprecation around till it does...
2023-01-20 14:56:53 -08:00
Brandon Williams
e47342740b Testing gotchas (#1854)
* Testing gotchas

* Update Testing.md

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2023-01-20 12:59:59 -08:00
Stephen Celis
c5a7d1be9a Add prepareDependencies to Store.init (#1844)
* Add `prepareDependencies` to `Store.init`:wq

* wip

* test and doc

* update TTT previews to use new trailing closure style"

* wip

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2023-01-17 20:08:52 -08:00
brenno
eb5494051a fixed typo at getting started (#1843)
Co-authored-by: brennomoura <brenno.moura@compasso.com.br>
2023-01-17 07:40:51 -08:00
Brandon Williams
3810aee31b Fix typo in docs. 2023-01-15 13:16:52 -08:00
Stephen Celis
9b5a510174 Depend on swift-dependencies (#1808)
Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2023-01-09 11:08:23 -05:00
Stephen Celis
30015d13a3 Revert #1790 (#1795)
It occurred to us that this solution unfortunately is incompatible with
view actions. We have an alternate solution that works, so I'll PR that
in the future if no others materialize!
2023-01-05 18:04:48 -05:00
Thomas Grapperon
c719fa1d39 Allow BindingReducer to work with ViewState (#1790)
* Simpler bindable view state

* wip

* wip

* Remove `BindingStore`

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Make BindingState conditionally sendable.

* Fixed tests

* Update bindings article

* Add some additional contextual information to the runtime warnings

* update some docs

* lots more docs

* test clean up

* Improve diagnostic

* Put back `BindingReducer()` in the form study

* clean up

* Improve DocC references

* Remove DocC references for `@`'d property wrappers.

* wip

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2023-01-05 13:18:34 -05:00
Daeyoung Kim
315d935fcd Fix code typo (#1773)
Signed-off-by: Daeyoung Kim <daykim22@gmail.com>

Signed-off-by: Daeyoung Kim <daykim22@gmail.com>
2022-12-27 09:46:26 -05:00
Kenta Aikawa
b555bfeac6 Fix minor document error (#1764) 2022-12-21 10:01:15 -05:00
Brandon Williams
52dca7e5ed Fix quick link to migration guide. 2022-11-14 10:56:58 -05:00
hmhv
3f30621ae8 Fix typo in GettingStarted.md and README.md (#1659)
* fix typo GettingStarted.md

* fix typo README
2022-11-12 07:42:14 -08:00
Brandon Williams
f444001520 Update performance article (#1642)
* Update performance doc to mention specifying view store type.

* wip
2022-11-09 13:30:17 -05:00