Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhaul store scope communication #2664

Merged
merged 57 commits into from
Dec 20, 2023
Merged
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
a295140
store 2
mbrandonw Dec 15, 2023
9e4afbf
wip
stephencelis Dec 15, 2023
2612f67
wip
stephencelis Dec 15, 2023
eda6e3e
wip
mbrandonw Dec 16, 2023
f88bbc6
wip
mbrandonw Dec 16, 2023
4281690
wip
mbrandonw Dec 16, 2023
d131764
wip
mbrandonw Dec 16, 2023
75066c3
wip
mbrandonw Dec 16, 2023
bdbad6f
wip
mbrandonw Dec 16, 2023
874407c
wip
stephencelis Dec 16, 2023
18b3d23
wip
stephencelis Dec 16, 2023
204120d
wip
stephencelis Dec 16, 2023
946ad90
wip
mbrandonw Dec 16, 2023
e8fdd35
wip
mbrandonw Dec 16, 2023
24b2cd0
check sharesStorage in ==
mbrandonw Dec 16, 2023
5089ab5
wip
mbrandonw Dec 16, 2023
f87763e
wip
mbrandonw Dec 16, 2023
f4f16af
fix crashes
mbrandonw Dec 16, 2023
3991aec
wip
mbrandonw Dec 16, 2023
4dee5de
wip
mbrandonw Dec 16, 2023
bb125fd
wip
mbrandonw Dec 16, 2023
096a27c
wip
mbrandonw Dec 16, 2023
8c40ff4
clean up
mbrandonw Dec 16, 2023
1e44179
wip
mbrandonw Dec 16, 2023
7014b6c
wip
mbrandonw Dec 16, 2023
3c2cd81
wip
mbrandonw Dec 16, 2023
b372042
wip
mbrandonw Dec 16, 2023
f46b056
rename
stephencelis Dec 16, 2023
955996e
wip
stephencelis Dec 16, 2023
6cf9bf3
wip
stephencelis Dec 17, 2023
137e88a
fix
stephencelis Dec 17, 2023
155d9d3
stack
stephencelis Dec 17, 2023
5b371a3
wip
stephencelis Dec 17, 2023
7a3da04
wip
stephencelis Dec 17, 2023
d64ab3d
wip
stephencelis Dec 17, 2023
6f88b5a
wip
stephencelis Dec 17, 2023
a7da2b8
wip
stephencelis Dec 17, 2023
ce09a46
wip
mbrandonw Dec 18, 2023
00356d3
remove duplicates based on presentation storage
stephencelis Dec 18, 2023
f192b33
wip
stephencelis Dec 18, 2023
0cc7e65
wip
stephencelis Dec 18, 2023
1208f3d
wip
stephencelis Dec 18, 2023
b27dd9e
wip
stephencelis Dec 18, 2023
f157dea
update log snapshots
mbrandonw Dec 18, 2023
aeb46a3
bring back expected failure
mbrandonw Dec 18, 2023
1c5f557
wip
mbrandonw Dec 18, 2023
5de5ec0
remove removeDuplicates
stephencelis Dec 18, 2023
4fafaf0
test for fast path of PresentationState
mbrandonw Dec 18, 2023
22133f9
wip
stephencelis Dec 18, 2023
a4c8b82
Updated logs
mbrandonw Dec 18, 2023
71951f0
wip
stephencelis Dec 19, 2023
3196ea9
wip
stephencelis Dec 19, 2023
812b5c2
wip
stephencelis Dec 19, 2023
0803a4d
wip
stephencelis Dec 19, 2023
3e752fa
Merge branch 'main' into store2
stephencelis Dec 19, 2023
6b0ede0
Skip flakey CI test
stephencelis Dec 20, 2023
a5f7888
bump timeout
stephencelis Dec 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions Examples/Integration/IntegrationUITests/BasicsTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ final class BasicsTests: BaseIntegrationTests {
self.assertLogs {
"""
BasicsView.body
StoreOf<BasicsView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
WithViewStoreOf<BasicsView.Feature>.body
Expand All @@ -27,7 +26,6 @@ final class BasicsTests: BaseIntegrationTests {
self.assertLogs {
"""
BasicsView.body
StoreOf<BasicsView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
WithViewStoreOf<BasicsView.Feature>.body
Expand Down
101 changes: 1 addition & 100 deletions Examples/Integration/IntegrationUITests/EnumTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,6 @@ final class EnumTests: BaseIntegrationTests {
"""
BasicsView.body
EnumView.body
PresentationStoreOf<EnumView.Feature.Destination>.scope
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<EnumView.Feature.Destination>.init
StoreOf<EnumView.Feature.Destination>.init
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature>.scope
StoreOf<EnumView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
ViewStore<BasicsView.Feature.State?, BasicsView.Feature.Action>.deinit
Expand All @@ -56,17 +44,6 @@ final class EnumTests: BaseIntegrationTests {
self.assertLogs {
"""
BasicsView.body
PresentationStoreOf<EnumView.Feature.Destination>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<EnumView.Feature.Destination>.scope
StoreOf<EnumView.Feature.Destination>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature>.scope
StoreOf<EnumView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
WithViewStoreOf<BasicsView.Feature>.body
Expand All @@ -83,11 +60,6 @@ final class EnumTests: BaseIntegrationTests {
self.assertLogs {
"""
EnumView.body
PresentationStoreOf<EnumView.Feature.Destination>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature>.scope
StoreOf<EnumView.Feature>.scope
ViewStore<EnumView.Feature.Destination.State?, EnumView.Feature.Destination.Action>.deinit
ViewStore<EnumView.Feature.Destination.State?, EnumView.Feature.Destination.Action>.init
ViewStore<EnumView.ViewState, EnumView.Feature.Action>.deinit
Expand All @@ -108,25 +80,8 @@ final class EnumTests: BaseIntegrationTests {
"""
BasicsView.body
EnumView.body
PresentationStoreOf<EnumView.Feature.Destination>.scope
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature?>.deinit
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<EnumView.Feature.Destination>.scope
StoreOf<EnumView.Feature.Destination>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature>.scope
StoreOf<EnumView.Feature>.scope
StoreOf<BasicsView.Feature?>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
ViewStore<BasicsView.Feature.State?, BasicsView.Feature.Action>.deinit
Expand Down Expand Up @@ -165,52 +120,14 @@ final class EnumTests: BaseIntegrationTests {
"""
BasicsView.body
EnumView.body
PresentationStoreOf<EnumView.Feature.Destination>.scope
StoreOf<BasicsView.Feature>.deinit
StoreOf<BasicsView.Feature>.deinit
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature?>.deinit
StoreOf<BasicsView.Feature?>.deinit
StoreOf<BasicsView.Feature?>.deinit
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.init
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<EnumView.Feature.Destination>.deinit
StoreOf<EnumView.Feature.Destination>.deinit
StoreOf<EnumView.Feature.Destination>.init
StoreOf<EnumView.Feature.Destination>.init
StoreOf<EnumView.Feature.Destination>.scope
StoreOf<EnumView.Feature.Destination>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature>.scope
StoreOf<EnumView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
ViewStore<BasicsView.Feature.State?, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State?, BasicsView.Feature.Action>.init
ViewStore<EnumView.Feature.Destination.State, EnumView.Feature.Destination.Action>.deinit
ViewStore<EnumView.Feature.Destination.State, EnumView.Feature.Destination.Action>.init
ViewStore<EnumView.Feature.Destination.State?, EnumView.Feature.Destination.Action>.deinit
ViewStore<EnumView.Feature.Destination.State?, EnumView.Feature.Destination.Action>.init
ViewStore<EnumView.ViewState, EnumView.Feature.Action>.deinit
ViewStore<EnumView.ViewState, EnumView.Feature.Action>.init
ViewStoreOf<BasicsView.Feature>.deinit
ViewStoreOf<BasicsView.Feature>.init
ViewStoreOf<BasicsView.Feature?>.deinit
ViewStoreOf<BasicsView.Feature?>.init
ViewStoreOf<EnumView.Feature.Destination>.deinit
ViewStoreOf<EnumView.Feature.Destination>.init
WithViewStore<EnumView.ViewState, EnumView.Feature.Action>.body
WithViewStoreOf<BasicsView.Feature>.body
WithViewStoreOf<BasicsView.Feature?>.body
WithViewStoreOf<EnumView.Feature.Destination>.body
WithViewStoreOf<EnumView.Feature.Destination?>.body
"""
}
Expand All @@ -225,22 +142,6 @@ final class EnumTests: BaseIntegrationTests {
self.assertLogs {
"""
EnumView.body
PresentationStoreOf<EnumView.Feature.Destination>.scope
PresentationStoreOf<EnumView.Feature.Destination>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<EnumView.Feature.Destination>.scope
StoreOf<EnumView.Feature.Destination>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature.Destination?>.scope
StoreOf<EnumView.Feature>.scope
StoreOf<EnumView.Feature>.scope
StoreOf<EnumView.Feature>.scope
StoreOf<EnumView.Feature>.scope
ViewStore<EnumView.Feature.Destination.State?, EnumView.Feature.Destination.Action>.deinit
ViewStore<EnumView.Feature.Destination.State?, EnumView.Feature.Destination.Action>.init
ViewStore<EnumView.ViewState, EnumView.Feature.Action>.deinit
Expand Down
37 changes: 5 additions & 32 deletions Examples/Integration/IntegrationUITests/IdentifiedListTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,10 @@ final class IdentifiedListTests: BaseIntegrationTests {
IdentifiedListView.body.ForEachStore
IdentifiedListView.body.ForEachStore
IdentifiedStoreOf<BasicsView.Feature>.deinit
IdentifiedStoreOf<BasicsView.Feature>.init
IdentifiedStoreOf<BasicsView.Feature>.scope
IdentifiedStoreOf<BasicsView.Feature>.deinit
Store<UUID, Action>
Store<UUID, BasicsView.Feature.Action>.deinit
Store<UUID, BasicsView.Feature.Action>.init
Store<UUID, BasicsView.Feature.Action>.init
Store<UUID, BasicsView.Feature.Action>.init
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature>.init
StoreOf<IdentifiedListView.Feature>.scope
StoreOf<IdentifiedListView.Feature>.scope
Store<UUID, BasicsView.Feature.Action>.deinit
ViewIdentifiedStoreOf<BasicsView.Feature>.deinit
ViewIdentifiedStoreOf<BasicsView.Feature>.init
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
Expand Down Expand Up @@ -66,23 +59,13 @@ final class IdentifiedListTests: BaseIntegrationTests {
IdentifiedListView.body.ForEachStore
IdentifiedListView.body.ForEachStore
IdentifiedStoreOf<BasicsView.Feature>.deinit
IdentifiedStoreOf<BasicsView.Feature>.init
IdentifiedStoreOf<BasicsView.Feature>.scope
IdentifiedStoreOf<BasicsView.Feature>.scope
IdentifiedStoreOf<BasicsView.Feature>.deinit
Store<UUID, Action>
Store<UUID, Action>
Store<UUID, BasicsView.Feature.Action>.deinit
Store<UUID, BasicsView.Feature.Action>.deinit
Store<UUID, BasicsView.Feature.Action>.init
Store<UUID, BasicsView.Feature.Action>.init
Store<UUID, BasicsView.Feature.Action>.scope
Store<UUID, BasicsView.Feature.Action>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<IdentifiedListView.Feature>.scope
StoreOf<IdentifiedListView.Feature>.scope
Store<UUID, BasicsView.Feature.Action>.deinit
Store<UUID, BasicsView.Feature.Action>.deinit
ViewIdentifiedStoreOf<BasicsView.Feature>.deinit
ViewIdentifiedStoreOf<BasicsView.Feature>.init
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
Expand Down Expand Up @@ -117,16 +100,6 @@ final class IdentifiedListTests: BaseIntegrationTests {
self.assertLogs {
"""
BasicsView.body
IdentifiedStoreOf<BasicsView.Feature>.scope
IdentifiedStoreOf<BasicsView.Feature>.scope
Store<UUID, BasicsView.Feature.Action>.scope
Store<UUID, BasicsView.Feature.Action>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<IdentifiedListView.Feature>.scope
StoreOf<IdentifiedListView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
WithViewStoreOf<BasicsView.Feature>.body
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,6 @@ final class ForEachBindingTests: BaseIntegrationTests {
XCTAssertFalse(app.textFields["B"].exists)
app.buttons["Remove last"].tap()
XCTAssertFalse(app.textFields["A"].exists)

XCTExpectFailure(
"""
This ideally would not fail, but currently does. See this PR for more details:

https://github.com/pointfreeco/swift-composable-architecture/pull/1845
"""
) {
XCTAssertFalse(app.staticTexts["🛑"].exists)
}
XCTAssertFalse(app.staticTexts["🛑"].exists)
}
}
14 changes: 0 additions & 14 deletions Examples/Integration/IntegrationUITests/NavigationTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ final class NavigationTests: BaseIntegrationTests {
self.assertLogs {
"""
BasicsView.body
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature>.init
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
ViewStoreOf<BasicsView.Feature>.init
Expand All @@ -29,8 +27,6 @@ final class NavigationTests: BaseIntegrationTests {
self.assertLogs {
"""
BasicsView.body
StoreOf<BasicsView.Feature>.scope
StoreOf<NavigationTestCaseView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
WithViewStoreOf<BasicsView.Feature>.body
Expand All @@ -49,16 +45,6 @@ final class NavigationTests: BaseIntegrationTests {
self.assertLogs {
"""
BasicsView.body
StackStoreOf<BasicsView.Feature>.scope
StackStoreOf<BasicsView.Feature>.scope
StackStoreOf<BasicsView.Feature>.scope
StackStoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<NavigationTestCaseView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
WithViewStoreOf<BasicsView.Feature>.body
Expand Down
26 changes: 0 additions & 26 deletions Examples/Integration/IntegrationUITests/OptionalTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,6 @@ final class OptionalTests: BaseIntegrationTests {
"""
BasicsView.body
OptionalView.body
PresentationStoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature>.init
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<OptionalView.Feature>.scope
StoreOf<OptionalView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
ViewStore<BasicsView.Feature.State?, BasicsView.Feature.Action>.deinit
Expand All @@ -41,12 +34,6 @@ final class OptionalTests: BaseIntegrationTests {
self.assertLogs {
"""
BasicsView.body
PresentationStoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<OptionalView.Feature>.scope
StoreOf<OptionalView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
WithViewStoreOf<BasicsView.Feature>.body
Expand All @@ -63,13 +50,6 @@ final class OptionalTests: BaseIntegrationTests {
self.assertLogs {
"""
OptionalView.body
PresentationStoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<OptionalView.Feature>.scope
StoreOf<OptionalView.Feature>.scope
ViewStore<OptionalView.ViewState, OptionalView.Feature.Action>.deinit
ViewStore<OptionalView.ViewState, OptionalView.Feature.Action>.init
WithViewStore<OptionalView.ViewState, OptionalView.Feature.Action>.body
Expand All @@ -80,12 +60,6 @@ final class OptionalTests: BaseIntegrationTests {
"""
BasicsView.body
OptionalView.body
PresentationStoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<BasicsView.Feature?>.scope
StoreOf<OptionalView.Feature>.scope
StoreOf<OptionalView.Feature>.scope
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.deinit
ViewStore<BasicsView.Feature.State, BasicsView.Feature.Action>.init
ViewStore<OptionalView.ViewState, OptionalView.Feature.Action>.deinit
Expand Down
Loading