v0.1.31

Documentation

v0.1.31

Schedules & watches

A watch is a schedule with a diff attached. This page is what actually runs, how often, and what happens when the app is closed.

On this page

Intervals

The Watch screen’s presets are 5m, 15m, 1h, 6h and 24h; custom… accepts any number of minutes from one to a year. The interval is per watch — a price page hourly, a changelog daily, one awkward page every 90 minutes.

Each check is one scheduled scrape with the watch’s own options: Render (auto, static, browser) and Accept-Language for locale variants. It counts as activity only when it changes into something you keep — a watch bills once, when added, against the trial.

The scheduler

While the app runs:

  • A 30-second tick looks for due watches.
  • At most two pages in flight at once — polite by design.
  • One check is bounded at five minutes; a hung site cannot hold a slot forever.
  • Every check stores a snapshot (content-hashed) and, on change, computes the word diff — capped at 4 KB for display, full text on disk.

Check now runs a check immediately, outside the schedule, and refreshes the drawer’s snapshot history. Pause parks a watch — no checks, no stale flag, the interval remembered.

Status words

Badge Meaning
pending Added, first check not run yet
same Last check matched the previous snapshot
changed Last check differed — the diff is in the drawer
stale A check is more than three intervals overdue (the machine slept, the app was closed)
failing Checks are erroring — hover for the verbatim error

stale is a hint, not an alarm: the scheduler caught up on the next tick after it starts. A watch that is failing while others run is usually a page-level problem — a challenge, a redirect to a login, a DNS change.

Always-on

Checks need the app running. The combination that survives closing the window:

  1. Settings → Background → Keep running in the tray when closed.
  2. Start at login — opens hidden in the tray.
  3. Notify when a watch changes — the OS notification’s Open action raises the window.

On a server or a machine you never log into, the CLI is the alternative: magpie watch <url> --every 15m --once under cron or a systemd timer, with --webhook for delivery (CLI reference). The two stores are the same file, so a CLI watch’s snapshots appear in the app’s Compare screen.

For routing changes to other systems, see Webhooks; for reading the diffs, Monitor.

v0.1.31 · updated