Skip to content

v1.1.0 β€” the ward opens

Choose a tag to compare

@pouyashahrdami pouyashahrdami released this 18 Aug 22:57
· 15 commits to main since this release

Built in the 24 hours after launch. Existing embeds are untouched β€” every
change to current cards is invisible or strictly better.

New card types

  • Ward cards β€” /ward/a,b,c: 2–6 users on one monitor, triage-sorted by
    bpm, traces colored by life state, N/M ALIVE pill.
  • Cardiology report β€” /report/<user>: the annual checkup. Year-long EKG
    strip, active days, longest streak, longest flatline (dated), busiest day,
    weekend load. theme=paper makes it a printout.

New surfaces

  • Wall of Hearts β€” /wall: live gallery of recently beating cards.
    Strictly opt-in: add wall=1 to your own embed to join; rendering
    someone else's card never publishes them. Proper og-image for sharing.
  • Dead man's switch β€” POST /api/watch {login, url} pings your Discord or
    Slack webhook when a watched user flatlines or revives (daily sweep).
    Opt out of being watchable at all: POST /api/watch/block.
  • Defibrillator β€” critical/flatlined share pages grow a paddle-charging
    button that broadcasts a prefilled code blue. Preview your own death page:
    /s/YOU?state=flatline.
  • Terminal CLI β€” npx github-pulse-cli <user|owner/repo>: the vitals as
    an ASCII EKG, zero dependencies.
  • Hearts counter β€” /api/stats: anonymous aggregate of cards served.

Reliability

  • Shared vitals cache β€” one GitHub API call per subject per cache window,
    across all param variants (GraphQL calls were previously uncached).
  • Stale-on-error β€” rate-limit spikes serve slightly-old vitals instead of
    an error card.

Everything else

  • Landing page redesigned as a hospital monitor; builder gained ward/report
    modes and a wall opt-in checkbox at the embed snippet.
  • GitHub Action: new ward: and report: inputs.
  • ?v= cache-buster documented; README samples for ward + report.

Self-hosters: set UPSTASH_REDIS_REST_URL/TOKEN to activate the record,
counter, wall, and watches; CRON_SECRET locks the sweep;
PULSE_WEBHOOK_ALLOW_ANY=1 allows webhook targets beyond Discord/Slack.