feat: Server health tracking #2097

Merged
Aranjedeath merged 28 commits from nex/feat/server-health-tracking into main 2026-08-20 00:57:12 +00:00

2026-08-19

chore: Re-generate example config
All checks were successful
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 11s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m5s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m8s
Checks / Prek / Check changed files (pull_request) Successful in 7s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 8m0s
2026-08-19 14:39:18 +01:00
chore: Add newsfrag
Some checks failed
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 7s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m5s
Checks / Prek / Check changed files (pull_request) Successful in 6s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m9s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
2026-08-19 14:36:55 +01:00
fix: Address review comments
Some checks failed
Checks / Changelog / Check changelog is added (pull_request_target) Failing after 6s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m5s
Checks / Prek / Check changed files (pull_request) Successful in 5s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m10s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
2026-08-19 14:34:15 +01:00
feat: Lower default backoff base for a gentler backoff curve
Some checks failed
Checks / Changelog / Check changelog is added (pull_request_target) Failing after 7s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m3s
Checks / Prek / Check changed files (pull_request) Successful in 6s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m9s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 8m11s
2026-08-19 14:07:08 +01:00
fix: Don't set retrying status when retrying is illegal
Some checks failed
Checks / Changelog / Check changelog is added (pull_request_target) Failing after 6s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m3s
Checks / Prek / Check changed files (pull_request) Successful in 5s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 1m10s
Update flake hashes / update-flake-hashes (pull_request) Successful in 1m22s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 8m10s
2026-08-19 13:48:51 +01:00
fix: Treat any non-ok response as a server error in sender
Otherwise we never back off sending failed requests
2026-08-19 13:48:51 +01:00
feat: Refuse to send requests to unhealthy servers
Also marks them as online if a request succeeds
2026-08-19 13:48:48 +01:00
chore: Move health tracking to federation service
Otherwise federation would have to depend on sender
2026-08-19 13:48:48 +01:00