Skip to content

Commit fb17d49

Browse files
feat(status-pages): restore third-party visual table with sparkline
Ports the uptime sparkline and filtered table output from PR #83 into the Rust implementation. The previous Rust code dumped raw JSON and silently ignored --search/--active flags. - Add typed structs for updog.ai response deserialization - Implement filter_providers() — case-insensitive search on provider_name or display_name, optional active-outage-only filter - Implement build_sparkline() — 30-day colored chart (green=operational, red=outage, dim·=pre-monitoring), time-injectable for testability - Replace comfy-table with a hand-rolled ASCII table: comfy-table counts ANSI escape bytes as visible width, inflating the UPTIME column; the manual renderer computes column widths from plain strings and inserts the sparkline verbatim so ANSI codes never distort alignment - Wire --search and --active flags through to third_party_list() in both main.rs and test_commands.rs - Add 14 unit tests covering filtering, sparkline edge cases, and table layout (headers, data, block chars) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 45ccc84 commit fb17d49

3 files changed

Lines changed: 421 additions & 8 deletions

File tree

0 commit comments

Comments
 (0)