• Stefy Lanza (nextime / spora )'s avatar
    Disable a provider per rotation, not globally · f8d7d79d
    Stefy Lanza (nextime / spora ) authored
    Previously the Disable button on a rotation flipped a single global
    provider_manual_disabled flag: disabling a provider in one rotation removed it
    from every rotation, from autoselect, and (before this series) from direct API
    calls too. That is not what "disable in this rotation" should mean.
    
    Disabling is now membership in a single rotation, expressed as `enabled: false`
    on that provider's entry in the rotation config.
    
    handlers.py: the rotation scan no longer consults the global manual flag. It
    skips an entry when `provider.get('enabled') is False` (cheap, before building
    the handler), and otherwise skips only on a genuine auto-disable cooldown
    (failure threshold / usage limit) via the new _provider_in_availability_cooldown
    helper. is_provider_disabled_cheap is no longer used here (import dropped).
    Autoselect inherits this since it dispatches through handle_rotation_request.
    
    rotations.html / user_rotations.html: the per-provider toggle flips
    `enabled` on that rotation entry and persists just that rotation (full-config
    POST for admin, single-rotation POST for DB users), updating only that entry's
    button instead of every rotation sharing the provider. The global
    manual-status fetch is gone.
    
    The legacy global manual-disable endpoints remain but are now inert for
    rotation and direct-call gating.
    Co-Authored-By: 's avatarClaude Opus 4.8 (1M context) <noreply@anthropic.com>
    f8d7d79d
Name
Last commit
Last update
aisbf Loading commit data...
config Loading commit data...
docs Loading commit data...
static Loading commit data...
templates Loading commit data...
tests Loading commit data...
.gitignore Loading commit data...
AI.PROMPT Loading commit data...
API_EXAMPLES.md Loading commit data...
BUILD_DEPLOY.md Loading commit data...
CHANGELOG.md Loading commit data...
DEBUG_GUIDE.md Loading commit data...
DOCUMENTATION.md Loading commit data...
ENDPOINTS.md Loading commit data...
KILO_OAUTH2.md Loading commit data...
LICENSE.txt Loading commit data...
MANIFEST.in Loading commit data...
MISSING_ENDPOINTS.md Loading commit data...
PYPI.md Loading commit data...
QUICK_START_PAYMENT.md Loading commit data...
README.md Loading commit data...
RUNPOD_IMPLEMENTATION_PLAN.md Loading commit data...
SUBSCRIPTION_PRICING_FEATURE.md Loading commit data...
TODO.md Loading commit data...
TORRC_SETUP.md Loading commit data...
aisbf.sh Loading commit data...
build.sh Loading commit data...
chatgpt-api-implementation-guide.md Loading commit data...
clean.sh Loading commit data...
cli.py Loading commit data...
codex-oauth-implementation-guide.md Loading commit data...
main.py Loading commit data...
main.py.bak Loading commit data...
minio-archive-plan.md Loading commit data...
pyproject.toml Loading commit data...
requirements.txt Loading commit data...
screenshot.png Loading commit data...
setup.py Loading commit data...
start_proxy.sh Loading commit data...
verify_release.sh Loading commit data...