Skip to content

v3.2.1

Choose a tag to compare

@github-actions github-actions released this 31 Jul 21:50
4eba503

Surface failed OS crontab sync status as a global header warning so stale schedule installs are visible in the UI.

RoutineResponse::from_routine (built for every routine on each GET /routines poll) called routine_rel_dir three times per routine — once directly and once each inside routine_slug/routine_folder — and every call re-walked the whole routines/ tree. It now computes the relative directory once and derives the slug/folder from it with pure string ops (slug_from_rel_dir/folder_from_rel_dir), cutting the list endpoint's filesystem walks by 3x with no behavior change.

Enable clippy::assigning_clones and fix the one violation it surfaced: svc_update now uses clone_from instead of assigning a fresh .clone() onto the routine's existing schedule field.

Kill in-flight routine tmux sessions during moadim stop so detached agents do not outlive daemon shutdown.

Lower the Rust linecheck limit to 200 lines and split existing modules to satisfy it.

Lower the Rust linecheck gate to 300 lines per file and split existing modules/tests to comply.

Move the routine move CLI adapter next to the REST and MCP move route modules without changing behavior.

Move routine secondary row actions into an opened dropdown menu instead of showing every action inline.

Repair the routines table responsive layout and group row actions into clearer centered buttons.

Replace mechanical Rust linecheck fragment filenames with semantic module names.

Move the app data refresh cadence selector into Settings and keep page toolbars read-only.

Move the light/dark theme selector into Settings and remove the global header toggle.

Add macOS-aware system power-saving launch throttling for routines, with a power_saving_exempt flag for critical routines.

Add unit tests for nextFireAfterAny/nextFiresAny (client src/lib/schedule.ts), the multi-schedule "next fire" merge logic backing the Routines table row and the Overview page's dead-schedule detection. Both were previously untested (0% coverage on that code path).

Allow client tooling to run while testing the TypeScript 7 dev dependency update.

Enforce committed UI E2E screenshots in CI and expand dark-mode screenshot baselines.