- 12 Apr, 2026 3 commits
-
-
Wesley Liddick authored
fix(sidebar): smooth sidebar collapse behavior
-
Wesley Liddick authored
fix(frontend): 补全 messages 调度国际化文案
-
Wesley Liddick authored
docs(payment): add built-in payment configuration guide and settings links
-
- 11 Apr, 2026 22 commits
-
-
qingyuzhang authored
# Conflicts: # frontend/src/components/layout/AppSidebar.vue
-
erio authored
-
erio authored
-
erio authored
-
erio authored
-
erio authored
-
erio authored
-
erio authored
- Fix webhook URLs: /payment/webhook/<provider> not /payment/<provider>/notify - Remove notifyUrl/returnUrl from provider config tables (auto-generated by UI) - Adjust wxpay publicKeyId/certSerial to match frontend optional marking
-
erio authored
- Add docs/PAYMENT.md and docs/PAYMENT_CN.md with full payment setup guide - Mark Sub2ApiPay as deprecated in ecosystem tables (payment is now built-in) - Add built-in payment system to features list in all 3 READMEs
-
Wesley Liddick authored
feat(payment): add complete payment system with multi-provider support
-
erio authored
-
erio authored
# Conflicts: # frontend/src/api/admin/settings.ts # frontend/src/stores/app.ts # frontend/src/types/index.ts # frontend/src/views/admin/SettingsView.vue
-
erio authored
Upstream removed sora feature (090_drop_sora.sql) but left i18n keys and wire.go references. Clean up: - Remove entire sora i18n block from en.ts and zh.ts (~190 lines) - Remove sora nav key and unused 'data' settings tab key - Remove sora_client_enabled from settings (fork-specific) - Remove SoraMediaCleanupService from wire.go
-
erio authored
The API client's error interceptor was dropping the reason and metadata fields from backend error responses. This caused PaymentView to miss specific error codes (TOO_MANY_PENDING, CANCEL_RATE_LIMITED) and fall back to generic error messages.
-
erio authored
-
erio authored
Stripe payment path was setting expiresAt to empty string, causing PaymentStatusPanel to fall back to hardcoded 30-minute default when the popup redirect switches to the waiting view.
-
Wesley Liddick authored
fix: 修复多个 UI 和功能问题 - 表格排序搜索、导出逻辑、分页配置和状态筛选
-
erio authored
Backend: - Parse EasyPay `payurl2` field, prefer H5 link on mobile - Add `device=mobile` to EasyPay submit.php (popup) mode - Expand isMobile detection keywords (add ipad/ipod) Frontend: - Add `isMobileDevice()` utility (userAgentData + UA regex) - Mobile + pay_url: direct redirect instead of QR/popup - Popup blocked fallback: auto-redirect when window.open fails - Stripe WeChat Pay: dynamic client param (mobile_web vs web)
-
erio authored
Backend: - Split payment_order.go (546→314 lines) into payment_order_lifecycle.go - Replace magic strings with constants in factory, easypay, webhook handler - Add rate limit/validity unit constants in payment_order_lifecycle, payment_service - Fix critical regression: add PaymentEnabled to GetPublicSettings response - Add missing migration 099_fix_migrated_purchase_menu_label_icon.sql Frontend: - Fix StripePopupView.vue: replace `as any` with typed interface, use extractApiErrorMessage - Fix AdminOrderTable.vue: replace hardcoded column labels with i18n t() calls - Fix SubscriptionsView.vue: replace hardcoded Today/Tomorrow with i18n - Extract duplicate statusBadgeClass/canRefund/formatOrderDateTime to orderUtils.ts - Add missing i18n keys: common.today, common.tomorrow, payment.orders.orderType/actions - Remove dead PurchaseSubscriptionView.vue (replaced by PaymentView)
-
erio authored
The built-in payment system replaces the old external purchase subscription iframe approach. Remove purchase_subscription_enabled/url from admin settings interface and form defaults, as the Payment tab now handles this functionality. Kept in stores/app.ts fallback to match backend DTO response structure.
-
erio authored
- Add payment navigation to AppSidebar (user orders + admin payment menu group with collapse) - Add 5 missing nav i18n keys (myOrders, orderManagement, paymentDashboard, paymentConfig, paymentPlans) - Renumber payment migrations 090-100 → 092-102 to avoid conflict with upstream 090/091 - Remove non-payment sora_client_enabled change, restore upstream purchase_subscription fields - Remove extra 'data' from SettingsTab type union
-
erio authored
Add a full payment and subscription system supporting EasyPay (Alipay/WeChat), Stripe, and direct Alipay/WeChat Pay providers with multi-instance load balancing.
-
- 10 Apr, 2026 5 commits
-
-
IanShaw027 authored
-
IanShaw027 authored
-
IanShaw027 authored
-
IanShaw027 authored
-
IanShaw027 authored
-
- 09 Apr, 2026 10 commits
-
-
qingyuzhang authored
-
IanShaw027 authored
-
IanShaw027 authored
-
IanShaw027 authored
-
IanShaw027 authored
-
IanShaw027 authored
-
Wesley Liddick authored
fix: 同步 LoadFactor 到调度快照缓存
-
Wesley Liddick authored
feat: 为openai分组增加messages调度模型映射并支持instructions模板注入
-
Wesley Liddick authored
fix(ops): 将错误日志请求体存储限制从 10KB 提升至 256KB
-
Wesley Liddick authored
fix: include home_content URL in CSP frame-src origins
-