Skip to content

Add EffectActor transducer host and align runtime tests - #17

Merged
couchdeveloper merged 1 commit into
mainfrom
addSwiftActor
Jun 3, 2026
Merged

Add EffectActor transducer host and align runtime tests#17
couchdeveloper merged 1 commit into
mainfrom
addSwiftActor

Conversation

@couchdeveloper

Copy link
Copy Markdown
Owner

Summary:

  • add EffectActor as a Swift Concurrency-native TransducerHost
  • add EffectActor.Input and actor-backed state binding support
  • introduce TransducerHost as the shared host contract for actor, observable, and view runtimes
  • align runtime-boundary cancellation and system-error latching semantics across hosts
  • clarify source documentation for host, input, send, request, and compute behavior
  • restructure tests into dedicated host/input suites for EffectActor, EffectObservable, and EffectView

Testing:

  • swift test --filter EffectActorTests
  • swift test --filter EffectActorInputTests
  • swift test --filter EffectObservableTests
  • swift test --filter EffectObservableInputTests
  • swift test --filter EffectViewInputTests
  • swift test --filter EffectViewTests

Summary:
- add EffectActor as a Swift Concurrency-native TransducerHost
- add EffectActor.Input and actor-backed state binding support
- introduce TransducerHost as the shared host contract for actor,
  observable, and view runtimes
- align runtime-boundary cancellation and system-error latching
  semantics across hosts
- clarify source documentation for host, input, send, request, and
  compute behavior
- restructure tests into dedicated host/input suites for EffectActor,
  EffectObservable, and EffectView
- stabilize async send ordering coverage for slower CI runners
- remove racy subscription test synchronization from the SwiftUI harness
- test EffectView identity reset through a fresh remount instead of
  root-view replacement
- fix test harness timeout conversion for hosted SwiftUI views

Testing:
- swift test --filter EffectActorTests
- swift test --filter EffectActorInputTests
- swift test --filter EffectObservableTests
- swift test --filter EffectObservableInputTests
- swift test --filter EffectViewInputTests
- swift test --filter EffectViewTests

test: harden async cancellation and task subscription tests

- update async-action cancellation expectations to match current runtime semantics
- remove racy yield/update-based synchronization from task subscription tests
- wait until request continuations are actually enqueued before releasing shared work
- stabilize cancelled-subscribe coverage against harness timing issues

test: harden async and SwiftUI runtime tests
@couchdeveloper
couchdeveloper merged commit e2017bf into main Jun 3, 2026
1 check passed
@couchdeveloper
couchdeveloper deleted the addSwiftActor branch June 4, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant