1. 24 Apr, 2026 9 commits
  2. 23 Apr, 2026 7 commits
    • Stefy Lanza (nextime / spora )'s avatar
      Fix Stripe charge settling: attach PM to customer on add, use CIT for subscription upgrades · 7237e508
      Stefy Lanza (nextime / spora ) authored
      When a card was added via billing page, it was only stored in the DB — never
      attached to the Stripe customer. This meant every charge was on an unattached
      PM, which Stripe processes differently.
      
      For subscription upgrades the user is actively present, so off_session=True
      was incorrect: it marks the charge as a Merchant-Initiated Transaction (MIT)
      which settles slower than Customer-Initiated (CIT). Other sites that use
      Stripe's frontend SDK do CITs, which is why their charges clear faster.
      
      - dashboard_add_payment_method_stripe: attach PM to Stripe customer and set
        as customer default immediately when the card is added
      - auto_charge: add off_session parameter (default True for existing auto
        top-up/renewal callers); document the distinction
      - dashboard_subscribe_tier: pass off_session=False so the upgrade charge is
        processed as a CIT and settles at normal speed
      7237e508
    • Stefy Lanza (nextime / spora )'s avatar
      Fix Stripe charge status check, payment feedback, and modal HTML rendering · f8c830a0
      Stefy Lanza (nextime / spora ) authored
      - auto_charge: verify payment_intent.status is succeeded/processing before returning success; add description/metadata params so subscription charges are labeled correctly in Stripe
      - pricing: redirect to ?success= after upgrade/downgrade so the persistent server-side banner shows instead of a 1.5s toast that disappears on reload
      - pricing GET endpoint: pass success/error query params to template context
      - base modal: support html:true option in open() so showConfirm can render HTML content; update showConfirm signature to accept html flag
      - pricing: pass html=true to showConfirm so the upgrade confirmation renders bold/colored text instead of raw tags
      f8c830a0
    • Stefy Lanza (nextime / spora )'s avatar
      Granular CRUD with hot-reload, pagination, searchable selects, model autocomplete · 45435f4b
      Stefy Lanza (nextime / spora ) authored
      - Per-item save/delete API endpoints for providers, rotations, autoselects (admin + user)
      - Config hot-reload on every change without server restart
      - Provider list pagination (10/page) with search/filter
      - Searchable datalist selects for >25 providers or models
      - Model name autocomplete from provider's configured model list
      - Fix JS key-escaping bug that broke rendering with special chars in keys
      45435f4b
    • Stefy Lanza (nextime / spora )'s avatar
      a044de47
    • Stefy Lanza (nextime / spora )'s avatar
      0.99.58 · 36ec65ee
      Stefy Lanza (nextime / spora ) authored
      36ec65ee
    • Stefy Lanza (nextime / spora )'s avatar
      Fix Claude CLI streaming: pass-through SSE strings, handle assistant/tool_use... · 65fc640d
      Stefy Lanza (nextime / spora ) authored
      Fix Claude CLI streaming: pass-through SSE strings, handle assistant/tool_use events, non-streaming via --output-format json
      65fc640d
    • Stefy Lanza (nextime / spora )'s avatar
      0.99.57 · 23f7362e
      Stefy Lanza (nextime / spora ) authored
      Bump version to 0.99.57; add Claude CLI proxy mode
      
      - Add aisbf/cli_mode.py: detect claude binary in PATH at startup
      - Add ClaudeCliSessionManager: per-user isolated temp config dirs with
        10-minute idle cleanup and asyncio subprocess-based request proxying
      - Add ClaudeProviderHandler CLI methods: _get_cli_credentials,
        _messages_to_cli_prompt, _handle_cli_streaming_request,
        _handle_cli_request, _oauth_tokens_to_cli_credentials
      - Wire CLI mode check into _handle_request_with_model; falls through to
        HTTP API mode when no CLI credentials are configured
      - Add 'Use Claude CLI mode' checkbox in provider config (both admin and
        user templates): derives credentials from existing OAuth2 tokens
      - Add explicit CLI credentials file upload (file_type=cli_credentials);
        DB users: stored in user_oauth2_credentials; admin: path in providers.json
      - Update Claude provider warning notices to scope risk to HTTP API mode
        and clarify that claude -p is permitted by Claude's terms of service
      - Update CHANGELOG.md, DOCUMENTATION.md, README.md
      23f7362e
  3. 22 Apr, 2026 24 commits