mirror of
https://github.com/pointfreeco/swift-composable-architecture.git
synced 2025-12-20 09:11:33 +01:00
4f06955ffa58e5c711e86f1aacf3417a641dfd23
7 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4f06955ffa | Fix some Docc references. (#3200) | ||
|
|
c373d8eae3 |
Observable Architecture (#2593)
* bring back view store performance
* wip
* Allow chaining of store bindings
* wip
* Localize ignoring bindings to text field resignation/dismissal
* wip
* fix DiagnosticsError message (#2597)
* store collection
* wip
* wip
* update migration guide
* Add `@Presents` macro for observable presentation
While it would be nice for the `@PresentationState` property wrapper to
"just work" with TCA's upcoming observable tools, sadly that does not
seem to be the case. Adding observation directly to
`@PresentationState`, as we have done with the beta so far, can break
existing projects due to the additional observation. This primarily
manifests itself in projects that present navigation stacks, where the
`@PresentationState` observation can cause the navigation hierarchy to
recompute and trigger SwiftUI bugs.
The best we've come up with so far is introducing a brand new macro that
automatically wraps a property with `@PresentationState` _and_
instruments it with observation.
We're open to other ideas, and we do have future plans to eliminate the
need for a property wrapper or macro at all, but till then this offers a
non-breaking upgrade path!
* fixes
* Observe child store changes
* wip
* wip
* wip
* Fix typo in MigratingTo1.6.md (#2608)
* Rename bindingViewStore argument to store in MigratingTo1.6.md (#2611)
* wip
* Revert "wip"
This reverts commit
|
||
|
|
1d52033c38 |
Optimization: Key path subscript presentation scopes (#2680)
* Optimization: Key path subscript presentation scopes * fix * Fix some tests. * another fix --------- Co-authored-by: Brandon Williams <mbrandonw@hey.com> |
||
|
|
087b6b5730 |
Overhaul store scope communication (#2664)
* store 2 * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * check sharesStorage in == * wip * wip * fix crashes * wip * wip * wip * wip * clean up * wip * wip * wip * wip * rename * wip * wip * fix * stack * wip * wip * wip * wip * wip * wip * remove duplicates based on presentation storage * wip * wip * wip * wip * update log snapshots * bring back expected failure * wip * remove removeDuplicates * test for fast path of PresentationState * wip * Updated logs * wip * wip * wip * wip * Skip flakey CI test * bump timeout --------- Co-authored-by: Brandon Williams <mbrandonw@hey.com> |
||
|
|
af5ae21f65 |
Cache store scoping when possible (#2527)
* wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Silence test warnings * wip * wip * wip * wip * wip * wip * wip * Revert "wip" This reverts commit |
||
|
|
57e804f1cc |
Macro bonanza (#2553)
* wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Silence test warnings * wip * wip * wip * update a bunch of docs * wip * wip * fix * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Kill integration tests for now * wip * wip * wip * wip * updating docs for @Reducer macro * replaced more Reducer protocols with @Reducer * Fixed some broken docc references * wip * Some @Reducer docs * more docs * convert some old styles to new style * wip * wip * wip * wip * wip * wip * wip * bump * update tutorials to use body * update tutorials to use DML on destination state enum * Add diagnostic * wip * updated a few more tests * wip * wip * Add another gotcha * wip * wip * wip * fixes * wip * wip * wip * wip * wip * fix * wip * remove for now * wip * wip * updated some docs * migration guides * more migration guide * fix ci * fix * soft deprecate all apis using AnyCasePath * wip * Fix * fix tests * swift-format 509 compatibility * wip * wip * Update Sources/ComposableArchitecture/Macros.swift Co-authored-by: Mateusz Bąk <bakmatthew@icloud.com> * wip * wip * update optional state case study * remove initializer * Don't use @State for BasicsView integration demo * fix tests * remove reduce diagnostics for now * diagnose error not warning * Update Sources/ComposableArchitecture/Macros.swift Co-authored-by: Jesse Tipton <jesse@jessetipton.com> * wip * move integration tests to cron * Revert "move integration tests to cron" This reverts commit |
||
|
|
93fa026cbc |
Re-introduce legacy alert and action sheet APIs (#2379)
* Re-introduce legacy alert and action sheet APIs With 1.0 we removed `View.alert(_ store:dismiss:)`, which was a problematic API. It used different SwiftUI alert APIs depending on OS version, which led to different runtime behavior for apps using it depending on the OS and an unfixable bug: https://github.com/pointfreeco/swift-composable-architecture/issues/1981 This was reason enough to remove the API, but it was also an API that predated the Composable Architecture's navigation tools. This meant it awkwardly took an explicit `dismiss:` action, and it was up to the developer to remember to use this action to manually clear out state. The Composable Architecture's navigation tools handle dismissal automatically once integrated, but also only support iOS 15 alerts at the moment. This PR addresses the above: it introduces view modifiers for the old iOS 13 style of alert (and `actionSheet`) providing some presentation domain, and it will automatically dismiss these modals accordingly: - It adds `View.legacyAlert(store:)`. While we don't love `legacyAlert`, we haven't come up with a better option. We need a statically unique view modifier, and `alert(store:)` is already in use for iOS 15. We're open to suggestions here, though! - It adds `View.actionSheet(store:)`. * wip |