Skip to content

v6.21.0

@itechdom itechdom tagged this 03 Jul 02:59
Extracts the cron parser/matcher (createOsHandlers.ts's os/watch-cron
implementation) into a shared, browser-safe cron.ts module, and adds
TickScheduler.addCron() so a `ticks { ... every "0 9 * * *" }` block
actually schedules on calendar matches instead of silently defaulting
to 1000ms (OrbitalServerRuntime) or busy-firing on every animation
frame (client TickScheduler via an unchecked NaN cast).

Also extracts a shared parseDurationString/isValidDurationString
(duration.ts) so OrbitalServerRuntime's tick-interval parsing has one
canonical home instead of a private per-class copy — the client side
(@almadar/ui's useTraitStateMachine) needed the same parser and
duplicating it a third time would have reintroduced the exact
divergence risk this fix is about closing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Assets 2
Loading