mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-15 23:22:59 +08:00
feat(channel-monitor-v2): add user ranking toggle and keep missing TTFT neutral
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
This commit is contained in:
@@ -376,6 +376,7 @@ func (h *SettingHandler) GetSettings(c *gin.Context) {
|
||||
ChannelMonitorDefaultIntervalSeconds: settings.ChannelMonitorDefaultIntervalSeconds,
|
||||
ChannelMonitorHideThroughput: settings.ChannelMonitorHideThroughput,
|
||||
ChannelMonitorShowQuota: settings.ChannelMonitorShowQuota,
|
||||
ChannelMonitorHideUserRanking: settings.ChannelMonitorHideUserRanking,
|
||||
|
||||
GrokDefaultTextModel: settings.GrokDefaultTextModel,
|
||||
GrokCrossClientModelMapEnabled: settings.GrokCrossClientModelMapEnabled,
|
||||
|
||||
Reference in New Issue
Block a user