4 Commits
Author SHA1 Message Date
bobban 8d5729822d Add n8n workflow schedule type, Swedish date format, and Data & Privacy page
- New "n8n workflow" schedule type for manually tracked tasks, plumbed
  through the form, filters, group labels, and API validation, same as
  the earlier backup/update types.
- Dates (cron next-run, server last-seen) now render in Swedish
  standard format (YYYY-MM-DD, 24-hour clock) via a shared formatter
  instead of the browser's default locale.
- New Data & Privacy page describing what's stored, where, how long,
  and how to remove it, linked from a footer shown on every page
  alongside a "By bobbantech" credit linking to bobbantech.com.
2026-09-04 20:27:05 +02:00
bobban 0f961e7377 Add backup/update schedule types, copy buttons, cron next-run estimate; update dependencies
- New "backup" and "update" schedule types for manually tracked tasks,
  plumbed through the form, filters, group labels, and API validation.
- Copy buttons next to the agent token and install/uninstall commands
  on the Servers page, so they don't need to be selected by hand.
- Cron jobs now show an estimated "next run" (via cron-parser),
  computed client-side and clearly marked with "~" plus a tooltip,
  since the agent has no way to compute this for cron (unlike systemd
  timers, which report a real value from systemctl).
- Dependency updates: fixes a high-severity SQL injection advisory in
  drizzle-orm (0.38.4 -> 0.45.2, plus drizzle-kit 0.31.10), a qs
  vulnerability pinned past body-parser's own range via an npm
  "overrides" entry, a leftover vulnerable esbuild pulled in
  transitively by drizzle-kit (also via override), and cron-parser
  4 -> 5 (v4 is unmaintained; updated its call site for the new
  CronExpressionParser API). `npm audit` is now clean. Re-verified the
  DB layer end-to-end (migrations, CRUD, agent sync, stale-marking)
  and the cron estimate against the new cron-parser API after the
  upgrade.
2026-09-02 23:51:21 +02:00
bobban 5269499520 Add manual scheduled task entry
Lets users log tasks the Linux agent can't discover on its own (e.g.
Docker-based backup jobs) directly in the UI. Tasks now carry an
origin ('agent' | 'manual') so the agent's report-sync logic only
ever creates/updates/stale-marks agent-sourced rows, leaving manual
entries untouched; the API rejects edits/deletes of agent-sourced
tasks to keep that boundary enforced server-side too.
2026-07-10 00:12:34 +02:00
bobban fac491134d first commit 2026-07-09 22:51:03 +02:00