Commit Graph

98 Commits

Author SHA1 Message Date
Stephen Celis
799aa18f86 Cleanup: Global/Local -> Parent/Child (#1269)
* Make openSettings async.

* global/local -> parent/child

* error cleanup

* Clean up action scoping

* cleanup

* wip

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2022-08-16 12:25:31 -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
418e321acf Clean up deprecation formatting (#1207)
* Clean up deprecation formatting

Didn't realize multiline worked here, but should make it easier to read
without word wrap

* Update Sources/ComposableArchitecture/Internal/Deprecations.swift

* Update Sources/ComposableArchitecture/Internal/Deprecations.swift
2022-07-12 14:26:03 -04:00
mbrandonw
f81842157c Run swift-format 2022-07-12 16:54:06 +00:00
Brandon Williams
0fb73c2bf3 Deprecate unchecked store (#1206)
* Deprecate unchecked stores.

* warning tests

* rearrange

* Update Deprecations.swift

* wip

* test for binding warning

Co-authored-by: Stephen Celis <stephen@stephencelis.com>
2022-07-12 12:39:32 -04:00
Stephen Celis
de2b645b66 Failing -> Unimplemented (#1168) 2022-06-28 16:28:03 -04:00
mbrandonw
647371b638 Run swift-format 2022-06-28 20:14:09 +00:00
Brandon Williams
90d91ffedc Clean up compiler checks. (#1167) 2022-06-28 16:05:50 -04:00
Stephen Celis
cfcf8b43ad Rename ViewStore.suspend(while:) to yield(while:) (#1151)
The naming of `ViewStore.suspend(while:)` was inspired by
`Task.suspend()`, which was deprecated and renamed to `Task.yield()`
long ago. Let's do the same here and call it `ViewStore.yield(while:)`.
2022-06-20 09:36:47 -04:00
Stephen Celis
9c47990ee5 Fix deprecated "TestStore.assert" APIs (#1153)
The new exhaustive check around state changes was not backported, so
some tests could start to fail when upgrading TCA.
2022-06-19 12:43:43 -04:00
Stephen Celis
b8dddaf0bf Clean up generic signatures (#1143) 2022-06-14 09:39:05 -04:00
Stephen Celis
c8a2e9490a Test Store documentation updates (#1129) 2022-06-03 17:02:38 -04:00
Stephen Celis
c232a9f353 Swift 5.7 fixes (#1089)
* Fix Swift 5.7 warnings

* Fix Swift 5.7 threading issue
2022-05-12 13:07:37 -04:00
mbrandonw
96f47fbe85 Run swift-format 2022-04-08 16:57:56 +00:00
Brandon Williams
c8482eb61b Move DEBUG check to runtimeWarning function. (#1056)
* Move DEBUG check to runtimeWarning function.

* wip
2022-04-08 09:48:35 -07:00
stephencelis
ea07f63f3d Run swift-format 2022-03-29 21:17:14 +00:00
Pat Brown
5da277f16f Effect.cancel(ids:) prefer array of ids and deprecate variadic overload (#1041)
* Use array of ids and deprecate variadic overload

* Update Sources/ComposableArchitecture/Internal/Deprecations.swift

Co-authored-by: Stephen Celis <stephen.celis@gmail.com>
2022-03-29 17:09:22 -04:00
Stephen Celis
2828dc44f6 Runtime Warning Finesse (#1023) 2022-03-15 16:21:13 -04:00
Stephen Celis
313dd217dc Improving developer experience with runtime warnings (#943)
* Perform thread check only when store is created on main thread.

* clean up

* Update Sources/ComposableArchitecture/Store.swift

* clean up

* Update Sources/ComposableArchitecture/Store.swift

* clean up

* execute setSpecific only once.

* logic fix

* added a test

* typo

* wip

* wip

* wip

* clean up

* language

* wip

* note

* wip

* wip

* wip

* wip

* wip

* fix closing quote

* wip

* fix merge

* Deprecations

* Fix docs

* wip

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2022-01-03 10:55:13 -06:00
Stephen Celis
25f943cf3c Deprecate TestStore.assert (#912) 2021-12-07 21:10:02 -05:00
stephencelis
f92c2aec78 Run swift-format 2021-09-20 15:03:19 +00:00
Stephen Celis
0cd0c3ecce Update AlertState to use new APIs (#794)
* Update AlertState to use new APIs

* fix

* Feedback

* wip

* Fix

* wip

* wip

* wip

* wip
2021-09-20 10:42:17 -04:00
Stephen Celis
8260a1ab8d Fix bindable deprecations (#815)
* Fix Bindable Deprecations

* More CI

* wip

* wip

* wip

* wip
2021-09-20 10:03:43 -04:00
stephencelis
e80da5cb0f Run swift-format 2021-09-17 17:35:06 +00:00
Stephen Celis
4bdcaafcd0 Deprecate Store.publisherScope (#758)
* Deprecate Store.publisherScope

* wip

* fix

* wip
2021-09-17 13:12:52 -04:00
Stephen Celis
c0c95c5bab Deprecate dynamic member lookup on view stores in favor of ViewStore.binding (#810)
* wip

* wip
2021-09-17 12:33:38 -04:00
Stephen Celis
a554b00ff4 Remove old deprecations (#795)
* Remove old deprecations

* wip
2021-09-14 22:30:38 -04:00
Stephen Celis
7ede19f9b5 Improve deprecation warnings for old binding helpers (#774)
* Improve deprecation warnings for old binding helpers

* wip

* wip

* wip

* esc

* wip
2021-09-07 11:38:57 -04:00
stephencelis
60dc806718 Run swift-format 2021-09-06 15:19:19 +00:00
Stephen Celis
af88fe4c79 Safer, Conciser Bindings (#765)
* Better binding tools.

* make everything public

* deprecate

* update

* clean up

* wip

* dml

* wip

* wip

* Fix a redundant conformance constraint warning in ForEachStore (#738)

The warning was:

    Sources/ComposableArchitecture/SwiftUI/ForEachStore.swift:141:28: warning: redundant conformance constraint 'EachContent' : 'View'
      public init<EachContent: View>(
                               ^
    Sources/ComposableArchitecture/SwiftUI/ForEachStore.swift:146:16: note: conformance constraint 'EachContent' : 'View' implied here
        EachContent: View,
                   ^

I fixed the warning by removing the redundant constraint from the type
parameter.

* wip

* wip

* wip

* wip

* wip

* wip

* wip

Co-authored-by: Brandon Williams <mbrandonw@hey.com>
Co-authored-by: Adam Roben <aroben@apple.com>
2021-09-06 11:10:47 -04:00
Stephen Celis
b73f74f68d Make file/line parameters explicit (#729) 2021-08-20 09:00:16 -04:00
Stephen Celis
2d1e21b5aa Convert #file to #fileID for debug purposes (#708) 2021-08-11 11:54:36 -04:00
Stephen Celis
5209f47b03 Update AlertState.Button APIs for animation (#681)
* Update AlertState.Button APIs for animation

* fix

* wip

* deprecate
2021-07-28 12:10:15 -04:00
Stephen Celis
50a16e072e Deprecate array-based forEach/ForEachStore (#641)
* Deprecate array-based forEach/ForEachStore

* Update tests
2021-07-08 10:49:13 -04:00
mbrandonw
fd770f93a6 Run swift-format 2021-07-08 13:56:53 +00:00
Brandon Williams
96a4654767 Bring back deprecated IfLetStore initializer. (#638) 2021-07-08 09:47:38 -04:00
Brandon Williams
5f6d8a2538 Don't use CasePath in .binding (#632)
* Don't use CasePath in .binding

* wip

* wip

* wip
2021-07-07 18:05:43 -04:00
Brandon Williams
e32172b268 Remove some old deprecated code. (#629) 2021-07-05 13:21:13 -04:00
Brandon Williams
6146345c18 Add a few more store tests. (#516)
* Add a few more store tests.

* wip

* wip

* tweaks

* wip
2021-04-28 17:06:55 -05:00
Stephen Celis
c53a961920 Add @ViewBuilder to ForEachStore and IfLetStore (#501)
* Add @ViewBuilder to ForEachStore and IfLetStore

* Update IfLetStore else branch to take view builder
2021-04-20 11:10:30 -04:00
Stephen Celis
5bdf0bc904 FormAction → BindingAction (#372)
* Rename FormAction to BindingAction

* Deprecations

* Fix test

* Update 01-GettingStarted-Bindings-Forms.swift
2021-02-01 16:41:36 -05:00
Stephen Celis
4449bc2e24 Add TextState (for AlertState, ActionSheetState, etc.) (#359)
* Use SwiftUI.Text with {Alert,ActionSheet}State

Fix #293, #318.

* Use public interface

* Availability

* TextState

* Note

* Simplify

* Update LocalizedStringTests.swift

* Fix warnings

* Fix docs
2021-01-21 17:50:34 -05:00
Stephen Celis
5ddbcdd21a Rename publisher-transforming scope (#314)
* Rename publisher-transforming scope

* feedback
2020-10-29 17:29:52 -04:00
Stephen Celis
3deb9a01bf Make deprecated interfaces unavailable (#219) 2020-07-09 09:24:28 -04:00
Alejandro Martínez
f40942fa08 Added file and line to optional assert (#218)
* Added file and line to optional assert

* Apply suggestions from code review

Co-authored-by: Stephen Celis <stephen.celis@gmail.com>

* Deprecate old optional property and migrated TicTacToe example

* Migrated other examples to optional() and added file/line to forEach

* Update Deprecations.swift

Co-authored-by: Stephen Celis <stephen.celis@gmail.com>
2020-07-08 17:18:48 -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
Stephen Celis
e8e272a7c0 Make Reducer.debug API more like Publisher.print (#111)
* Make Reducer.debug API more like Publisher.print

* Deprecations
2020-05-18 11:18:11 -04:00
Stephen Celis
0807f9a8f8 Rename certain Effect APIs (#92)
* Rename certain Effect APIs

* Move deprecations

* Fix
2020-05-13 14:12:56 -04:00