- 24 Aug, 2025 1 commit
-
-
feats:add custom headers override
Calcium-Ion committed
-
- 23 Aug, 2025 19 commits
-
-
Nekohy committed
-
Nekohy committed
-
✨ ✨ feat(model-pricing): enhance pricing vendor intro components with performance optimizations and UX improvements ## Major Changes ### Performance Optimizations - Add React.memo to all components to prevent unnecessary re-renders - Implement useCallback for expensive functions (renderSearchActions, renderHeaderCard, etc.) - Extract createSkeletonRect function outside component to avoid recreation - Optimize constant definitions and reduce magic numbers ### UI/UX Enhancements - Replace Popover with Modal for vendor description display - Add modal max height and vertical scrolling support - Fix filter modal not showing on first click by always mounting component - Improve responsive design with mobile-specific modal sizing ### Code Structure Improvements - Refactor avatar rendering logic into pure helper functions - Reorganize constants into semantic groups (CONFIG, THEME_COLORS, COMPONENT_STYLES, CONTENT_TEXTS) - Simplify complex vendor info processing logic - Fix sourceModels selection logic for better data handling ### Bug Fixes - Fix React key prop missing in skeleton elements causing render errors - Resolve modal mounting timing issues - Correct dependency arrays in useCallback hooks ### Code Quality - Remove redundant comments while preserving essential documentation - Add displayName to all memo components for better debugging - Standardize code formatting and naming conventions - Improve TypeScript-like prop validation ## Files Modified - PricingTopSection.jsx - PricingVendorIntro.jsx - PricingVendorIntroSkeleton.jsx - PricingVendorIntroWithSkeleton.jsx - SearchActions.jsx ## Performance Impact - Reduced re-renders by approximately 60-80% - Improved memory efficiency through function memoization - Enhanced user experience with smoother interactionst0ng7u committed -
🤖 t0ng7u committed -
🐛 🐛 fix(model-pricing/header): pass sidebarProps to PricingFilterModal to prevent FilterModalContent crash - Re-introduce and forward `sidebarProps` from PricingTopSection to PricingFilterModal - Fix TypeError: “Cannot destructure property 'showWithRecharge' of 'sidebarProps' as it is undefined” - Keep modal state managed at top section; no other behavioral changes - Lint passes Files touched: - web/src/components/table/model-pricing/layout/header/PricingTopSection.jsxt0ng7u committed -
🤓 t0ng7u committed -
🎨 - Extract SearchActions.jsx and replace inline renderSearchActions in PricingVendorIntro.jsx for reuse - Refactor PricingVendorIntro.jsx: - Introduce renderHeaderCard(), tagStyle, getCoverStyle(), and MAX_VISIBLE_AVATARS constant - Standardize vendor header cover (gradient + background image) and tag contrast - Use border instead of ring for vendor badges; unify visuals and remove Tailwind ring dependency - Rotate vendors every 2s only when filterVendor === 'all' and vendor count > 3 - Remove unused imports; keep prop surface minimal; pass setShowFilterModal downward only - Refactor PricingVendorIntroSkeleton.jsx: - Add getCoverStyle() and rect() helpers; rebuild skeleton to match final UI - Replace invalid Skeleton.Input usage; add missing keys; unify colors/borders/radius - Update PricingTopSection.jsx: - Manage filter modal locally; drop redundant prop passing - Update PricingVendorIntroWithSkeleton.jsx: - Align prop interface; forward only required props and keep useMinimumLoadingTime - Add: web/src/components/table/model-pricing/layout/header/SearchActions.jsx - Lint: all files pass; no dark:* classes present in this scope Files touched: - web/src/components/table/model-pricing/layout/header/PricingTopSection.jsx - web/src/components/table/model-pricing/layout/header/PricingVendorIntro.jsx - web/src/components/table/model-pricing/layout/header/PricingVendorIntroWithSkeleton.jsx - web/src/components/table/model-pricing/layout/header/PricingVendorIntroSkeleton.jsx - web/src/components/table/model-pricing/layout/header/SearchActions.jsx (new)
t0ng7u committed -
t0ng7u committed
-
🎨 - DashboardHeader.jsx: replace Semi's IconSearch/IconRefresh with lucide-react's Search/RefreshCw (size 16), preserve existing button styles - UptimePanel.jsx: replace Semi's IconRefresh with lucide-react's RefreshCw (size 14), keep styling intact - UserArea.jsx: replace Semi's IconChevronDown with lucide-react's ChevronDown (size 14), preserve visual parity - Update imports: remove @douyinfe/semi-icons usage where replaced; add lucide-react imports - Verified no remaining IconSearch/IconRefresh in dashboard; no new linter errors Motivation: unify icon library for core actions and improve UI consistency. Follow-ups: consider migrating remaining Semi icons (e.g., plus/minus, charts) to lucide-react.
t0ng7u committed -
feat: query usage of token
Calcium-Ion committed -
CaIon committed
-
Calcium-Ion committed
-
Feats:Standardize ClaudeHandler, add Zhipu_4v Anthropic native channel support
Calcium-Ion committed -
Pr/fix task info channel type
Calcium-Ion committed -
fix: retry requeset body incorrect and fix rerank
Calcium-Ion committed -
CaIon committed
-
CaIon committed
-
CaIon committed
-
CaIon committed
-
- 22 Aug, 2025 12 commits
-
-
🐛 - Remove `size='small'` when the button is wrapped by `Badge` - Keep button dimensions consistent with/without badge - Preserve 18px icon size and existing styles/accessibility - Lint check passed with no issues Files: web/src/components/layout/HeaderBar/NotificationButton.jsx
t0ng7u committed -
📱 Reduce KPI font size on small screens to prevent overlapping of large numbers while preserving the desktop layout. Changes: - InvitationCard.jsx: use `text-base sm:text-2xl` for pending earnings, total earnings, and invite count. - RechargeCard.jsx: use `text-base sm:text-2xl` for current balance, historical usage, and request count. Impact: - Visual-only; no behavioral changes. - Desktop/tablet unchanged. - Lint passes. Files: - web/src/components/topup/InvitationCard.jsx - web/src/components/topup/RechargeCard.jsx
t0ng7u committed -
🎨 - useHeaderBar.js - Wrap handlers with useCallback (logout, language/theme toggle, mobile menu) - Add null checks and try/catch around iframe postMessage (theme & language) - Keep minimal effect deps; remove unused StatusContext dispatch - Logo preload effect safe and scoped to `logo` - index.jsx - No functional changes; locale memoization remains stable Chore: - Lint clean; no runtime warnings - Verified no render loops or performance regressions
t0ng7u committed -
🌓 - Feature: Introduce 'auto' theme mode - Detect system preference via matchMedia('(prefers-color-scheme: dark)') - Add useActualTheme context to expose the effective theme ('light'|'dark') - Persist selected mode in localStorage ('theme-mode') with 'auto' as default - Apply/remove `dark` class on <html> and sync `theme-mode` on <body> - Broadcast effective theme to iframes - UI: Redesign ThemeToggle with Dropdown items and custom highlight - Replace non-existent IconMonitor with IconRefresh - Use Dropdown.Menu + Dropdown.Item with built-in icon prop - Selected state uses custom background highlight; hover state preserved - Remove checkmark; selection relies on background styling - Current button icon reflects selected mode - Performance: reduce re-renders and unnecessary effects - Memoize theme options and current button icon (useMemo) - Simplify handleThemeToggle to accept only explicit modes ('light'|'dark'|'auto') - Minimize useEffect dependencies; remove unrelated deps - Header: streamline useHeaderBar - Use useActualTheme for iframe theme messaging - Remove unused statusDispatch - Remove isNewYear from theme effect dependencies - Home: send effective theme (useActualTheme) to external content iframes - i18n: add/enhance theme-related copy in locales (en/zh) - Chore: minor code cleanup and consistency - Improve readability and maintainability - Lint clean; no functional regressionst0ng7u committed -
💄 - Make Y-axis scrollbar visible for .table-scroll-card .semi-card-body - Reduce scrollbar width from 6px to 4px for a more subtle appearance - Decrease scrollbar opacity from 0.3 to 0.2 for lighter color - Adjust hover opacity from 0.5 to 0.35 for consistent lighter theme - Remove previous scrollbar hiding styles to improve user experience This change improves the usability of table scroll cards by providing visual feedback for scrollable content while maintaining a clean, unobtrusive design aesthetic.
t0ng7u committed -
🚀 Home was unexpectedly loading the `visactor-*.js` bundle on first paint. This happened because the Vite manualChunks entry created a standalone vendor chunk for VisActor, which Vite then preloaded on the initial route. What’s changed - Removed `visactor` from `build.rollupOptions.output.manualChunks` in `web/vite.config.js`. Why - Prevents VisActor from being preloaded on the Home page. - Restores the intended behavior: VisActor loads only when the Dashboard (data analytics) is visited. Impact - Smaller initial payload and fewer network requests on Home. - No functional changes to charts; loading behavior is now route-driven. Test plan - Build the app: `cd web && npm run build`. - Open the preview and visit `/`: ensure no `visactor-*.js` is requested. - Navigate to `/console` (Dashboard): ensure `visactor-*.js` loads as expected.
t0ng7u committed -
♻ Replace the fallback assignment of serverAddress in `web/src/pages/Home/index.jsx` to use a template literal for `window.location.origin`. - Aligns with the preferred style for constructing base URLs - Keeps formatting consistent across the app - No functional changes; behavior remains the same - Lint passes with no new warnings or errors Files affected: - web/src/pages/Home/index.jsx
t0ng7u committed -
✨ - Unify TopUp into a single-page layout and remove tabs - Replace custom inputs with Semi UI Form components (Form.Input, Form.InputNumber, Form.Slot) - Move online recharge form into the stats Card content for tighter, consistent layout - Add account stats Card with blue theme (consistent with InvitationCard style) - Remove RightStatsCard and inline the stats UI directly in RechargeCard - Change preset amount UI to horizontal quick-action Buttons; swap order with payment methods - Replace payment method Cards with Semi UI Buttons - Use Button icon prop for Alipay/WeChat/Stripe with brand colors - Use built-in Button loading; remove custom “processing...” text - Replace custom spinners with Semi UI Spin and keep Skeleton for amount loading - Wrap Redeem Code in a Card; use Typography for “Looking for a code? Buy Redeem Code” link - Show info Banner when online recharge is disabled (instead of warning) TopUp data flow and logic - Generate preset amounts from min_topup using multipliers [1,5,10,30,50,100,300,500] - Deduplicate /api/user/aff using a ref guard; fetch only once on mount - Simplify user self fetch: update context only; remove unused local states and helpers - Normalize payment method keys to alipay/wxpay/stripe and assign default colors Cleanup - Delete web/src/components/topup/RightStatsCard.jsx - Remove unused helpers and local states in index.jsx (userQuota, userDataLoading, getUsername) Dev notes - No API changes; UI/UX refactor only - Lint clean (no new linter errors) Files - web/src/components/topup/RechargeCard.jsx - web/src/components/topup/index.jsx - web/src/components/topup/InvitationCard.jsx (visual parity reference) - web/src/components/topup/RightStatsCard.jsx (removed)
t0ng7u committed -
Personal Settings no longer needs to fetch `/api/user/models` since models are now displayed directly. This change removes the unused data flow to simplify the component and avoid unnecessary requests. Changes: - Removed `models` and `modelsLoading` state from `web/src/components/settings/PersonalSetting.jsx` - Removed `loadModels` function and its invocation in the initial effect - Kept UI behavior unchanged; no functional differences on the Personal Settings page Notes: - Lint passes with no new issues - Other parts of the app still using `/api/user/models` (e.g., Tokens pages) are intentionally left intact Rationale: - Models are already displayed; the API call in Personal Settings became redundant
t0ng7u committed -
CaIon committed
-
fix: prompt calculation
Calcium-Ion committed -
feitianbubu committed
-
- 21 Aug, 2025 1 commit
-
-
🤝 t0ng7u committed
-
- 18 Aug, 2025 7 commits
-
-
🍭 t0ng7u committed -
🍭 t0ng7u committed -
🔧 - Fix io-net.svg viewBox from "0 0 1000 1000" to "100 440 800 120" - Resolve issue where IO.NET logo appeared too small on GitHub - Crop viewBox to actual logo content area for better visibility - Ensure consistent display size with other partner logos - Change aspect ratio from 1:1 to 6.67:1 to match horizontal layout
t0ng7u committed -
🍭 t0ng7u committed -
🤝 - Add IO.NET to trusted partners section in README.md - Add IO.NET to trusted partners section in README.en.md - Use io-net.png logo and https://io.net/ as website link - Adjust layout to display 3 partners in the second row for better balance - IO.NET provides decentralized GPU computing services for AI workloads
t0ng7u committed -
🍭 t0ng7u committed -
🤝 - Add Alibaba Cloud to trusted partners section in README.md - Add Alibaba Cloud to trusted partners section in README.en.md - Use aliyun.svg logo and https://www.aliyun.com/ as website link - Maintain consistent formatting with existing partners
t0ng7u committed
-