pushes on tangled sites.wisp.place/zzstoatzz.io/punch
fun tangled
0

Configure Feed

Select the types of activity you want to include in your feed.

move punch off prefect.io account

frontend was still hitting punch-indexer.nate-8fe.workers.dev (the
prefect.io account); that worker's cron stopped firing 2026-04-19,
which is why the leaderboard looked frozen. the n8@zzstoatzz.io
copy at punch-indexer.n8-3e9.workers.dev has been ticking fine the
whole time, so just point the site at it and pin account_id in
wrangler.jsonc so future deploys can't land on prefect.io again.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

+9 -3
+1 -1
public/app.js
··· 49 49 50 50 // the CF Worker serves the leaderboard straight from KV so we sidestep 51 51 // wisp's edge cache (max-age=600 meant 10-min staleness). 52 - const LEADERBOARD_URL = "https://punch-indexer.nate-8fe.workers.dev/leaderboard.json"; 52 + const LEADERBOARD_URL = "https://punch-indexer.n8-3e9.workers.dev/leaderboard.json"; 53 53 54 54 async function load() { 55 55 try {
+8 -2
worker/wrangler.jsonc
··· 4 4 "compatibility_date": "2025-01-15", 5 5 "compatibility_flags": ["nodejs_compat"], 6 6 7 + // hosted on n8@zzstoatzz.io (NOT prefect.io). pin the account so deploys 8 + // can't accidentally land on a different one if multiple are authed. 9 + "account_id": "3e9ba01cd687b3c4d29033908177072e", 10 + 7 11 // scheduled tick. knots are drained in chunks so a single invocation stays 8 12 // well under the 15-min cron CPU ceiling. see KNOT_CHUNK_SIZE in src/index.ts. 9 13 "triggers": { "crons": ["*/10 * * * *"] }, ··· 12 16 { 13 17 "binding": "DB", 14 18 "database_name": "punch", 15 - "database_id": "76202e13-a471-4cee-98a3-126c77df11ff" 19 + "database_id": "91691037-52fd-4262-b511-6ef4b7df7f7f" 16 20 } 17 21 ], 18 22 19 23 "kv_namespaces": [ 20 24 { 21 25 "binding": "HANDLES", 22 - "id": "176ca6e2e6d14a468819f1f0db140a56" 26 + "id": "671745d0b1c24b7dba3f1a49f47929f0" 23 27 } 24 28 ] 25 29 26 30 // secrets (set via `wrangler secret put`): 27 31 // PUNCH_HANDLE atproto handle owning the wisp site 28 32 // PUNCH_APP_PASSWORD atproto app password for that handle 33 + // (declared in src/types.ts but currently unused — wisp publishing was 34 + // replaced by dynamic /leaderboard.json render. safe to skip.) 29 35 }