Releases
1.1.0
Compare
Sorry, something went wrong.
No results found
ScreenStateKit 1.1.0
Breaking Changes
ScreenActionStore.receive(action:) is now async throws — stores just throw errors
nonisolatedReceive(action:) replaces old nonisolated func receive(action:) — creates Task, calls dispatch, returns AnyTask
dispatch(action:) (framework-provided) centralizes loadingStarted, error catching via showError, and loadingFinished
Action requires Hashable conformance — auto-synthesized lockKey, no manual lockKey computed property needed
viewState associated type replaces AScreenState
New Features
NonPresentableError : Protocol for silent errors (isSilent: Bool), not shown to user
DisplayableError : Now has originalError, isSilent, init(error:)
AnyTask : Public type-erased task handle with waitComplete(), isCancelled, cancel()
CancelBag : DuplicatePolicy (.cancelExisting/.cancelNew), auto-removal of completed tasks, AnyHashable identifiers
StreamProducer : Extracted StreamStorage with deinit cleanup
Deprecations
nonIsolatedFinish() on StreamProducer — use await producer.finish() instead
Bug Fixes
terminateLoadMoreView() replaces misspelled ternimateLoadmoreView()
Deterministic tests using withMainSerialExecutor + Task.megaYield() instead of Task.sleep
You can’t perform that action at this time.