mirror of
https://github.com/JohnEstropia/CoreStore.git
synced 2026-01-12 04:10:36 +01:00
Debug build Assertion Failure using @ListState #431
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ghost on GitHub (May 8, 2024).
Hey John!
I am facing an issue debugging on an iOS 16.6.1 test device using Xcode 15.3, CoreStore 9.2.
An assertion failure is sometimes happening with updates to ListState that are covered behind a sheet.
During deinit, when removeObserver(_ observer: T) gets called in ListPublisher:164 the assertion on Thread.isMainThread is triggered because SwiftUI sometimes uses com.apple.SwiftUI.AsyncRenderer to apply view updates.
As it is just an assertion and not a general abort, it is not an issue in release builds. But for convenience check that if that might raise an issue somewhere, you can workaround the assertion failure by extending the check on Thread.isMainThread || Thread.current.name == "com.apple.SwiftUI.AsyncRenderer", if that is considered safe for you.
@JohnEstropia commented on GitHub (May 9, 2024):
Thanks for reporting this. I'll try looking for a workaround