mirror of
https://github.com/pointfreeco/swift-composable-architecture.git
synced 2025-12-20 09:11:33 +01:00
fix-identified-array-observation
14 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f75f9380b1 |
@Reducer macro enhancements (#2795)
* updated binding docs
* adding docs
* clean up
* wip
* wip
* wip
* clean up
* clean up
* clean up
* wip;
* lots of fixes
* update more docs
* fix
* wip
* wip
* Remove ObservationRegistrarWrapper. (#2634)
* Remove ObservationRegistrarWrapper.
* Delete Sources/ComposableArchitecture/Internal/ObservationRegistrarWrapper.swift
---------
Co-authored-by: Stephen Celis <stephen@stephencelis.com>
* more docs
* update docs
* a few more tests
* fix
* wip
* wip
* wip
* Cache data in store collections (#2635)
* fix tutorial highlighting
* wip
* wip
* wip
* wip
* tests for observation of special domain types
* another test
* fix
* wip
* Implement memoization for perception checks (#2630)
* Implement memoization for isInSwiftUIBody
* tidy up
* Perception caching updates (#2649)
* Small updates to perception caching.
* wip
* debug
* some more macro tests
* syncups tutorial beginnings
* wip
* wip
* wip
* wip
* wip
* merge fixes
* wip
* update tests
* fix
* fix
* fix perception checking in store
* rename task local
* delete old test
* deprecate test using old apis
* fix test
* perception tests for store
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Opt out of key path for Store.ifLet
* sync ups
* lots more sync up tutorial
* more sync ups tutorial
* wip
* wip
* wio
* wip
* wip
* wip
* updated references of 1.6 to 1.7
* wip
* no need to force unwrap here
* fixed crash in ForEach with bindings
* more sync ups tutorial
* more sync ups tutorial
* wip
* more sync ups
* wip
* wip
* Better support for observing copies of values (#2650)
* Explore using _modify
* wip
* wip
* wip
* wip
* wip
* wip
* more tests
* wip
* get another failing test for an edge case
* wip
* tests all passing
* flag for determining when new state was created
* wip
* clean up
* wip
* wip
* wip;
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* New test that currently fails.
* wip
* wip
* Update Sources/ComposableArchitectureMacros/PresentsMacro.swift
* wip
* remove redundant attached member attribute
* storage
* cleanup
* more benchmarks and tests
* wip
* wip
* wip
* wip
* update tests
* wip
* wip
---------
Co-authored-by: Brandon Williams <mbrandonw@hey.com>
* wip
* wip
* wip
* swift-format
* fix
* wip
* wip
* wip
* wip
* Perception
* wip
* wip
* clean up shared state
* fix shared state tests
* wip
* add alert test
* wip
* wip
* wip
* wip
* Use transaction in binding
* wip
* wip
* wip
* wip
* wip
* wip
* uikit
* keep references to controllers when presenting so that we can properly dismiss
* change order of features in shared state demo
* wip
* cleanup
* cleanup
* wip
* wip
* wip
* Fix perception checking for effect actions.
* wip
* wip
* wip
* Fix perception checking for effect actions.
* wip
* wip
* remove sync ups tutorial
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* @Reducer macro will insert protocol requirements if missing
* wip
* fixes
* fix
* wip
* wip
* wip
* docs for observe function for uikit
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Add cancellation to observation'
* re-record integration test snapshots
* fixed some todos
* update test
* remove 5.9.2 checks
* wip
* wip
* improve docs
* update docs
* updates
* lots of fixes
* more docs
* remove unneeded file;
* wip
* wip
* wip
* update readme and getting started
* wip
* wip
* simplify
* migration stuff
* wip
* Update Models.swift
* wip
* wip
* wip
* Update Bindings.md
* wip
* wip
* wip
* wip
* fix
* wip
* wip
* wip
* wip
* wip
Co-authored-by: Kabir Oberai <oberai.kabir@gmail.com>
* lots of docs and some fixes
* more docs
* more docs
* wip
* upate integration tests to use enum destination macro
* re-org migration guide
* wip
* wip
* docs for other enum reducer macros
* update ephemeral state docs
* wip
* move docs for reducer protocol and macro into single article
* mention observable state
* wip
* updated docs and some macro tests
* wip
* wip
* cleanup
* wip
* wip
* wip
* revert 16
* wip
* clean up
* Revert "clean up"
This reverts commit
|
||
|
|
7e3d0e2c51 |
Clean up examples (#2754)
* Update examples - Use `#Preview` macro - Remove superfluous `// MARK` comments * Simplify case studies Prefer simple `StoreOf` declaration in case study views * update some outdated descriptions * wip * wip |
||
|
|
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
|
||
|
|
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
|
||
|
|
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> |
||
|
|
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
|
||
|
|
3bca5180f3 | Run swift-format | ||
|
|
7b5bc85f2e |
Update Effect internals to be more efficient. (#1312)
* Distinguish Combine and async effects from each other * wip * wip * wip * Add some tests * wip * wip * wip Co-authored-by: Stephen Celis <stephen@stephencelis.com> |
||
|
|
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> |
||
|
|
b979b442da |
Modernize SwiftUI Case Studies (#1208)
* Replace `.navigationBarTitle` by `.navigationTitle` * Remove .background from Animation * Update 01-GettingStarted-Bindings-Basics.swift * Update 01-GettingStarted-Bindings-Forms.swift * Update 01-GettingStarted-Composition-TwoCounters.swift * Update 01-GettingStarted-Counter.swift * Update 01-GettingStarted-FocusState.swift * Update 01-GettingStarted-OptionalState.swift * Update 01-GettingStarted-SharedState.swift * Update 02-Effects-Basics.swift * Update 02-Effects-Cancellation.swift * Update 02-Effects-LongLiving.swift * Update 02-Effects-Refreshable.swift * Update 02-Effects-Timers.swift * Update 02-Effects-WebSocket.swift * Update 02-Effects-SystemEnvironment.swift * Update 03-Navigation-NavigateAndLoad.swift * Update 04-HigherOrderReducers-ElmLikeSubscriptions.swift * Update 04-HigherOrderReducers-Recursion.swift * Update 04-HigherOrderReducers-ReusableFavoriting.swift * Update CircularProgressView.swift * Update DownloadComponent.swift * Reindent `XCTestDynamicOverlay` block * Use a dedicated shape for the clock hand This is a little much simpler I guess. * Go back to use a Path, much simpler to understand. * Use more natural modifiers to apply styles * small updates * Center the "clocks" horizontally Co-authored-by: Brandon Williams <mbrandonw@hey.com> |
||
|
|
ea010ff15a |
Fix for attribute cycle in tic-tac-toe. (#1114)
* Fix for attribute cytcle. * wip * wip |
||
|
|
87f388bedb |
Further Modernize Demos (#914)
* Modernize Demos * wip |
||
|
|
c41f8c4a21 | Remove duplicate debug (#888) | ||
|
|
7a19bd63f5 | Clean up for Tic-Tac-Toe updates (#685) |