erio
ed8a9d975b
fix: batch 1 audit fixes — quota SQL fixed mode, public recharge URL, WebSearch bool fallback, UpdatePlan validation
H1: incrementUsageBillingAccountQuota now uses shared dailyExpiredExpr/weeklyExpiredExpr
constants (supporting fixed reset mode) instead of hardcoded '24 hours'/'168 hours'
H4: public settings endpoint now maps balance_low_notify_recharge_url
H6: GetWebSearchEmulationMode tolerates legacy bool values (true→enabled)
H7: UpdatePlan validates non-nil patch fields (rejects negative price, empty name, etc.)
H8: UsageTable accountBilled() helper with total_cost ?? 0 null guard
H9: AdminUsageLog TS type adds channel_id + billing_tier
M2: account.go "fixed" literals replaced with thresholdTypeFixed constant
M13: SystemSettings TS type adds web_search_emulation_enabled
UI: QuotaLimitCard title labels now use flex-1 to align with flex-1 input boxes
2026-04-14 09:32:11 +08:00
..
2026-03-23 03:49:28 +08:00
2026-03-31 13:24:22 +08:00
2026-03-23 10:16:52 +08:00
2026-04-05 17:11:01 +08:00
2026-04-14 09:26:32 +08:00
2026-04-14 09:28:11 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 17:22:22 +08:00
2026-04-05 17:22:22 +08:00
2026-03-16 21:14:52 +08:00
2026-04-04 14:32:26 +08:00
2026-04-14 09:32:11 +08:00
2026-04-01 02:19:42 +08:00
2026-04-14 09:32:11 +08:00
2026-04-14 09:08:00 +08:00
2026-04-14 09:15:49 +08:00
2026-03-19 22:27:55 +08:00
2026-04-09 21:35:48 +08:00
2026-04-09 18:14:28 +08:00
2026-03-16 16:22:31 +08:00
2026-04-05 17:11:01 +08:00
2026-04-09 18:14:28 +08:00
2026-04-14 09:25:49 +08:00
2026-04-04 14:32:26 +08:00
2026-03-20 00:04:01 +08:00
2026-03-27 14:33:05 +08:00
2026-04-04 14:32:26 +08:00
2026-03-27 20:11:24 +08:00
2026-03-27 20:18:07 +08:00
2026-04-01 02:19:42 +08:00
2026-04-01 12:24:52 +08:00
2026-03-25 19:03:12 +08:00
2026-03-25 17:38:41 +08:00
2026-03-16 04:58:58 +08:00
2026-03-27 14:33:05 +08:00
2026-03-17 01:47:08 +08:00
2026-04-05 17:21:36 +08:00
2026-03-25 19:03:12 +08:00
2026-03-23 03:49:28 +08:00
2026-04-14 09:26:32 +08:00
2026-04-14 09:26:32 +08:00
2026-04-10 17:55:37 +08:00
2026-03-19 22:27:55 +08:00
2026-03-19 22:27:55 +08:00
2026-03-19 22:27:55 +08:00
2026-04-14 09:23:02 +08:00
2026-04-09 02:20:51 +00:00
2026-03-16 20:22:10 +08:00
2026-03-16 20:22:10 +08:00
2026-04-14 09:31:45 +08:00
2026-04-14 09:31:45 +08:00
2026-04-14 09:31:45 +08:00
2026-04-14 09:31:32 +08:00
2026-04-14 09:15:49 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 22:32:49 +08:00
2026-04-14 09:22:12 +08:00
2026-04-04 11:25:01 +08:00
2026-04-14 09:20:39 +08:00
2026-04-14 09:26:32 +08:00
2026-03-18 11:08:58 +08:00
2026-03-23 03:49:28 +08:00
2026-03-18 14:16:50 +08:00
2026-04-14 09:30:51 +08:00
2026-04-14 09:26:46 +08:00
2026-03-27 14:33:05 +08:00
2026-04-08 14:06:06 +08:00
2026-04-08 16:11:19 +08:00
2026-04-08 16:23:02 +08:00
2026-03-19 16:56:18 +08:00
2026-04-04 11:25:01 +08:00
2026-04-04 11:25:01 +08:00
2026-03-26 11:17:25 +08:00
2026-03-24 09:32:34 +08:00
2026-03-27 14:33:05 +08:00
2026-03-24 09:32:34 +08:00
2026-03-27 14:33:05 +08:00
2026-04-04 12:38:50 +08:00
2026-04-04 12:38:50 +08:00
2026-04-08 14:06:06 +08:00
2026-04-14 09:23:02 +08:00
2026-03-22 17:26:44 +08:00
2026-04-14 09:26:08 +08:00
2026-04-05 17:11:01 +08:00
2026-04-14 09:28:11 +08:00
2026-04-14 09:20:39 +08:00
2026-04-14 09:26:08 +08:00
2026-04-01 00:45:56 +08:00
2026-04-08 10:39:15 -07:00
2026-03-23 10:16:52 +08:00
2026-03-24 09:32:01 +08:00
2026-03-24 09:32:01 +08:00
2026-03-23 03:49:28 +08:00
2026-03-24 09:31:32 +08:00
2026-03-18 10:06:35 +08:00
2026-03-18 10:06:35 +08:00
2026-04-09 12:29:28 +08:00
2026-03-30 11:43:07 +08:00
2026-03-27 14:33:05 +08:00
2026-03-19 16:56:18 +08:00
2026-03-26 11:17:25 +08:00
2026-03-27 20:11:24 +08:00
2026-03-18 11:08:58 +08:00
2026-03-18 11:08:58 +08:00
2026-04-04 11:17:49 +08:00
2026-04-04 15:15:33 +08:00
2026-04-14 09:26:32 +08:00
2026-03-30 16:23:38 +08:00
2026-03-30 16:44:15 +08:00
2026-03-23 03:50:03 +08:00
2026-03-31 13:04:55 +08:00
2026-04-04 11:25:01 +08:00
2026-04-09 12:29:49 +08:00
2026-04-11 22:48:45 +08:00
2026-04-11 22:48:45 +08:00
2026-04-09 12:29:49 +08:00
2026-03-29 20:52:29 +08:00
2026-03-24 19:20:15 +08:00
2026-04-04 14:07:19 +08:00
2026-04-02 00:11:17 +08:00
2026-04-02 01:03:22 +08:00
2026-04-11 22:48:45 +08:00
2026-04-11 22:48:45 +08:00
2026-04-13 18:51:49 +08:00
2026-04-14 09:23:02 +08:00
2026-04-01 00:46:38 +08:00
2026-03-16 10:28:51 +08:00
2026-04-08 14:17:49 +08:00
2026-04-14 09:28:11 +08:00
2026-04-09 12:29:28 +08:00
2026-04-09 12:29:28 +08:00
2026-04-07 11:27:57 +03:00
2026-04-04 14:07:19 +08:00
2026-03-30 22:29:26 +08:00
2026-04-05 17:11:01 +08:00
2026-03-30 00:21:51 +08:00
2026-04-05 17:21:36 +08:00
2026-03-23 00:10:22 +08:00
2026-04-02 20:44:28 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 17:11:01 +08:00
2026-03-23 03:50:03 +08:00
2026-03-09 09:51:26 +08:00
2026-02-28 15:01:20 +08:00
2026-03-16 10:50:02 +08:00
2026-04-07 11:40:41 +03:00
2026-04-14 09:23:02 +08:00
2026-04-09 18:14:28 +08:00
2026-03-20 18:22:00 +08:00
2026-03-23 10:16:52 +08:00
2026-03-21 23:30:13 +08:00
2026-03-21 23:30:13 +08:00
2026-04-04 12:38:50 +08:00
2026-04-09 17:49:02 +08:00
2026-03-21 23:49:50 +08:00
2026-03-21 23:30:13 +08:00
2026-03-18 16:22:19 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-14 09:31:45 +08:00
2026-04-14 09:32:11 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-14 09:17:06 +08:00
2026-04-11 13:16:35 +08:00
2026-04-14 09:19:33 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-14 09:19:33 +08:00
2026-04-14 09:19:33 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-03-19 19:03:13 +08:00
2026-04-04 11:15:59 +08:00
2026-03-17 08:40:08 +08:00
2026-03-17 08:40:08 +08:00
2026-03-23 03:49:28 +08:00
2026-04-12 13:30:15 +08:00
2026-03-23 10:16:52 +08:00
2026-04-03 01:50:26 +08:00
2026-04-08 10:39:15 -07:00
2026-03-31 13:04:55 +08:00
2026-04-09 02:20:51 +00:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-14 09:30:51 +08:00
2026-04-14 09:30:51 +08:00
2026-03-18 11:32:35 +08:00
2026-03-18 09:23:19 +08:00
2026-04-04 11:13:58 +08:00
2026-03-27 14:33:05 +08:00
2026-04-05 17:11:01 +08:00
2026-03-30 00:21:51 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 17:11:01 +08:00
2026-02-14 11:23:10 +08:00
2026-04-04 11:09:01 +08:00
2026-04-14 09:22:12 +08:00
2026-04-14 09:23:02 +08:00
2026-04-14 09:26:46 +08:00
2026-03-18 09:23:19 +08:00
2026-04-14 09:26:07 +08:00
2026-04-14 09:23:40 +08:00
2026-04-14 09:25:49 +08:00
2026-04-14 09:26:08 +08:00