fix: harden webhook reliability, fix bugs, add test suite

- Statuspage webhook always returns 200 to prevent subscriber removal
- Fix parseKvKey returning string chatId instead of number
- Queue consumer retries on Telegram 5xx instead of acking (prevents message loss)
- Fix observability top-level enabled flag (false → true)
- Add defensive null checks for webhook payload body
- Cache Bot instance per isolate to avoid middleware rebuild per request
- Add vitest + @cloudflare/vitest-pool-workers with 31 tests
- Document DLQ and KV sharding as declined features
This commit is contained in:
2026-04-09 10:29:30 +07:00
parent bb8f4dcde8
commit 8c993df72b
15 changed files with 1680 additions and 57 deletions

View File

@@ -6,7 +6,9 @@
"type": "module",
"scripts": {
"dev": "wrangler dev",
"deploy": "wrangler deploy"
"deploy": "wrangler deploy",
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
@@ -24,6 +26,8 @@
"hono": "^4.12.12"
},
"devDependencies": {
"@cloudflare/vitest-pool-workers": "^0.14.2",
"vitest": "^4.1.3",
"wrangler": "^4.81.0"
}
}