feat(framework): 回灌 OpenFlare 分层、安全与运行时改进

将平台域持久化收敛为 repository 唯一入口,model 去掉 IO。
邮件头写入前清除 CR/LF,防止 header 注入。
httppool 支持可配置 Transport;batchwriter 增加 MinBatchSize/Stats,flush 失败交回批次;任务 PermanentError 作为 SkipRetry 终态。
设置与推送页的确认改为 AlertDialog;axios 去尾斜杠并按 Gin 数组序列化查询参数。
升级共享 Go 依赖(Gin、Asynq、OTel、GORM、Redis 等)。
This commit is contained in:
ryan
2026-08-16 11:07:20 +08:00
parent b9b42e3174
commit 6a53619dd2
58 changed files with 2201 additions and 1175 deletions
+22 -4
View File
@@ -245,6 +245,12 @@
"rotateFailed": "Failed to rotate access token",
"deleteConfirm": "Revoke token \u201c{name}\u201d? It will stop working immediately and cannot be recovered.",
"rotateConfirm": "Rotate the secret for token \u201c{name}\u201d? A new secret will be issued and the old one will stop working immediately.",
"deleteConfirmTitle": "Confirm token revocation",
"rotateConfirmTitle": "Confirm token rotation",
"confirmRevoke": "Confirm revoke",
"confirmRotate": "Confirm rotate",
"revoking": "Revoking...",
"rotating": "Rotating...",
"subtitle": "Manage API access secrets for development or third-party tools",
"adminBadge": "Admin",
"adminPermission": "Admin permission",
@@ -374,7 +380,10 @@
"type": "Type",
"secretConfigured": "Secret configured",
"secretNotConfigured": "Secret not configured",
"deleteAuthSourceConfirm": "Delete authentication source \u201c{name}\u201d?",
"deleteAuthSourceConfirm": "Delete authentication source \u201c{name}\u201d? This cannot be undone.",
"deleteAuthSourceTitle": "Confirm delete authentication source",
"confirmDelete": "Confirm delete",
"deleting": "Deleting...",
"noAuthSources": "No authentication sources configured. Click the button above to add one.",
"captchaConfig": "CAPTCHA configuration (Cap CAPTCHA)",
"captchaConfigDesc": "Configure Proof-of-Work (PoW) based invisible CAPTCHA to protect login from brute-force and credential-stuffing attacks",
@@ -463,7 +472,10 @@
"custom": "Custom",
"identifier": "Identifier",
"subject": "Subject",
"deleteTemplateConfirm": "Delete template \u201c{name}\u201d?",
"deleteTemplateConfirm": "Delete template \u201c{name}\u201d? This cannot be undone.",
"deleteTemplateTitle": "Confirm delete template",
"confirmDelete": "Confirm delete",
"deleting": "Deleting...",
"noTemplates": "No notification templates configured. Click the button above to add one.",
"editTemplate": "Edit notification template",
"addTemplateTitle": "Add notification template",
@@ -876,7 +888,10 @@
"noChannelSpecified": "No channel specified",
"emailChannel": "Email",
"configure": "Configure",
"deleteEventConfirm": "Delete this notification event configuration?",
"deleteEventConfirm": "Delete this notification event configuration? This cannot be undone.",
"deleteEventTitle": "Confirm delete notification event",
"confirmDelete": "Confirm delete",
"deleting": "Deleting...",
"delete": "Delete",
"addEventDialogTitle": "Add notification event",
"addEventDialogDesc": "Select a system event and bind push channels. It will be active immediately after creation.",
@@ -944,7 +959,10 @@
"noRemark": "No remark",
"test": "Test",
"edit": "Edit",
"deleteChannelConfirm": "Delete channel \"{name}\"?",
"deleteChannelConfirm": "Delete channel \"{name}\"? This cannot be undone.",
"deleteChannelTitle": "Confirm delete channel",
"confirmDelete": "Confirm delete",
"deleting": "Deleting...",
"delete": "Delete",
"editChannelDialogTitle": "Edit channel",
"createChannelDialogTitle": "Create channel",