Commit Graph

  • f47cc71599 Tests: adjust long reason length to exceed keyword link max 萝卜 2026-03-17 00:27:50 +08:00
  • 7b143e1a11 Admin subscriptions: batch mark expired with safety guards 萝卜 2026-03-17 00:27:04 +08:00
  • 0e8a9797b9 Governance: block clear sync errors when synced_only present 萝卜 2026-03-17 00:13:19 +08:00
  • c0e3dffce1 Tests: ensure clear BMPA errors button disables when sync_status/synced_only present 萝卜 2026-03-17 00:10:50 +08:00
  • 4f01232f35 Tests: cover clear BMPA errors blocking for sync_status/synced_only 萝卜 2026-03-17 00:08:21 +08:00
  • 98fa529d01 Governance: block clear BMPA errors when sync_status/synced_only present 萝卜 2026-03-17 00:03:32 +08:00
  • 1e7513a2c5 Governance UI: block clear BMPA errors when sync filters present 萝卜 2026-03-17 00:01:13 +08:00
  • c54e95bb74 Fix: dashboard recent platform orders table overflow 萝卜 2026-03-16 23:54:54 +08:00
  • 131aa6b259 Admin dashboard: align column widths and remove height sync JS 萝卜 2026-03-16 23:51:44 +08:00
  • 18ea639583 chore(governance): block batch mark activated when refund_status=has 萝卜 2026-03-16 23:35:39 +08:00
  • 485a8a639d chore(governance): block batch BMPA when refund_status=has 萝卜 2026-03-16 23:33:10 +08:00
  • 7f1d234393 feat(admin-dashboard): sync trend/billing card height with recent orders 萝卜 2026-03-16 23:29:45 +08:00
  • 9dc281f48e chore(governance): block batch mark activated when receipt none/refund has 萝卜 2026-03-16 23:26:29 +08:00
  • 75d64195d6 chore(governance): block batch mark activated when reconcile/refund inconsistent 萝卜 2026-03-16 23:16:25 +08:00
  • a26be5de9e chore(governance): block batch activate when refund_status=has 萝卜 2026-03-16 23:03:38 +08:00
  • 8063b8ae9d chore(governance): block batch activate when syncable_only conflicts with synced_only 萝卜 2026-03-16 23:00:27 +08:00
  • d68d0523b1 chore(governance): block batch BMPA when sync-governance filters present 萝卜 2026-03-16 22:54:19 +08:00
  • 68735ee914 refactor(governance-ui): align clear sync errors guard with backend scopes 萝卜 2026-03-16 22:44:15 +08:00
  • f6fa80c95c fix(admin-dashboard): prevent pay column header wrap 萝卜 2026-03-16 22:38:55 +08:00
  • 502c397ec2 fix(governance-ui): align clear error tool guards with backend 萝卜 2026-03-16 22:37:46 +08:00
  • d13ada0ed8 fix(admin-dashboard): prevent recent order scanline labels wrapping 萝卜 2026-03-16 22:20:06 +08:00
  • 07fb547e0e chore(seed): enrich plan share demo data for dashboard top5 萝卜 2026-03-16 22:12:45 +08:00
  • 5e73e03ac2 chore(admin-dashboard): rank links should keep paid filter 萝卜 2026-03-16 22:02:37 +08:00
  • 3f7ab0ed94 feat(admin-dashboard): add rank coverage meta for merchant revenue top5 萝卜 2026-03-16 22:01:06 +08:00
  • 6aa58d5369 chore(seed): add demo merchants for dashboard rank; tighten batch mark activated UI guard 萝卜 2026-03-16 21:51:29 +08:00
  • 314563a8d5 chore(governance): block batch mark activated when filters conflict 萝卜 2026-03-16 21:46:08 +08:00
  • 2f57dc3a70 test(governance): batch mark activated should include sync_status unsynced 萝卜 2026-03-16 21:39:49 +08:00
  • 363e60f76b fix(admin-dashboard): prevent row-warn links wrapping in recent orders 萝卜 2026-03-16 21:38:52 +08:00
  • 09a6ee55ad test(governance): add guardrails for clearing failure markers 萝卜 2026-03-16 21:35:27 +08:00
  • 968cba3c08 chore(governance): guard clear bmpa errors when filters not bmpa scope 萝卜 2026-03-16 21:30:51 +08:00
  • d3793d062a chore(governance): guard clear sync errors when filters conflict 萝卜 2026-03-16 21:28:26 +08:00
  • 512de34da4 chore(governance): block batch activate when syncable_only conflicts with failed filters 萝卜 2026-03-16 21:05:13 +08:00
  • 6790771364 chore(governance): block batch activate when syncable_only conflicts with sync status 萝卜 2026-03-16 20:59:52 +08:00
  • 4fb0d6b050 chore(subscription): disable-on-submit for batch activate form 萝卜 2026-03-16 20:53:52 +08:00
  • 45c1dbf2b9 fix(subscription): syncable stats exclude sync failed orders 萝卜 2026-03-16 20:47:10 +08:00
  • abb0f2a38f fix(subscription): syncable filter excludes sync failed orders 萝卜 2026-03-16 20:41:53 +08:00
  • 0e293081d9 test(platform-orders): syncable summary link locks unsynced scope 萝卜 2026-03-16 20:35:59 +08:00
  • bbc31d3869 feat(governance): add anchor jump to batch activate tool from hints 萝卜 2026-03-16 20:29:40 +08:00
  • 6a89b67c7a chore(admin-ui): add anchor id for batch activate subscriptions tool 萝卜 2026-03-16 20:24:18 +08:00
  • 44b916ecb3 fix(subscription): syncable orders link locks unsynced scope 萝卜 2026-03-16 20:20:59 +08:00
  • 2f4e727c1b fix(governance): batch activate subscriptions excludes failed and dirty renewal orders 萝卜 2026-03-16 20:15:33 +08:00
  • 115e94644d fix(platform-orders): keep syncable links aligned with unsynced scope 萝卜 2026-03-16 20:13:03 +08:00
  • 93277a1392 fix(platform-orders): syncable governance links lock sync_status=unsynced 萝卜 2026-03-16 20:09:28 +08:00
  • 4199c19920 test(admin-dashboard): syncable count excludes sync failed orders 萝卜 2026-03-16 19:45:49 +08:00
  • 97326e9922 fix(platform-orders): syncable_only excludes sync failed orders 萝卜 2026-03-16 19:40:23 +08:00
  • f297ffacd5 fix(admin-dashboard): syncable quick link aligns with unsynced scope 萝卜 2026-03-16 19:36:54 +08:00
  • 763c706cf3 fix(admin-dashboard): paid_pending count aligns with unsynced scope 萝卜 2026-03-16 19:23:42 +08:00
  • 7c318ef59c test(governance): batch mark activated requires sync_status=unsynced 萝卜 2026-03-16 19:17:28 +08:00
  • d7c4fc9d17 fix(platform-orders): syncable_only filter should only apply when value is 1 萝卜 2026-03-16 19:15:11 +08:00
  • dbb88f59f6 chore(governance): batch mark activated requires unsynced scope 萝卜 2026-03-16 19:04:40 +08:00
  • 33ab55b10a fix(platform-orders): align paid-pending governance links with unsynced scope 萝卜 2026-03-16 18:51:23 +08:00
  • 88347d1185 fix(admin-dashboard): billing workbench links use selfWithoutBack for back param 萝卜 2026-03-16 18:25:44 +08:00
  • 9ac3b32e0e test(admin-dashboard): paid pending workbench link locks sync_status=unsynced 萝卜 2026-03-16 18:22:33 +08:00
  • 1c5f56bee0 chore(admin-site-subscription): failed reason keyword max len uses config 萝卜 2026-03-16 18:11:31 +08:00
  • 6123aeb33b fix(admin-js): merchant revenue rank link map parses exact merchant_id 萝卜 2026-03-16 17:56:14 +08:00
  • ef46111efb chore(admin-platform-order): failed reason keyword max len uses config 萝卜 2026-03-16 17:47:47 +08:00
  • d6d8748ce6 feat(admin-js): plan order share mini rows clickable via table plan links 萝卜 2026-03-16 17:44:17 +08:00
  • 8971917bca feat(admin-js): trend mini chart bars clickable via table date links 萝卜 2026-03-16 17:38:17 +08:00
  • d7b15d2da8 feat(admin-js): merchant revenue mini rank rows clickable via table links 萝卜 2026-03-16 17:29:29 +08:00
  • d8b6f9d757 test(admin-dashboard): plan share top5 links to plan order list 萝卜 2026-03-16 17:26:57 +08:00
  • ed739eb97f test(admin-dashboard): merchant revenue rank links to merchant order list 萝卜 2026-03-16 17:24:12 +08:00
  • ce7f957d70 chore(admin-dashboard): failed same-reason links use config max len 萝卜 2026-03-16 17:15:53 +08:00
  • cef5783612 chore(admin-dashboard): dedupe add-refund-receipt link (reuse fixRefundReceiptUrl) 萝卜 2026-03-16 17:05:46 +08:00
  • 73e557230a chore(admin-dashboard): dedupe BackUrl fragment links for recent order hints 萝卜 2026-03-16 17:02:26 +08:00
  • 0cef9b6186 fix(admin-js): merchant revenue rank bars use ratio (no undefined barRatio) 萝卜 2026-03-16 16:52:42 +08:00
  • fa7218d151 feat(admin-dashboard): scanline no-receipt links to add receipt panel 萝卜 2026-03-16 16:47:17 +08:00
  • 1cd731a08f feat(admin-dashboard): scanline abnormal statuses link to governance anchors 萝卜 2026-03-16 16:44:49 +08:00
  • 735fdc5bdf fix(admin-dashboard): scanline hides receipt/reconcile for non-paid orders 萝卜 2026-03-16 16:37:30 +08:00
  • 1768d6bddc feat(admin-dashboard): add scanline governance summary for recent orders 萝卜 2026-03-16 16:35:10 +08:00
  • 98004a0a1c feat(admin-dashboard): recent platform orders show merchant and plan meta 萝卜 2026-03-16 16:19:36 +08:00
  • c8496defb2 chore(admin-dashboard): show reason-too-long hint when same-reason link omitted 萝卜 2026-03-16 16:13:39 +08:00
  • 5300fc7320 feat(admin-dashboard): failed hints include same-reason scope links 萝卜 2026-03-16 16:10:10 +08:00
  • f546d0e2e3 style(admin): include add-receipt anchors in :target highlight 萝卜 2026-03-16 16:05:00 +08:00
  • 56a1b12f39 style(admin): highlight targeted platform order sections via :target 萝卜 2026-03-16 15:59:26 +08:00
  • 983fdca237 chore(admin-js): only auto open receipt details on explicit add-receipt hashes 萝卜 2026-03-16 15:53:37 +08:00
  • 2d4f366621 feat(admin-dashboard): refund inconsistent hint links to add refund receipt panel 萝卜 2026-03-16 15:46:46 +08:00
  • f0763638df feat(admin-dashboard): reconcile mismatch hint includes fix receipt link 萝卜 2026-03-16 15:37:15 +08:00
  • a67611f84d feat(admin-js): auto open receipt details for payment/refund hashes 萝卜 2026-03-16 15:35:06 +08:00
  • 7181cfbaf8 feat(admin-js): auto open add payment receipt details when hash present 萝卜 2026-03-16 15:33:09 +08:00
  • 9587f03edf feat(admin-dashboard): failed hints link to order detail failure blocks 萝卜 2026-03-16 15:29:32 +08:00
  • 055d1c787a chore(admin-platform-order): add anchors for sync/bmpa failed blocks 萝卜 2026-03-16 15:23:49 +08:00
  • 3302332a96 feat(admin-dashboard): renewal missing subscription hint links to relation block 萝卜 2026-03-16 15:21:03 +08:00
  • 496b4652c6 fix(admin-products): status stats use light active class 萝卜 2026-03-16 15:20:20 +08:00
  • f0198841a9 chore(admin-platform-order): add anchor id for relation subscription governance block 萝卜 2026-03-16 15:15:30 +08:00
  • 3a1a18fc04 feat(admin-dashboard): refund inconsistent hint links to refund receipts section 萝卜 2026-03-16 15:13:07 +08:00
  • 4f2c370046 feat(admin-dashboard): reconcile mismatch hint links to payment receipts section 萝卜 2026-03-16 15:11:05 +08:00
  • b531f489fc feat(admin-dashboard): no receipt hint links to list scope 萝卜 2026-03-16 15:05:43 +08:00
  • 90794f9b5e feat(admin-dashboard): normalize plan share bar widths by top max 萝卜 2026-03-16 14:59:30 +08:00
  • 9852d9b00e feat(admin-dashboard): plan share meta shows other count 萝卜 2026-03-16 14:53:33 +08:00
  • c1afc14b75 feat(admin-dashboard): plan share meta includes other pct 萝卜 2026-03-16 14:47:33 +08:00
  • ee0c2afffd style(admin): row-warn shows help cursor for tooltip hints 萝卜 2026-03-16 14:43:25 +08:00
  • 849707aae8 chore(admin-platform-order): disable on submit for show page high-risk forms 萝卜 2026-03-16 14:35:35 +08:00
  • 10108ddecd chore(admin-platform-order): disable on submit for add receipt forms 萝卜 2026-03-16 14:33:15 +08:00
  • 2507ab235b chore(admin-platform-order): refund governance forms disable on submit 萝卜 2026-03-16 14:27:50 +08:00
  • a21111933e refactor(admin-dashboard): move data-page marker to wrapper for scoped css 萝卜 2026-03-16 14:25:22 +08:00
  • ce26dd0454 style(admin): scope row-warn styles for dashboard and keep platform orders guards 萝卜 2026-03-16 14:22:16 +08:00
  • 51172e2664 chore(admin-dashboard): renewal missing subscription hint tooltip shows context 萝卜 2026-03-16 14:16:55 +08:00
  • b5984f5375 chore(admin-dashboard): no-receipt hint tooltip shows paid amount 萝卜 2026-03-16 14:10:44 +08:00
  • 53c397b723 chore(admin-dashboard): refund inconsistent hint tooltip shows paid vs refund 萝卜 2026-03-16 14:08:44 +08:00
  • 71dc234274 chore(admin-dashboard): reconcile mismatch hint tooltip shows paid vs receipt 萝卜 2026-03-16 14:06:51 +08:00