1. 06 Oct, 2025 3 commits
    • feat: Add topup billing history with admin manual completion · dec3a323
      Implement comprehensive topup billing system with user history viewing and admin management capabilities.
      
      ## Features Added
      
      ### Frontend
      - Add topup history modal with paginated billing records
      - Display order details: trade number, payment method, amount, money, status, create time
      - Implement empty state with proper illustrations
      - Add payment method column with localized display (Stripe, Alipay, WeChat)
      - Add admin manual completion feature for pending orders
      - Add Coins icon for recharge amount display
      - Integrate "Bills" button in RechargeCard header
      - Optimize code quality by using shared utility functions (isAdmin)
      - Extract constants for status and payment method mappings
      - Use React.useMemo for performance optimization
      
      ### Backend
      - Create GET `/api/user/topup/self` endpoint for user topup history with pagination
      - Create POST `/api/user/topup/complete` endpoint for admin manual order completion
      - Add `payment_method` field to TopUp model for tracking payment types
      - Implement `GetUserTopUps` method with proper pagination and ordering
      - Implement `ManualCompleteTopUp` with transaction safety and row-level locking
      - Add application-level mutex locks to prevent concurrent order processing
      - Record payment method in Epay and Stripe payment flows
      - Ensure idempotency and data consistency with proper error handling
      
      ### Internationalization
      - Add i18n keys for Chinese (zh), English (en), and French (fr)
      - Support for billing-related UI text and status messages
      
      ## Technical Improvements
      - Use database transactions with FOR UPDATE row-level locking
      - Implement sync.Map-based mutex for order-level concurrency control
      - Proper error handling and user-friendly toast notifications
      - Follow existing codebase patterns for empty states and modals
      - Maintain code quality with extracted render functions and constants
      
      ## Files Changed
      - Backend: controller/topup.go, controller/topup_stripe.go, model/topup.go, router/api-router.go
      - Frontend: web/src/components/topup/modals/TopupHistoryModal.jsx (new), web/src/components/topup/RechargeCard.jsx, web/src/components/topup/index.jsx
      - i18n: web/src/i18n/locales/{zh,en,fr}.json
      Apple\Apple committed
    • Merge pull request #1974 from RedwindA/fix/Visibility · 5640cfa4
      fix: improve text visibility in warning box for dark mode in SettingsLog
      Seefs committed
    • CI · f56d1ff2
      CaIon committed
  2. 05 Oct, 2025 15 commits
  3. 04 Oct, 2025 2 commits
  4. 03 Oct, 2025 19 commits
  5. 02 Oct, 2025 1 commit