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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Day calendar view. Routines and cron jobs gain a scrollable single-day
timeline: 24 hour rows with each fire time rendered as an HH:MM chip in its
hour, prev/next/TODAY navigation, and the current hour highlighted and
scrolled into view. Available alongside the routines LIST/CALENDAR toggle
and as a new LIST/DAY toggle on the previously table-only cron-jobs page.
Zoom into the day view. The single-day timeline gains a −/+ zoom
control with four per-hour heights. The compact level keeps the wrapped-chip
layout; deeper levels switch each hour into a minute-positioned timeline where
fire times float at their exact minute against quarter-hour guide lines and a :00/:15/:30/:45 ruler, so sub-hour timing is readable at a glance. Closes #591.
Set machines from the web UI. The routine and cron-job create/edit forms now
expose a MACHINES input (comma-separated), so multi-machine targeting is settable
without dropping to the CLI or REST. Blank preserves today's behavior (empty list =
runs nowhere). Closes #580.
Machine picker. The MACHINES field in the routine and cron-job forms is now a
picker: it fetches the daemon's known machine names from the new GET /api/v1/machines
endpoint (every name referenced by a routine or cron job, plus this machine's own
identity) and renders them as toggleable chips, while still allowing a brand-new name
to be typed and added. Closes #586.
Changed
Releases are automated on version bump. Merging a Cargo.toml version bump to main now auto-pushes the matching vx.y.z tag and runs the crates.io publish and
GitHub Release workflows (new auto-release.yml). No more manual tag push; publish.yml
and release.yml are now reusable (workflow_call) and keep their v* tag-push
trigger as a hand-cut fallback.
Fixed
Test isolation. The routine service and storage unit tests no longer write
into the developer's real ~/.config/moadim home. They resolved paths through paths::home(), which falls back to the real home when MOADIM_HOME_OVERRIDE
is unset, so tests leaked routine dirs (and the migration tests even scanned real
state). Every test now runs against an isolated temp home.