- 12 Jun, 2025 3 commits
-
-
🐛 Fix the search button loading state to be consistent with other table components. The search button now properly shows loading animation when the table data is being fetched. Changes: - Update search button loading prop from `loading={searching}` to `loading={loading || searching}` in TokensTable.js - This ensures loading state is shown both when searching with keywords (searching=true) and when loading default data (loading=true) - Aligns with the behavior of other table components like ChannelsTable, UsersTable, and RedemptionsTable Before: Search button only showed loading when searching with keywords After: Search button shows loading for all table data fetch operationsApple\Apple committed -
🎨 - Replace `showTotal` with `formatPageText` in Dashboard table components - Unify pagination text format to match table components pattern - Update SettingsAnnouncements.js, SettingsAPIInfo.js, and SettingsFAQ.js - Change from "共 X 条记录,显示第 Y-Z 条" to "第 Y - Z 条,共 X 条" format - Ensure consistent user experience across all table components This change improves UI consistency by standardizing the pagination text format across Dashboard and table components.
Apple\Apple committed -
🚀 SUMMARY • Migrated Token, Task, Midjourney, Channel, Redemption tables to true server-side pagination. • Added total / page / page_size metadata in API responses; switched all affected React tables to consume new structure. • Implemented counting helpers: – model/token.go CountUserTokens – model/task.go TaskCountAllTasks / TaskCountAllUserTask – model/midjourney.go CountAllTasks / CountAllUserTask – model/channel.go CountAllChannels / CountAllTags • Refactored controllers (token, task, midjourney, channel) for 1-based paging & aggregated returns. • Redesigned `ChannelsTable.js`: – `loadChannels`, `syncPageData`, `enrichChannels` for tag-mode grouping without recursion. – Fixed runtime white-screen (maximum call-stack) by removing child duplication. – Pagination, search, tag-mode, idSort all hot-reload correctly. • Removed unused `log` import in controller/midjourney.go. BREAKING CHANGES Front-end consumers must now expect data.items / total / page / page_size from list endpoints (`/api/channel`, `/api/task`, `/api/mj`, `/api/token`, etc.).
Apple\Apple committed
-
- 11 Jun, 2025 3 commits
-
-
🎨 🎨 style(dashboard): Optimize the layout of the Uptime card legend on the dashboard to resolve the issue where the last monitoring item is obscuredApple\Apple committed -
Apple\Apple committed
-
Apple\Apple committed
-
- 10 Jun, 2025 23 commits
-
-
✨ Previously, the uptime status endpoint returned HTTP 400 with “未配置 Uptime Kuma URL/Slug” when either option was not set, resulting in frontend error states. Changes: • Treat absence of `UptimeKumaUrl` or `UptimeKumaSlug` as a valid scenario. • Immediately respond with HTTP 200, `success: true`, and an empty `data` array. • Preserve existing behavior when both options are provided. This prevents unnecessary error notifications on the dashboard when Uptime Kuma integration is not configured and improves overall UX.
Apple\Apple committed -
💄 * Removed `size="middle"` and `centered` props from the column-selector `Modal` in `ChannelsTable.js` to match the visual style used in `LogsTable`. * Re-added `size="middle"` to the main `Table` component to preserve the original table sizing. * Ensures consistent UI/UX across both channel and log column settings modals.
Apple\Apple committed -
Apple\Apple committed
-
feat: add column visibility settings for channels
同語 committed -
Apple\Apple committed
-
fix playground-sse
同語 committed -
Summary • Centralized uptime status definition via `uptimeStatusMap`, containing color / label / text for each status. • Generated `uptimeLegendData`, `getUptimeStatusColor`, `getUptimeStatusText` directly from the map, removing multiple switch-case blocks. UI Improvements 1. Added statuses 2 (High Latency) & 3 (Maintenance) with dedicated colors. 2. Relocated status legend to a styled footer wrapped in a borderless sub-Card; header now only shows title + refresh button. 3. Footer (and its negative margin) renders only when `uptimeData` is present, preventing empty legend display. 4. Applied rounded, blurred badge style and always-on shadow to legend container for clearer separation. Maintenance • Simplified code paths, reduced duplication, and improved readability without breaking existing functionality.
Apple\Apple committed -
Apple\Apple committed
-
⏱ Introduce application uptime monitoring to improve observability and reliability. • Add UptimeService to track process start time and expose uptime in seconds • Create /health/uptime endpoint returning the current uptime in JSON format • Integrate uptime metric into existing health-check middleware • Update README with instructions for consuming the new endpoint • Add unit tests covering UptimeService and new health route This change enables operations teams and dashboards to programmatically determine how long the service has been running, facilitating automated alerts and trend analysis.
Apple\Apple committed -
🔧 RedwindA committed -
skynono committed
-
CaIon committed
-
🔧 CaIon committed -
🔧 - Modified returnUrl configuration in RequestEpay function - Changed payment success redirect path to match updated frontend routing - Updated controller/topup.go line 116 to use correct callback path
Apple\Apple committed -
Apple\Apple committed
-
✨ - Add SettingsAnnouncements component with full CRUD operations for system announcements * Support multiple announcement types (default, ongoing, success, warning, error) * Include publish date, content, type classification and additional notes * Implement batch operations and pagination for better data management * Add real-time preview with relative time display and date formatting - Add SettingsFAQ component for comprehensive FAQ management * Support question-answer pairs with rich text content * Include full editing, deletion and creation capabilities * Implement batch delete operations and paginated display * Add validation for complete Q&A information - Integrate announcement and FAQ modules into DashboardSetting * Add unified configuration interface in admin console * Implement auto-refresh functionality for real-time updates * Add loading states and error handling for better UX - Enhance backend API support in controller and setting modules * Add validation functions for console settings * Include time and sorting utilities for announcement management * Extend API endpoints for announcement and FAQ data persistence - Improve frontend infrastructure * Add new translation keys for internationalization support * Update utility functions for date/time formatting * Enhance CSS styles for better component presentation * Add icons and visual improvements for announcements and FAQ sections This implementation provides administrators with comprehensive tools to manage system-wide announcements and user FAQ content through an intuitive console interface.
Apple\Apple committed -
✨ CaIon committed -
🔧 CaIon committed -
🔧 CaIon committed -
🔧 CaIon committed -
🎨 - Replace IconSearch with Server icon for API info card title to better represent server/API related content - Add Server imports from lucide-react This change improves the semantic meaning of icons and provides better visual representation of their respective functionalities.
Apple\Apple committed -
🔧 - Refactor api_info.go to console.go for broader console settings support - Update URL regex pattern to accept both domain names and IP addresses - Add support for IPv4 addresses with optional port numbers - Improve validation to handle formats like http://192.168.1.1:8080 - Add ValidateConsoleSettings function for extensible settings validation - Maintain backward compatibility with existing ValidateApiInfo function - Add comprehensive comments explaining supported URL formats Fixes issue where IP-based URLs were incorrectly rejected as invalid format. Prepares infrastructure for additional console settings validation.
Apple\Apple committed -
🔧 - Update URL regex pattern to accept both domain names and IP addresses - Add support for IPv4 addresses with optional port numbers - Improve validation to handle formats like http://192.168.1.1:8080 - Add comprehensive comments explaining supported URL formats - Maintain backward compatibility with existing domain-based URLs Fixes issue where IP-based URLs were incorrectly rejected as invalid format.
Apple\Apple committed
-
- 09 Jun, 2025 11 commits
-
-
🔧 CaIon committed -
🔧 CaIon committed -
⚡ Add request deduplication mechanism to prevent duplicate GET requests to the same endpoint within the same timeframe, significantly reducing unnecessary network overhead. **Changes:** - Add `patchAPIInstance()` function to intercept and deduplicate GET requests - Implement in-flight request tracking using Map with URL+params as unique keys - Apply deduplication patch to both initial API instance and `updateAPI()` recreated instances - Add `disableDuplicate: true` config option to bypass deduplication when needed **Benefits:** - Eliminates redundant API calls caused by component re-renders or rapid user interactions - Reduces server load and improves application performance - Provides automatic protection against accidental duplicate requests - Maintains backward compatibility with existing code **Technical Details:** - Uses Promise sharing for identical concurrent requests - Automatically cleans up completed requests from tracking map - Preserves original axios functionality with minimal overhead - Zero breaking changes to existing API usage Addresses the issue observed in EditChannel.js where multiple calls were made to the same endpoints during component lifecycle.
Apple\Apple committed -
🎨 - Remove IconForward import from @douyinfe/semi-icons - Add Route icon import from lucide-react - Update model redirection indicator in LogsTable component The Route icon better represents the concept of model redirection compared to the generic forward arrow, providing clearer visual context for users when models are mapped to different upstream models.
Apple\Apple committed -
🎨 Apple\Apple committed -
🎨 Apple\Apple committed -
🎨 - Hide scrollbars for .semi-layout, .semi-layout-content, and .semi-sider - Set scrollbar width and height to 0 for webkit browsers - Add cross-browser scrollbar hiding support (webkit, firefox, IE/Edge) - Change Content container overflow from 'auto' to 'hidden' on desktop - Remove redundant scrollbar styling (thumb, hover, track styles) This ensures that all semi-layout related components have no visible scrollbars and prevents vertical scrolling functionality entirely. Files modified: - web/src/index.css - web/src/components/layout/PageLayout.js
Apple\Apple committed -
🎨 - Remove system name display from homepage title - Replace with unified gateway branding: "统一的大模型接口网关" - Add subtitle highlighting key benefits: price, stability, no subscription - Implement language-specific title rendering: - English: Two-line layout ("The Unified" / "LLMs API Gateway") - Chinese: Single-line layout for better readability - Increase title font sizes for better visual hierarchy - Adjust vertical padding for improved centering - Enhance overall visual appeal and user experience This update modernizes the homepage presentation and provides better localization support for different language preferences.Apple\Apple committed -
📱 - Convert copy button to Input suffix for cleaner UI design - Add responsive grid layout for balance cards and preset amounts - Mobile (< md): single column layout for better readability - Desktop (>= md): multi-column layout for space efficiency - Implement bottom fixed payment panel on mobile devices - Fixed positioning for easy access to payment options - Includes custom amount input and payment method buttons - Auto-hide on desktop to maintain original layout - Improve mobile payment flow with sticky bottom controls - Add proper spacing to prevent content overlap with fixed elements - Maintain consistent functionality across all breakpoints This update significantly improves the mobile user experience by making payment controls easily accessible without scrolling, while preserving the desktop layout and functionality.
Apple\Apple committed -
Apple\Apple committed
-
🐛 - Replace local isDarkMode state with global useTheme hook in TopUp component - Replace local isDarkMode state with global useTheme hook in PersonalSetting component - Remove redundant theme detection useEffect hooks that caused state inconsistency - Update theme condition checks from isDarkMode to theme === 'dark' - Fix issue where components showed dark gradients in light mode due to theme state mismatch - Clean up trailing commas in import statements This ensures all components stay synchronized with the global theme system managed by HeaderBar's theme toggle button.
Apple\Apple committed
-