mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-15 23:22:59 +08:00
Give operators a V2 setting (channel_monitor_hide_user_ranking) to hide the user ranking tab and the /users payload from non-admin channel monitor v2 viewers. Default false (ranking stays visible). Admin endpoints and views always keep the ranking. Also stop painting first-token '-' as a red/empty failure when traffic is sync-only and has no first-token samples: a missing TTFT is "not applicable" (health-unknown), not a breached latency budget. Changes: - new setting key + fail-open parse (only literal "true" hides), wired through public/admin settings DTOs, handlers, and the V2 runtime - ChannelMonitorV2Service.Users returns an empty list to non-admin viewers when the toggle is on - frontend: feature flag + SettingsView toggle + user V2 view hides the ranking tab and skips the /users call - monitorFormat: isTtftUnavailable/ttftDisplayState keep missing TTFT neutral Tests: - setting parse defaults to visible and only literal "true" hides - V2 Users honors the toggle for non-admin viewers - frontend MetricCell/monitorFormat keep missing TTFT neutral