1. 12 Apr, 2026 2 commits
    • fix: harden token auth error handling to prevent info leakage · 59c582d1
      - Create model/errors.go to centralize all sentinel errors
      - ValidateAccessToken now returns error to distinguish DB failures
      - ValidateUserToken uses unified ErrTokenInvalid for all auth failures
        (expired/exhausted/disabled/not-found) to prevent token enumeration
      - authHelper and TokenAuthReadOnly use i18n messages instead of
        hardcoded Chinese strings
      - All err.Error() removed from user-facing responses; DB errors logged
        server-side and return generic "contact admin" message (HTTP 500)
      - Migrate ErrRedeemFailed, ErrTwoFANotEnabled to model/errors.go
      CaIon committed
    • fix: improve login error handling to distinguish database errors from auth failures · 2819e3a1
      ValidateAndFill now checks the DB query result and returns sentinel errors
      (ErrDatabase, ErrInvalidCredentials, ErrUserEmptyCredentials) instead of
      hardcoded Chinese strings. The controller maps each sentinel to the
      appropriate i18n message, so users see "please contact admin" on DB errors
      instead of a misleading "wrong password" message. Non-DB errors still
      return a unified vague response to avoid leaking user existence.
      CaIon committed
  2. 11 Apr, 2026 1 commit
    • feat: improve model price error UX with role-aware messages and cleaner UI · ed7f8399
      - Backend: differentiate error messages for admin vs regular users in price.go
      - Backend: include error_code in channel test response for structured error handling
      - Frontend: render model_price_error as a styled card in Playground with admin nav button
      - Frontend: show inline error details and settings link in channel test modal
      - Frontend: parse error codes from both SSE and non-streaming API responses
      - i18n: remove redundant "Settings" suffix from setting tab translations (en/fr/ru/ja/vi)
      - i18n: update "Group & Model Pricing" translations across all locales
      CaIon committed
  3. 09 Apr, 2026 9 commits
  4. 08 Apr, 2026 18 commits
  5. 07 Apr, 2026 6 commits
  6. 06 Apr, 2026 4 commits