Commit Graph
5927 Commits
Author SHA1 Message Date
CaIon 55b00fcf09 feat(advanced-custom): remove fallback option and enhance path matching for advanced custom routes 2026-06-18 20:29:24 +08:00
Seefs 3f2c0aeda7 feat: advanced custom channel (#5590) 2026-06-18 18:00:27 +08:00
CaIon 21d4d18dfc feat(rankings): remove 'all' period option from rankings and related components 2026-06-18 17:56:45 +08:00
CaIon 50784c10ee feat(api): change subscription product options and catalog endpoints to use GET method 2026-06-18 17:15:05 +08:00
CaIon b8f5ba4a31 feat(overview): update setup guide expansion logic 2026-06-18 16:59:12 +08:00
CaIon fd557064d3 feat(subscription): add descriptions for plan purchase amounts in multiple languages 2026-06-18 16:53:57 +08:00
CaIon f6c260437c feat(subscription): add support for wallet overflow and downgrade group functionality in subscription plans 2026-06-18 16:44:12 +08:00
CaIon 4e8b5e9b13 feat(data-table): add column visibility storage functionality for API keys, channels, and usage logs 2026-06-18 16:03:06 +08:00
CaIon 1aa77e6698 fix(ui): enforce HTTPS for backend-provided image URLs and improve URL validation 2026-06-18 14:56:44 +08:00
CaIon 06f9dec95b feat(recharge): enhance payment method buttons with minimum top-up information 2026-06-18 14:40:06 +08:00
Seefs 97eadbefa6 fix(oauth): clear bindings when hard deleting users (#5582) 2026-06-18 12:16:23 +08:00
CaIon 1414569b63 feat(stat): enhance log stat cards with compact number formatting and improved layout 2026-06-18 12:13:53 +08:00
CaIon df013946d7 feat(performance): add compact formatting for latency and throughput metrics 2026-06-18 12:03:11 +08:00
CaIon 208d86e96e feat(performance): add recent success rates to model summary and enhance metrics retrieval 2026-06-18 12:00:03 +08:00
CaIon a37ce3d6b5 fix: clarify channel test results 2026-06-18 11:59:17 +08:00
CaIon a95655a245 feat(performance): implement success rate grading and enhance UI representation 2026-06-17 22:28:36 +08:00
CaIon 3cc2b1bea4 feat(channel-test-dialog): add functionality to delete failed models and copy selected models 2026-06-17 21:31:20 +08:00
CaIon 122a730a77 feat(layout): improve settings form layout and enhance textarea overflow handling 2026-06-17 21:16:50 +08:00
同語 e5250d6403 fix(data-table): prevent component cell clipping (#5536)
Merge pull request #5536 from QuantumNous/fix/data-table-component-cells
2026-06-17 21:15:04 +08:00
CaIon 21636fc1b5 feat(performance): enhance uptime calculations and chart data handling 2026-06-17 21:10:54 +08:00
同語 26b6b36497 feat: persist table page size across navigation/sessions (#5377)
Merge pull request #5403 from feitianbubu/feat/persist-table-page-size
2026-06-17 21:10:33 +08:00
CaIon 2154fce094 feat(payment): enhance payment method configuration with icons and improve UI interactions 2026-06-17 20:47:24 +08:00
yyhhyyyyyy a2f3ac02e4 fix: complete channel model batch testing (#5532) 2026-06-17 20:04:58 +08:00
skynono 502858d35d fix: 工具调用 arguments 为空时保留 tool_use 块 (#5543) 2026-06-17 17:07:05 +08:00
Seefs 8d87d5fd8b test: clean up reward-hacking backend tests (#5563) 2026-06-17 16:47:52 +08:00
Seefs b798e3496f fix: aws ak/sk context management (#5547) 2026-06-17 16:17:07 +08:00
CaIon 3b345cfd27 chore: remove legacy OAuth controllers 2026-06-17 16:13:29 +08:00
yyhhyyyyyy 9b9b19e9d2 fix(web): prevent usage log details dialog from clipping bottom content (#5533) 2026-06-16 23:26:42 +08:00
Seefs 43c7e30a47 fix: restore custom home iframe viewport height (#5545) 2026-06-16 23:15:39 +08:00
QuentinHsu 34287afec7 fix(data-table): prevent component cell clipping
- apply table-level truncation only to primitive text cells.
- let tables expand to content width with horizontal scrolling to avoid column overlap.
- update model badges to show full model names on one line.
2026-06-16 17:23:25 +08:00
t0ng7u eb86311604 style(ui): align wallet and profile interactions 2026-06-16 00:44:33 +08:00
同語 b36888ba9c fix(channels): refresh channel test dialog status (#5517)
Merge pull request #5517 from yyhhyyyyyy/fix/channel-test-dialog-status-refresh
2026-06-15 23:53:48 +08:00
同語 426c9664e9 fix: missing newline at end of data-table-row.tsx
Add a newline at the end of the file.
2026-06-15 23:53:12 +08:00
同語 743520d55c Merge branch 'main' into fix/channel-test-dialog-status-refresh 2026-06-15 23:44:48 +08:00
同語 b4176de81a fix(data-table): capture row selection state in memo comparison (#5524)
Merge pull request #5524 from RedwindA/fix/channelCheckbox
2026-06-15 23:31:21 +08:00
RedwindA 179f69dfca fix(data-table): compare column class callback 2026-06-15 21:11:46 +08:00
RedwindA 8477f6288b fix(data-table): capture row selection state in memo comparison
TanStack row objects may keep a stable reference while their selection
state changes, so reading row.getIsSelected() inside the React.memo
comparator could miss updates. Capture isSelected as an explicit prop
and compare it instead, ensuring rows re-render when selection toggles.
2026-06-15 20:52:08 +08:00
yyhhyyyyyy 24488773cb Merge branch 'QuantumNous:main' into fix/channel-test-dialog-status-refresh 2026-06-15 17:01:37 +08:00
yyhhyyyyyy a59e0eb59a style(data-table): modernize header selector utilities 2026-06-15 17:00:16 +08:00
yyhhyyyyyy c67c6fc740 fix(channels): remove effect-driven test dialog state resets 2026-06-15 16:56:36 +08:00
yyhhyyyyyy be60e25a94 fix(channels): refresh channel test dialog status 2026-06-15 16:42:41 +08:00
Seefs 9bc1a53dea fix: fix CC Switch model selector (#5515) 2026-06-15 16:35:18 +08:00
QuentinHsu aeea3fae9b fix(keys): refresh API key form options (#5512)
- enable model and group queries only while the API key drawer is open and remove the five-minute stale window so the form uses fresh backend options.
- align the API key table group-ratio query key to avoid duplicate caches for the same group endpoint.
2026-06-15 14:53:23 +08:00
QuentinHsu 3c1bb0a74f fix(web): prevent list cell text and badge overflow (#5510)
* fix(ui): prevent table cell text overflow

- add default truncation with hover details for text cells in shared and static data tables to prevent content from spilling into adjacent columns.
- adjust API key group, model, and IP restriction columns to fix badge overlap and left alignment drift.
- reuse a shared truncated cell component and add width constraints for composite badge cells.

* fix(table): prevent badge content from overflowing columns

- make table text and badge cells shrink within constrained columns so long values truncate instead of bleeding into adjacent cells.
- add a shared BadgeCell wrapper to keep badge alignment consistent across API keys and other list pages.
- update affected list views to use constrained wrappers for group, provider, pricing, OAuth, and API info values.
2026-06-15 14:52:57 +08:00
CaIon 1ac0f5807a feat(audit): add authentication method tracking in audit logs 2026-06-13 16:12:22 +08:00
Seefs 51475c8062 fix: only fetch deployment settings on deployments page (#5466) 2026-06-13 00:10:26 +08:00
Seefs 1507229238 fix: add deleted user status filter (#5464) 2026-06-13 00:03:28 +08:00
Seefs 1292b8b2d5 chore: update Codex channel (#5461) 2026-06-12 23:45:15 +08:00
Calcium-Ion d0c4305a16 feat(audit): add localized security audit logs (#5462) 2026-06-12 23:40:40 +08:00
QuentinHsuandt0ng7u 27b2b2c4b9 perf(data-table): improve data table layout and badge display (#5460)
* perf(table): use percentage-based column widths

- compute each column's width as a percentage of total column size instead of a fixed pixel value, letting the colgroup scale fluidly with the table container.

* perf(data-table): reduce unnecessary re-renders across table components

- stabilize commitSearchValue in toolbar by reading table/searchKey via refs, eliminating recreation on every parent render
- store onColumnFiltersChange in a ref so debounce effect is not reset when the caller passes a new function reference each render
- wrap DataTableRow in React.memo with a custom comparator that ignores getColumnClassName reference churn
- memoize selectedValues Set in DataTableFacetedFilter and wrap with React.memo to prevent rerenders on unrelated state changes
- cache cell meta reads in CompactRow and FallbackRow to a single pass per row; memoize hasCompactMeta in MobileCardList
- memoize hideable columns list in DataTableViewOptions and colSpan in DataTableView
- remove tableClassName and colgroup from scroll-sync effect deps; cache toolbar button NodeList via useLayoutEffect to avoid per-keydown DOM queries

* perf(data-table): replace scroll-sync split header with CSS sticky

- remove JS scroll-sync effect and event listener between split header and body containers.
- merge separate header/body tables into a single scrollable table element, reducing DOM complexity.
- apply CSS sticky positioning to the header for a simpler, hardware-accelerated freeze effect.

* fix(data-table): replace opacity muted colors with color-mix

- switch from bg-muted/50 and bg-muted/30 to color-mix(in oklch) to produce opaque blended backgrounds that prevent scroll content from showing through pinned cells.
- expose --table-header-bg CSS variable so pinned header cells inherit the exact same computed color as the thead background.
- add group class to TableRow to enable group-hover selectors on pinned cell styles.

* feat(data-table): support column pinning via meta.pinned

- add pinned?: 'left' | 'right' to ColumnMeta so pinning is declared once in the column definition and applies to both header and body automatically
- DataTableView derives pinnedColumns from meta.pinned at runtime, merged with any explicit pinnedColumns prop; explicit entries take precedence
- add header and meta.pinned: 'right' to all actions columns across channels, users, api-keys, redemption-codes, models, deployments, and subscriptions tables

* style(row-actions): align action buttons to leading edge of column

* refactor(data-table): extract BadgeListCell and centralize badge alignment

- add BadgeListCell component to data-table for badge lists with overflow tooltip, replacing duplicated renderLimitedItems helpers in channels, models, and pricing columns
- move StatusBadge -ml-1.5 alignment into the component itself via a table-cell context selector, so callers no longer need manual offset wrappers
- remove the table-cell-level -ml-1.5 selector from TableCell now that alignment is handled by StatusBadge directly

* style(row-actions): offset action buttons to align with column header text

* refactor(data-table): consolidate mobile meta into ColumnMeta declaration

- move mobileTitle, mobileBadge, mobileHidden into the global ColumnMeta augmentation so the type is shared across the project
- remove the local MobileColumnMeta interface and getCellMeta helper from mobile-card-list.tsx
- direct col.columnDef.meta access is now type-safe without explicit casting

* refactor(data-table): simplify column header and meta config

- auto-render string `header` values via DataTableColumnHeader so sortable/non-sortable columns work without boilerplate function wrappers
- promote mobile layout hints (mobileTitle, mobileBadge, mobileHidden) into the global ColumnMeta type, removing the local MobileColumnMeta cast in mobile-card-list
- migrate all column files from `meta: { label }` to top-level `header: t('...')`, cutting ~180 lines of repetitive template code
- ViewOptions and MobileCardList label resolution now reads string header first, then meta.label as fallback

* feat(status-badge): add text and underline display types

- introduce StatusBadgeType ('badge' | 'text' | 'underline') and StatusBadgeTypeContext so ancestors can override rendering without touching call sites
- mobile card field rows now use the text type via context, showing badges as plain colored text instead of pills
- ProviderBadge gains data-slot='provider-badge' to enable targeted CSS resets in compact layouts
- replace the implicit [[data-slot=table-cell]>&]:-ml-1.5 rule with explicit -ml-1.5 at each column call site

* refactor(data-table): simplify table filtering internals

- derive toolbar search state from the active table filter to avoid render-time ref writes.
- extract faceted filter selection updates into a pure helper for clearer single and multi-select behavior.
- split pinned column resolution into focused helpers so explicit and meta pins merge predictably.

Co-authored-by: t0ng7u <dev@aiass.cc>
2026-06-12 23:18:22 +08:00