Skip to content

RaidKit

Raid Ping changelog

Automatic Discord reminders for the raiders who still haven't answered your Raid-Helper signup.

  1. Raid Ping2026-09-01
    • Repository consolidated into the development workspace as a live git clone; deployment is now commit and push instead of web-editor pastes.
    • Canonical 50-check test_local.py committed, replacing the original 17-check version.
    • CLAUDE.md, CHANGELOG.md, MIGRATION.md, and docs/ moved into the repository so it is self-contained for handoff.
    • README rewritten for the three-tier ladder, collapse, shared rosters, the external trigger as primary with the string-inputs gotcha, the webhook three-link chain, and dry-run defaults.
    • Reconciliation with the live repository: nag.py confirmed byte-identical to the tested 2026-08-10 baseline; the 50-check suite passes against it.
    • Workflow confirmed: backup cron 17,47 * * * *, checkout@v5, both webhook env lines present.
    • Config confirmed: 120/72/24 ladder on both team entries with one template per tier; server_events_url present and empty.
    • state.json shows three weeks of live history across 10 events, four of them completing the full natural 120, 72, 24 ladder.
  2. Raid Ping2026-08-10
    • Multi-stage reminder engine: a per-team reminders list replaces the single deadline; the most urgent unfired due stage fires; moot larger tiers are marked done (collapse) when an event is first seen inside a smaller window.
    • State moves to per-event stages_done lists, with a shim treating pre-stage entries as fully handled. Legacy single-deadline configs still work.
    • Live config restructured to the 120/72/24 ladder, each tier with its own templates. A missing-comma JSONDecodeError established the dry-run-as-validator practice.
    • Test suite grown to 50 checks, including the three-tier ladder end to end with time travel.
  3. Raid Ping2026-08-06
    • GitHub Actions cron had produced near-zero scheduled runs over two days, matching community reports of 2026 degradation.
    • cron-job.org wired as the primary trigger: hourly POST to the workflow-dispatch API with a fine-grained token and explicit string inputs, failure notifications on.
    • The first test dispatch returned 204 and delivered a real backlog ping for an open, unclaimed window, as designed.
    • A 401 during setup traced to header placement and the Bearer prefix; documented in the operations notes.
  4. Raid Ping2026-08-05
    • Shared named rosters: a top-level rosters table that team entries reference by name; inline lists still accepted.
    • Second team entry added for the second raid night, with its own signup channel and its own webhook secret and env line.
    • Roster reference spreadsheet created with a Text-formatted id column to avoid Excel's digit truncation.
    • checkout action bumped from v4 to v5.
  5. Raid Ping2026-08-04
    • Build day: stdlib-only nag.py, hourly workflow with dry-run and ignore-window manual inputs, state dedupe, state.json committed back by CI, and a 17-check offline harness.
    • Raid-Helper endpoint saga: legacy raid-helper.dev routes returned 404; snowflake-dating diagnostics, endpoint fallback chains, the raid-helper.xyz v4 routes, and the server_events_url override all landed.
    • First live-fire fixes: a malformed webhook secret, then Discord's HTTP 403 against Python's default User-Agent, fixed with a custom User-Agent on every request.
    • First successful live ping the same evening; an exposed API key was rotated immediately and secrets-only-in-the-secret-store became the rule.