v0.3.4
Patch Changes
-
8442f40: Fix a race in
Containerwhere concurrentcontainer.fetchcalls to a cold container could throw"start() cannot be called on a container that is already running.". -
cf01432: Ensure pending stop events are processed when the persisted container lifecycle state is still
runningbut the underlying container has already exited.Migrate the root unit test suite from Jest to Vitest and add a
test:unitscript for runningsrc/testsdirectly. -
cf41295: Fix subclass
sleepAfteroverrides being ignored during the initial activity timeout setup. Previously, the baseContainerconstructor calledrenewActivityTimeout()insideblockConcurrencyWhile()before subclass class-field initializers ran, so the firstsleepAfterMswas always computed from the base default ('10m') regardless of whether the subclass declaredsleepAfter = '2h'. A container could then be killed by the activity timeout before the subclass's longer window took effect on the nextrenewActivityTimeoutcall. Declarations like:class BigContainer extends Container { sleepAfter = '2h'; }
are now honored from the very first alarm check.
-
07fedbb: Preserve Cloudchamber startup rate-limit errors in the Containers helper and return HTTP 429 from
containerFetch()when startup is rate limited.