1. 15 Apr, 2026 1 commit
    • fix: use json.RawMessage for Instructions field in OpenAIResponsesResponse (#4260) · ee7cedd5
      The Instructions field in OpenAIResponsesResponse was defined as string,
      but upstream providers may return null or non-string JSON values for this
      field. This causes json.Unmarshal to fail, resulting in HTTP 500 on
      /v1/responses endpoint.
      
      Other fields in the same struct (Status, ToolChoice, Truncation, etc.)
      already use json.RawMessage. The request-side DTO (openai_request.go)
      also defines Instructions as json.RawMessage. This fix aligns the
      response-side with both patterns.
      
      Co-authored-by: 40005415C\Administrator <linbin@envicool.com>
      Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
      power committed
  2. 13 Apr, 2026 6 commits
  3. 12 Apr, 2026 5 commits
  4. 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
  5. 09 Apr, 2026 9 commits
  6. 08 Apr, 2026 18 commits