You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Fix compilation
* Fix compilation warnings
* Update development tools
* Remove workarounds from example app that are fixed in iOS16
* Run unit tests with Xcode14
* Reorder modifiers as iOS16 propergates refreshable context to a screen presented with sheet
* Ignore lint warning for rule AllPublicDeclarationsHaveDocumentation in example app
* Update simulator device name format
Copy file name to clipboardExpand all lines: README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -948,7 +948,7 @@ struct BooksView: View {
948
948
}
949
949
}
950
950
.searchable(text: searchQuery)
951
-
.refreshable { [context] in// NB: Unfortunately, SwiftUI has a memory leak when capturing `self` implicitly inside a `refreshable` modifier.
951
+
.refreshable {
952
952
// refresh
953
953
await context.refresh(FetchBooksAtom())
954
954
}
@@ -1437,7 +1437,7 @@ In the above example, the initial state of the atom is retrieved from UserDefaul
1437
1437
1438
1438
### Dealing with Known SwiftUI Bugs
1439
1439
1440
-
#### In iOS14, modal presentation causes assertionFailure when dismissing it
1440
+
#### Modal presentation causes assertionFailure when dismissing it (Fixed in iOS15)
1441
1441
1442
1442
<details><summary><code>💡 Click to expand workaround</code></summary>
1443
1443
@@ -1464,10 +1464,10 @@ struct RootView: View {
1464
1464
1465
1465
</details>
1466
1466
1467
-
Unfortunately, SwiftUI has a bug in iOS14 where the `EnvironmentValue` is removed from a screen presented with `.sheet` just before dismissing it. Since this library is designed based on `EnvironmentValue`, this bug end up triggering the friendly `assertionFailure` that is added so that developers can easily aware of forgotten `AtomRoot` implementation.
1467
+
Unfortunately, SwiftUI has a bug in iOS14 or lower where the `EnvironmentValue` is removed from a screen presented with `.sheet` just before dismissing it. Since this library is designed based on `EnvironmentValue`, this bug end up triggering the friendly `assertionFailure` that is added so that developers can easily aware of forgotten `AtomRoot` implementation.
1468
1468
As a workaround, `AtomRelay` has the ability to explicitly inherit the internal store through `AtomViewContext` from the parent view.
1469
1469
1470
-
#### Some SwiftUI modifiers cause memory leak
1470
+
#### Some SwiftUI modifiers cause memory leak (Fixed in iOS16)
1471
1471
1472
1472
<details><summary><code>💡 Click to expand workaround</code></summary>
1473
1473
@@ -1495,7 +1495,7 @@ var isShowingSearchScreen = false
1495
1495
1496
1496
</details>
1497
1497
1498
-
Some modifiers in SwiftUI seem to cause an internal memory leak if it captures `self` implicitly or explicitly. To avoid that bug, make sure that `self` is not captured when using those modifiers.
1498
+
In iOS 15 or lower, some modifiers in SwiftUI seem to cause an internal memory leak if it captures `self` implicitly or explicitly. To avoid that bug, make sure that `self` is not captured when using those modifiers.
1499
1499
Below are the list of modifiers I found that cause memory leaks:
0 commit comments