Show actionable recording callback failures
Replace opaque http_non_success recording callback failures with the actual HTTP status/reason and a bounded, sanitized receiver error message. Use the same result for stored per-destination history, API errors and logs so the existing dashboard displays useful diagnostics. Preserve redirect/SSRF policy, single attempt and timeouts. Do not expose callback tokens, recording upload URLs or upload-key path segments; do not return arbitrary HTML/debug JSON. Cover receiver error responses, empty/malformed/large/slow bodies and redaction with focused local tests, then affected Rust and dashboard validation. No additional feature review, production request or deployment performed. User subsequently authorized committing and opening a pull request. Work follows merged recording inventory PR #153; main was clean at 171ff87 when starting. Committed as 69ce6a8 (fix: Show actionable callback failures) on fix/actionable-callback-errors and pushed with upstream tracking. No deployment performed. Failed callbacks now carry HTTP status/reason and recognized JSON or plain-text error text through stored delivery history, API error messages and logs. Reads are limited to 8192 bytes and 250ms; messages to 1000 characters. HTML and unrelated JSON fields are excluded; callback tokens, upload URLs/keys and known URL query credentials are redacted. Existing redirect/SSRF and overall timeout policies remain intact; connect/transport timeouts also have readable messages. Old persisted http_non_success entries cannot recover unsaved response details and require a new attempt after rollout. Verified: six diagnostics regressions failed against the old implementation, then passed; full cloud-router suite passes (147 passed, three existing isolated-NATS tests ignored), cargo check and all-target Clippy pass with the same pre-existing warnings, format/whitespace checks pass, all 40 dashboard tests and production build pass. Delivery history regression now asserts HTTP 503 plus the receiver message; UI formatter regression preserves useful HTTP 404 text and remains compatible with old generic errors. Browser/NATS tests were not rerun because the existing display/transport is unchanged; no feature review was run. Pull request #154: https://git.kaukus.no/Kaukus/streaming-engines/pulls/154 Title: fix: Show actionable callback failures. Head fix/actionable-callback-errors; base main. Open and ready for review. Complete branch diff contains only this follow-up's seven files in commit 69ce6a8, based directly on current origin/main (171ff87). Existing successful validation reused; format and whitespace checks confirmed before committing. Working tree clean.
Checklist
2 of 2 complete- Return and persist destination HTTP status plus bounded, sanitized receiver errors without leaking credentials or dumping HTML/debug payloads.
- Verify red-green HTTP diagnostics, retained delivery/redirect behavior, timeout/size limits, redaction and dashboard error rendering; run affected Rust checks and UI tests/build.
- Area
- Streaming
- Project
- streaming-engines
- Kind
- Bug
- Task ID
tsk_jfwys7wtxd- Updated