• Stefy Lanza (nextime / spora )'s avatar
    Manual disable/enable provider button (persistent across reboot) + cooldown recovery · 1d726a93
    Stefy Lanza (nextime / spora ) authored
    Adds a per-provider Disable/Enable button to the rotations page for both admin
    and users, exposing a manual disable that — unlike the failure cooldown — never
    auto-expires and persists across reboots.
    
    - providers/base.py: manual_disable()/manual_enable()/is_manually_disabled();
      manual disable takes precedence in is_rate_limited(); manual_enable() also
      clears any cooldown and resets the failure budget. Source of truth is the
      database (mirrored to cache as a fast path) so state survives restarts and
      cache flushes. Also: when a failure cooldown elapses, the provider is
      reactivated with a fresh failure budget instead of a hair-trigger.
    - database.py: dedicated provider_manual_disabled table (+migration) and
      get/set/clear helpers, user-scoped so a user's toggle never affects others.
    - dashboard: manual-disable / manual-enable / bulk manual-status endpoints; the
      rotations pages render and toggle the button state.
    
    Bump to 0.99.73.
    Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    1d726a93
Name
Last commit
Last update
..
dashboard Loading commit data...
extension Loading commit data...
i18n Loading commit data...
aisbf-oauth2-extension.zip Loading commit data...
dragsort.js Loading commit data...
favicon.ico Loading commit data...
i18n.js Loading commit data...