Waters ChurchandClaude Opus 5 5db4aada74 Retry a failed backup fetch, and only alert when a file is actually overdue
The nightly backup has emailed "1 backup file(s) could not be copied" most nights
since 29 September. Nothing was wrong with the backups: every file that failed
that way copied cleanly on a later night, and the only one still outstanding is
today's. The alert was reporting a transport hiccup as if it were data loss.

The fetch is the fragile part. Each file is ~275 KB and arrives through an expect
pseudo-terminal, which does line discipline and has finite buffers, so a capture
occasionally comes back truncated and fails to parse. It is now retried three
times within the same run, which should turn most of these into a non-event.

Alert severity now depends on the file's AGE rather than on this run. Today's
backup failing is a retry tomorrow and is logged, not mailed. A file still missing
after STALE_DAYS means the retries are not recovering and that does raise mail,
naming the files and their ages.

A nightly email that never needed action is how an alert stops being read, which
is the exact failure this script was written to prevent — it was training its
reader to ignore it.

The real cure is to stop pulling files through a pty at all: with key-based SSH to
the NAS this could be a plain scp and be byte-exact. That needs a key installed on
the NAS and is left for a deliberate change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-08 09:11:21 -04:00

Recurring Checklist Application

A simple Windows desktop application for managing recurring checklists. Perfect for tasks that need to be completed on a regular schedule, similar to Planning Center checklists but dedicated and simplified.

Features

  • ✅ Add checklist items with titles and detailed descriptions
  • ✅ Mark items as complete (moves to "Done" section)
  • ✅ Set items to recur daily, weekly, or monthly
  • ✅ Automatic reset of recurring items based on schedule
  • ✅ Dark theme interface matching Planning Center style
  • ✅ Card-based layout with clear visibility
  • ✅ Data persistence across sessions
  • ✅ Easy to package and distribute to multiple machines

Installation

Development Setup

  1. Install Node.js (if not already installed) - Download from nodejs.org
  2. Navigate to the project directory:
    cd recurring-checklist-app
    
  3. Install dependencies:
    npm install
    
  4. Run the application:
    npm start
    

Building for Windows Distribution

To create a Windows executable installer:

npm run build:win

This will create an installer in the dist folder that you can distribute to other machines. The installer will be named something like Recurring Checklist Setup 1.0.0.exe.

Usage

  1. Add Tasks:

    • Enter a title (required) and optional description
    • Descriptions support multiple lines and can include detailed instructions
    • Click "Add Task" or press Enter
  2. Set Recurrence:

    • Check "Recurring Task" checkbox
    • Select frequency: Daily, Weekly, or Monthly
    • For weekly: Choose the day of the week (e.g., Sunday)
    • For monthly: Choose the day of the month (1-31)
  3. Complete Tasks:

    • Check the checkbox next to an item to mark it complete
    • Completed items automatically move to the "Done" section
  4. Recurring Reset:

    • Recurring items automatically reset based on their schedule
    • Daily items reset each day
    • Weekly items reset on their specified day
    • Monthly items reset on their specified day of the month
  5. Delete Tasks:

    • Click the "Delete" button on any task to remove it permanently

Recurrence Options

  • Daily: Item resets every day at midnight
  • Weekly: Item resets on a specific day of the week (e.g., every Sunday)
  • Monthly: Item resets on a specific day of the month (e.g., day 1)

Data Storage

All checklist data is stored locally on your machine using electron-store. Data persists between application sessions and is stored in your user data directory.

Distribution

The built application can be easily copied to other Windows machines:

  1. Build the installer using npm run build:win
  2. Copy the installer file from the dist folder
  3. Run the installer on each Windows machine where you want to use the app
  4. Each installation will have its own independent data storage

Requirements

  • Windows 7 or later
  • Node.js (for development and building only)

Notes

  • The application checks for recurring items every minute
  • Recurring items reset based on the current date/time
  • Each machine will have its own separate checklist data
  • The app uses a dark theme similar to Planning Center for better visibility
S
Description
Recurring checklist for Waters Church — Node/Express web app served from the NAS in Docker, plus the Capacitor iOS and Android apps that wrap it. Deploys with release.sh.
Readme
5.3 MiB
Languages
JavaScript 71.9%
CSS 11.7%
HTML 11%
Shell 4.7%
Swift 0.5%
Other 0.1%