Commit Graph

41 Commits

Author SHA1 Message Date
M1 b6a66ddb21 fix: run_id derived from scheduled_at bucket so all regions share same ID per window 2026-03-18 16:46:30 +04:00
M1 f7ab3b96b2 feat: per-region due scheduling + run_id to group pings across regions 2026-03-18 16:36:35 +04:00
M1 93db31db3b feat: multi-region monitor support — region selector in UI, region flag on pings 2026-03-18 16:08:39 +04:00
M1 52f7f8102b feat: update user-agent to Mozilla-compatible string 2026-03-18 14:43:33 +04:00
M1 957674fca4 fix: clear in-flight after post_result to prevent double-pings, revert poll to 50ms 2026-03-18 14:29:37 +04:00
M1 6882162d7f fix: use system CA store for ureq TLS to verify Cloudflare-issued certs 2026-03-18 14:10:28 +04:00
M1 3fa624eff8 fix: replace curl subprocess with ureq blocking client in std::thread 2026-03-18 13:40:28 +04:00
M1 6b8e1fc9d9 cleanup: remove debug warn logs from monitor runner 2026-03-18 13:30:19 +04:00
M1 6e1d642c77 fix: allow null status_code in ingest schema; check HTTP status in post_result 2026-03-18 13:28:42 +04:00
M1 5037222846 fix: add 10s timeout to post_result to prevent hung API calls 2026-03-18 13:24:52 +04:00
M1 3ce89a88bf debug: log post_result calls 2026-03-18 13:22:35 +04:00
M1 749a06b9d7 debug: log check errors and trace post_result calls 2026-03-18 13:19:35 +04:00
M1 cb8d0f81b1 debug: add warn logs to curl thread, fix temp file uniqueness 2026-03-18 13:17:11 +04:00
M1 556729b881 fix: use std::thread + tokio oneshot for curl — fully decoupled from tokio thread pool 2026-03-18 13:10:04 +04:00
M1 5e76b2212f fix: use std::process::Command+spawn_blocking+temp file to avoid all pipe/async hang issues 2026-03-18 13:08:08 +04:00
M1 289ec8e038 fix: hard task-level timeout as failsafe so in-flight lock always clears 2026-03-18 13:05:43 +04:00
M1 0edce8c555 fix: use spawn+manual read+wait instead of output() to avoid stdout pipe hang 2026-03-18 13:03:06 +04:00
M1 94200b430f fix: set kill_on_drop and explicit stdio pipes so curl doesn't inherit parent fds 2026-03-18 12:59:34 +04:00
M1 79bf7d9295 fix: wrap curl output() in tokio timeout in case process hangs on stdout 2026-03-18 12:58:12 +04:00
M1 554d95cfb4 fix: correctly handle curl non-zero exit codes as errors 2026-03-18 12:55:00 +04:00
M1 5730a3cb83 fix: replace reqwest with curl subprocess for reliable hard timeouts 2026-03-18 12:52:17 +04:00
M1 c68700da46 fix: use blocking reqwest in spawn_blocking for reliable OS-level timeout 2026-03-18 12:48:30 +04:00
M1 5b0bce65c6 fix: pre-flight TCP connect check with hard tokio timeout before reqwest attempt 2026-03-18 12:43:27 +04:00
M1 b8b0a9d5e2 fix: per-check client with connect_timeout to guarantee OS-level TCP timeout 2026-03-18 12:42:09 +04:00
M1 7905a8003b fix: clean up cert check - only runs after successful response, no more borrow errors 2026-03-18 12:40:03 +04:00
M1 de6e24e973 fix: move cert check to after successful HTTP response, never runs on down/timeout hosts 2026-03-18 12:39:18 +04:00
M1 68093131fa fix: spawn cert check as independent task, never blocks main request timeout 2026-03-18 12:35:58 +04:00
M1 dbbc9c00cc fix: run cert check concurrently with request so a hanging TCP connect can't block the timeout 2026-03-18 12:33:22 +04:00
M1 b41faff2ad fix: move timeout definition before cert check 2026-03-18 12:27:00 +04:00
M1 81ac8f0c20 fix: apply timeout to cert check — was hanging indefinitely before request even started 2026-03-18 12:26:27 +04:00
M1 05c60db605 fix: wrap full request+body read in timeout to catch slow response bodies 2026-03-18 12:17:55 +04:00
nate 5a0cf5033b fix: harden auth, SSRF, query engine, and cookie security 2026-03-18 11:37:33 +04:00
M1 27be1fa8bf fix: jitter_ms now measured in Rust at check start, excludes latency and return trip 2026-03-17 10:52:08 +04:00
M1 f71388a51a feat: jitter_ms tracking — scheduled_at stamped at dispatch, jitter computed on ingest 2026-03-17 10:44:35 +04:00
M1 6c539d9066 fix: skip in-flight monitors to prevent stacked slow requests 2026-03-16 15:41:34 +04:00
M1 9b970a90e0 fix: fire-and-forget checks so slow monitors don't delay fast ones 2026-03-16 15:37:00 +04:00
M1 3368dbdd7f feat: custom method, headers, body, timeout on monitors 2026-03-16 15:30:35 +04:00
M1 eb2d173cb0 rename: checks → pings throughout (DB, API, UI, Rust) 2026-03-16 13:45:09 +04:00
M1 b4f95fa375 refactor: merge checks into monitors (/monitors/:id/history), ingest moves to /internal/ingest 2026-03-16 13:43:55 +04:00
M1 500132ba05 feat: dashboard, visual query builder, expanded query language, cert expiry support 2026-03-16 12:26:17 +04:00
M1 570222c7a9 Initial scaffold: web API (Bun/Elysia) + monitor (Rust/Tokio) 2026-03-16 11:40:24 +04:00