• erio's avatar
    feat(channel-monitor): add feature switch settings + fix extra_models save · 7da51240
    erio authored
    Settings:
    - New "功能开关" tab between 通用设置 and 安全与认证
    - ChannelMonitorEnabled toggle: runner skips scheduling when false,
      user-facing list returns empty
    - ChannelMonitorDefaultIntervalSeconds (15-3600): pre-fills interval
      when creating a new monitor; each monitor can still override
    
    Bug fix:
    - ModelTagInput now commits pending input on blur, not just Enter/Tab.
      Previously clicking "save" with an un-Enter'd extra model would drop
      the value (DB stored extra_models=[] even when user typed entries).
    
    Backend:
    - domain_constants: SettingKeyChannelMonitor{Enabled,DefaultIntervalSeconds}
    - SettingService.GetChannelMonitorRuntime: lightweight getter used by
      runner tick + user handler per-request (fail-open on DB error)
    - Runner tickDueChecks: bails early when feature disabled
    - ChannelMonitorUserHandler: checks feature flag before serving
    - Comment on runner doc: scheduler state is implicit (every tick re-reads
      ListEnabled from DB), so CRUD ops on monitors self-maintain the schedule
    
    Bump VERSION to 0.1.114.25
    7da51240
setting_handler.go 3.51 KB