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
Manual QA in a fresh Rails app found the primary use case broken in
development: a controller calling Transmission.receive got
UnknownActorType for every envelope. The ingest looks actors up by
string, and a string cannot trigger the autoload that referencing the
class constant does, so a lazy-loading web process has an empty
registry. Only the CLI installed ApplicationActorLoader.
receive now loads the application's actor classes once on a registry
miss and retries, through an injectable actor_loader: that follows
the mailbox: injection pattern. The first fix attempt also raised
NameError in the web process because application_actor_loader was
required only by the CLI; the gem now requires it, and the load
contract ledger drops its used-only-by-the-CLI row.
QA also showed a conflicting replay returning 500 through the
documented controller, which would make a browser outbox retry a
permanently unappliable envelope forever. IdempotencyConflict joins
the documented 422 rescue list. The transmit docs gain the effect
retry budget: the defaults dead-letter an envelope after roughly
fifteen seconds offline, a dead effect has no retry API, and the
roadmap records that limitation.
0 commit comments