- 17 Apr, 2026 7 commits
-
-
Admin username/ID was embedded directly into the log Content for quota changes and forced 2FA disable, leaking the operator's identity to the target user via their own usage log page. Move operator info into Other.admin_info so formatUserLogs strips it for non-admin viewers, and render it in the expand panel only for admins as "操作管理员". Closes #4301
CaIon committed -
Apply the same LIKE sanitization used for token search to SearchUserTopUps and SearchAllTopUps (reject %%, cap % count, require >=2 stripped chars, use ESCAPE '!') and bound COUNT with a 10000-row hard limit to avoid unbounded full-table scans. Also restrict user-facing list and search (GetUserTopUps, SearchUserTopUps) to records within the last 30 days via create_time. Admin endpoints (GetAllTopUps, SearchAllTopUps) remain unrestricted.
CaIon committed -
When an admin disables/deletes/promotes/demotes a user via ManageUser, explicitly evict the user cache and all of the user's token caches from Redis. This prevents a disabled user from continuing to make successful API requests until the user cache TTL expires, and ensures subsequent requests reload fresh status from the database.
CaIon committed -
Thread caller IP from webhook/admin controllers through model recharge functions and record a new RecordTopupLog entry with admin_info (server IP, caller IP, order payment method, callback payment method, system version). Frontend shows these fields in the expanded log row and the IP column for admins on top-up logs, while non-admins continue to see admin_info stripped by formatUserLogs.
CaIon committed -
CaIon committed
-
Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) from 5.7.1 to 5.9.0. - [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md) - [Commits](https://github.com/jackc/pgx/compare/v5.7.1...v5.9.0) --- updated-dependencies: - dependency-name: github.com/jackc/pgx/v5 dependency-version: 5.9.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Calcium-Ion committed -
* feat: support claude-opus-4-7 * feat: summarized display for opus 4.7
papersnake committed
-
- 16 Apr, 2026 3 commits
-
-
Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) from 5.7.1 to 5.9.0. - [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md) - [Commits](https://github.com/jackc/pgx/compare/v5.7.1...v5.9.0) --- updated-dependencies: - dependency-name: github.com/jackc/pgx/v5 dependency-version: 5.9.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] committed -
refactor: simplify ShouldDisableChannel function by removing unused parameters and commented-out code
CaIon committed -
CaIon committed
-
- 15 Apr, 2026 6 commits
-
-
feat: add PaymentMethod field to TopUp model and enhance payment method validation in topup controllers
CaIon committed -
CaIon committed
-
Calcium-Ion committed
-
Seefs committed
-
wans10 committed
-
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
-
- 13 Apr, 2026 7 commits
-
-
CaIon committed
-
feitianbubu committed
-
The Azure channel's GetRequestURL method only handled RelayModeResponses but missed RelayModeResponsesCompact. This caused compact requests to fall through to the generic deployments URL pattern, producing an incorrect path that Azure returns 404 for. This fix extends the existing responses API special handling to also cover the compact mode, appending /compact to the subUrl when the relay mode is ResponsesCompact. Affected URLs (before → after): - Normal Azure: /openai/deployments/{model}/responses/compact → /openai/v1/responses/compact - cognitiveservices: same pattern → /openai/responses/compact - Custom AzureResponsesVersion: properly respected for compact too Co-authored-by: 彭俊杰 <pengjunjie@onero.com>woan1136 committed -
CaIon committed
-
Show the next quota reset time for active subscriptions in the "My Subscriptions" section when a reset period is configured (next_reset_time > 0). Hidden when the subscription plan has no quota reset configured.
MS committed -
Refactor updateRow/addRow/removeRow to use functional setRows(prev => ...) and ref-based onChange/duplicateNames access, making columns useMemo stable across keystrokes so Semi UI Table does not re-mount Input components.
萧邦 committed -
CaIon committed
-
- 12 Apr, 2026 5 commits
-
-
CaIon committed
-
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] committed -
skynono committed
-
- 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 -
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
-
- 11 Apr, 2026 1 commit
-
-
- 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
-
- 09 Apr, 2026 9 commits
-
-
- Refactor token, redemption, and user quota inputs to prioritize monetary amount entry, with raw quota input collapsed by default - Add atomic quota adjustment modal for users with add/subtract/override modes, bypassing batch update queue for immediate DB consistency - Make user quota fields readonly in edit form; all modifications go through the dedicated adjust-quota modal via POST /api/user/manage - Add DecreaseUserQuota `db` parameter for direct DB writes, matching IncreaseUserQuota behavior - Support negative quota display in amount conversion helpers - Add i18n keys for all new UI strings across all locales
CaIon committed -
ci: refine PR template and add PR submission checks
Seefs committed -
Seefs committed
-
feat: fill in some custom fields for vllm-omini
Calcium-Ion committed -
Calcium-Ion committed
-
Seefs committed
-
NyaMisty committed
-
Seefs committed
-
Seefs committed
-
- 08 Apr, 2026 2 commits
-
-
Rewrite GroupGroupRatioRules and GroupSpecialUsableRules to group rules by user group in collapsible sections instead of a flat table. Default collapsed to reduce visual clutter when many rules exist. Fix i18n translations for ja, zh-TW with proper native text; add missing keys.
CaIon committed -
forsakenyang committed
-