Skip to content

FileMill v0.2.0

Latest

Choose a tag to compare

@brocla brocla released this 17 Aug 03:59
f78f016

Sheets-link delivery, always-on scheduling, and reply-naming, on top of the v0.1.1 hardening pass.

New

  • Sheets-link delivery — an address can be routed to sheets-link instead of an attachment: the output is uploaded to Google Drive, converted to a Sheet, and shared by link. Live for iwk@ end to end, including a 30-day retention sweep of published files.
  • Report naming in replies — a transformer can declare a label in transformers.yaml; the reply (both the sheets-link sentence and each job line) names the report by that label instead of the raw operation name, and two operations that only differ in output layout share one label.
  • Runs at boot, not just at logon — the scheduled task now starts before anyone signs in, with a supervisor that auto-restarts the worker on crash (escalating backoff).
  • CI — build/vet/test now run on every push and PR (windows-latest).

Reliability

  • Fixed a worker crash on SQLITE_BUSY under concurrent load.
  • Stopped retrying permanently-rejected attachments (was causing a retry storm); the rejection is now logged with the sender.
  • The webhook now exits fatally if its port can't be bound, instead of silently listening on nothing.
  • Email submissions are now keyed on message + recipient, so the same message to two addresses no longer collides.
  • A route with no layout configured no longer logs a spurious delivery-mismatch warning.

Internal / Docs

  • Repo prepared for a public GitHub audience: real config/*.yaml gitignored with .example templates, personal domain and paths scrubbed from docs and code, MIT LICENSE added, README rewritten (setup order, job.json walkthrough, badges).
  • A second example transformer (uppercase) replaces internal references to the private workerlist project in public-facing docs.

Verified

  • go build, go vet, go test ./... clean.
  • The documented "Run your first job" walkthrough (submit → run --once → jobs get) verified end to end with the uppercase example.

Known gaps (tracked)

  • Catch up on missed mail at startup — issue #2.
  • Persistent crash-loop alerting — issue #7.
  • Error alerting to an operator address is designed (ERROR-ALERTING-PLAN.md) but not built.