Logan.Li
|
99b5d94dc2
|
fix: 编码套餐默认启用深度推理
- 区分编码套餐与模型推理概念
- 编码套餐切换时默认开启深度推理
- 更新中英文提示文案
|
2026-07-30 23:35:00 +08:00 |
|
Logan.Li
|
4c02d7d352
|
fix: 完善大模型供应商下拉
- 移除当前协议不兼容的 Perplexity 预设
- 限制供应商与模型列表高度并支持滚动
|
2026-07-30 22:25:18 +08:00 |
|
Logan.Li
|
d8b124fc7c
|
feat: 更新主流大模型供应商目录
- 按云服务、Coding Plan、API 网关和本地模型分组
- 新增兼容模型发现与供应商协议校验
|
2026-07-30 21:34:33 +08:00 |
|
Logan.Li
|
01e4435f29
|
fix: 更新多云账单同步说明
- 展示当前支持的五个云厂商
- 统一多云出账时效与只读权限提示
|
2026-07-29 06:51:05 +08:00 |
|
Logan.Li
|
9b895efee3
|
fix: 完善多云同步验证与实例统计
- 修复华为云签名、账单字段与区域映射缓存
- 按真实云实例更新账号服务器数并补充并发测试
|
2026-07-29 06:35:54 +08:00 |
|
Logan.Li
|
132fe9ba97
|
feat: 补全多云资产与账单同步
- 接入 AWS、华为云和 Azure 资产及账单 API
- 按原始币种隔离统计并修正账号服务器数
- 修复侧栏菜单展开后的滚动行为
|
2026-07-29 06:15:00 +08:00 |
|
Logan.Li
|
65e2f09b97
|
fix: 按业务时区同步昨日账单
- 固定按 Asia/Shanghai 计算账单昨日日期
- 补充 UTC 服务器时区回归测试
|
2026-07-29 05:57:07 +08:00 |
|
Logan.Li
|
dd3770a66c
|
fix: 恢复腾讯云账单同步并完善成本预测
- 接入腾讯云单日账单、全局限频和指数退避
- 修正月末费用预测并增加账期提示和费用归因
- 补充腾讯云限频及账单归因回归测试
|
2026-07-29 05:44:40 +08:00 |
|
Logan.Li
|
88c41f0b2b
|
fix: 恢复腾讯云主机发现
|
2026-07-27 17:09:25 +08:00 |
|
Logan.Li
|
e831ec2eb1
|
fix: 统一 Agent 在线状态时区
|
2026-07-27 16:32:17 +08:00 |
|
Logan.Li
|
e557782176
|
fix: 修复 Agent 状态与监控大屏
|
2026-07-27 15:56:03 +08:00 |
|
Logan.Li
|
83662487cb
|
fix: 接通服务器V2排序链路
- 将排序参数从V2 Handler传递至Service与Repository
- 增加仓储分页排序与参数白名单测试
|
2026-07-26 23:38:06 +08:00 |
|
Logan.Li
|
09e6271bb4
|
feat: 支持服务器主机名排序
- 服务器列表默认按主机名升序并支持表头切换
- 后端按白名单排序并区分分页缓存键
|
2026-07-26 23:21:10 +08:00 |
|
Logan.Li
|
6b5fc6a5c3
|
fix: 双层捕获并去重转发Escape
- Radix与终端容器共同覆盖Escape事件路径
- 对同一次按键去重后仅发送一个控制字符
|
2026-07-26 19:22:21 +08:00 |
|
Logan.Li
|
82d1b8de10
|
fix: 在终端容器捕获Escape按键
- 在xterm容器捕获阶段转发Escape控制字符
- 阻止Radix与xterm继续重复处理同一事件
|
2026-07-26 19:09:18 +08:00 |
|
Logan.Li
|
57e51ba1cd
|
fix: 从xterm直接转发Escape按键
- 在xterm自定义键处理器中发送Vim Escape控制字符
- Radix弹框仅负责阻止Escape关闭窗口
|
2026-07-26 18:45:36 +08:00 |
|
Logan.Li
|
d666840ed0
|
fix: 修复SSH终端Escape按键
- 将弹框捕获的Escape控制字符直接转发到远端
- 阻止xterm对同一次Escape事件重复发送
|
2026-07-26 18:21:55 +08:00 |
|
Logan.Li
|
82b53c043b
|
fix: 修复SSH终端还原布局溢出
- 约束xterm容器最小宽度并隐藏旧画布溢出
- 在布局绘制前同步终端与远端PTY尺寸
|
2026-07-26 18:03:33 +08:00 |
|
Logan.Li
|
198139648d
|
fix: 修复RDP最大化画面模糊
- 最大化时按浏览器可用尺寸重建RDP会话
- 隔离分辨率切换过程中的旧连接事件
|
2026-07-26 17:26:07 +08:00 |
|
attacker
|
5a427e02d4
|
fix(lint): 清理 EventsTab 冗余 eslint-disable 指令 — F7 (ca036a8) 提交时引入的 react-hooks/set-state-in-effect 标注,规则版本演进后不再触发,保留反而引入 ESLint Unused disable warning
- ESLint warnings 43→42 (-1)
- 剩余 42 warnings 全部为 react-refresh/only-export-components 架构性约束
- tsc -b=0, npm build✓ (23.04s), 17/17 集成测试通过
|
2026-07-19 18:11:32 +08:00 |
|
attacker
|
337fbff617
|
docs: ROADMAP U49 cost-predict.ts i18n 深度治理记录
|
2026-07-17 04:05:59 +08:00 |
|
attacker
|
083f4477db
|
fix(i18n): cost-predict.ts hash key 清理 + 硬编码中文清零 + 错误 key 引用修复
- 23 个 predictutilsts.s* hash-style 键重命名为 costPredict.* 语义化键
- 7 处 buildCostInsightPrompt 硬编码中文模板字面量→i18n.t() 插值调用
- 修复 costRecommendation 函数引用错误 key (predictMemLeak→costPredict.rec*)
- 修复 dimension 字段引用 predictDiskFull→costPredict.allProviders
- 修复 providerLabel 引用 predictIn24h→costPredict.allProviders
- 新增 34 个语义化翻译键 (aiops.costPredict.*), zh/en 8102→8113 对齐
- tsc -b=0, npm build✓ (19.29s), ESLint=0/43/any=0, go build=0
- 17/17 集成测试通过
|
2026-07-17 04:05:32 +08:00 |
|
attacker
|
d6ed1978ef
|
docs: ROADMAP U48 i18n locale 懒加载优化记录
|
2026-07-17 01:50:03 +08:00 |
|
attacker
|
8e211b64af
|
perf(frontend): U48 i18n locale 懒加载 — en-US JSON 动态导入拆分为独立 chunk
问题: src/i18n/index.ts 静态导入 zh-CN.json (200KB compact) + en-US.json
(292KB compact),两者共 486KB 全部内联到主 index chunk,致主 chunk 696KB
超过 Vite 600KB 警告阈值。
修复:
- src/i18n/index.ts: 移除 en-US.json 静态导入,改为 ensureLocaleLoaded()
动态导入 + i18n.addResourceBundle() 按需加载
- zh-CN (默认/回退语言) 保持静态内联,无行为变化
- en-US 仅在用户切换英文时按需 fetch (290KB 独立 chunk)
- 已选英文的用户刷新页面时异步加载 en-US (短暂中文闪烁,可接受)
- src/store/index.ts: setLanguage 调用 ensureLocaleLoaded 确保目标语言包
加载完成后再切换
结果:
- 主 index chunk: 696KB → 423KB (-39%, -273KB)
- en-US chunk: 290KB 独立懒加载 (仅英文用户首次切换时 fetch)
- Vite 600KB chunk 警告消除
- tsc -b=0, npm build✓ (18.18s), ESLint=0/43/any=0, go build=0
- 17/17 集成测试通过, Docker healthy
|
2026-07-17 01:49:25 +08:00 |
|
attacker
|
ca036a85ca
|
feat(k8s): F7 集群详情EventsTab真实后端对接 + go vet修复
1. EventsTab.tsx: DEMO_EVENTS硬编码→kubernetesApi.getEvents真实K8s事件
- 复用 normalizeK8sEvent/formatEventRelative 工具(与 EventsPage 一致)
- 新增 loading/empty 状态 + 刷新按钮
- Warning事件优先排序 + 限100条防溢出
- KubernetesClusterDetail 传入 clusterCode prop
- 修复 Q28 组件拆分时遗留的 demo 数据未对接缺口
2. aiops_alert_analysis.go: log.Printf %s→%d 修复 go vet 失败
- AlertID 类型为 uint, %s 格式符不匹配致 go test 构建失败
- go vet ./... 全量零错误
验证: tsc -b=0, npm build✓ (18.00s), go build=0, go vet=0, 17/17测试通过
Events API 返回5条真实事件 (type=Normal, reason=Pulled, count=5487)
|
2026-07-16 21:23:19 +08:00 |
|
attacker
|
a874832f10
|
fix(lint): 补全 AuditOperationsTab react-hooks/incompatible-library 抑制指令 — U12 遗漏的 TanStack Virtual 兼容性标注 (同 useVirtualRows/PodsTab), ESLint warnings 43→42 (仅剩 react-refresh 架构性约束), tsc -b=0, npm build✓, 17/17测试通过
|
2026-07-16 12:57:22 +08:00 |
|
attacker
|
96ed39d122
|
feat(i18n): U47 最后3处残余硬编码中文清零 — 全前端非注释CJK=0 (cloud-server-import阿里云/腾讯云/华为云→i18n.t + TerminalSessionsTab批量删除→t + PreviewTable类型→t), 复用已有翻译键零新增, zh/en 8102=8102对齐, tsc -b=0, npm build✓ (18.02s), ESLint=0/43/any=0, go build=0, 17/17测试通过
|
2026-07-16 04:42:09 +08:00 |
|
attacker
|
21728be445
|
feat(i18n): U46 残余UI硬编码中文清零 — 6文件12处→0 (UserFormDialog/CredentialManager/RdpAuditViewer/LiveMonitorDialog/ServerFileBrowser/context-loaders) +17翻译键 zh/en 8085→8102对齐
|
2026-07-16 02:29:47 +08:00 |
|
attacker
|
6288fa0071
|
feat(i18n): U45 AI告警分析模块i18n补全 — analyzerHelpers 25处硬编码中文→i18n.t()插值 + 预测图标双语兼容
|
2026-07-15 07:47:45 +08:00 |
|
attacker
|
05ee051879
|
refactor(i18n): U44 残余硬编码中文清零 — 终端审计状态+凭证类型+流水线阶段+时间格式+CSV导出
20 文件 ~70 处 UI 硬编码中文清零:
- credential-manager/constants.ts: 8 凭证类型 label/desc → labelKey/descKey + i18n.t()
- pipeline-run-detail/types.ts: 6 阶段 label → i18n.t('deploy.stage.*') + labelKey
- pipeline-manager/constants.ts + pipeline-editor/types.ts: 分秒 duration → i18n.t('common.duration.minSec')
- LiveMonitorDialog: 6 终端状态消息 → t()
- RdpAuditViewer: 6 RDP审计状态 → i18n.t('monitor.rdp.*')
- WorkspaceTermDialog: 2 终端连接状态 → t()
- TerminalSessionsTab: 4 时长格式+状态标签 → i18n.t()/t()
- k8s-event-utils + QueryHistoryPanel: 6 相对时间 → i18n.t('common.duration.*Ago')
- export-audit.ts: 9 CSV导出表头 → i18n.t('system.auditExport.*')
- useAuditSettings: 4 审计保留策略消息 → i18n.t('system.auditSettings.*')
- event-handler.ts: 4 AgentCLI事件消息 → i18n.t('aiops.cli.*')
- 其他 9 文件: NotifyPolicyTab/RoleFormDialog/CronJobViewDialog/TerminalOutput/shared-components/prometheus-ds/helpers/CloudServerImport/AdvancedSettingsPanel/releaseManagerHelpers
新增 75 翻译键, zh/en 7987→8059 对齐
tsc -b=0, npm build✓ (17.13s), ESLint=0/43/any=0, go build=0, 17/17 测试通过
|
2026-07-14 23:13:32 +08:00 |
|
attacker
|
bd1ccefa7f
|
fix(k8s): 修复 shared-components.tsx JSX 结构错误致前端构建失败 + 补全残余 i18n 硬编码中文
- fix: shared-components.tsx ContainerInfo 端口区块多余 <div> 标签致 JSX 闭合错误 (TS17008)
- i18n: EventsPage/DeploymentDetail/DeploymentEditAdvanced/Containers/Storage 等 K8s 组件残余硬编码中文→t() 调用
- i18n: zh/en 7987 键完全对齐, 新增 k8s.eventsPage/k8s.workload 等语义化键
- tsc -b=0, npm build✓ (17.48s), ESLint errors=0/warnings=43/any=0, go build=0
- 17/17 集成测试通过, Docker 部署 healthy
|
2026-07-14 20:07:46 +08:00 |
|
attacker
|
39a4432f79
|
refactor(i18n): U43 深度残余硬编码中文 UI 文本清零 — 17 文件 ~40 处→0
趋势标签(上升/下降/平稳) + K8s 卡片标题(Pod级别/安全上下文/实例/详情) + data-table 默认值(搜索/暂无数据) + Deployment 编辑器标签(数据卷/挂载/只读写/manifest提示/镜像拉取凭证) + HostSettings 4 个命名空间描述 + 7 个 K8s 页面刷新按钮 + 资源编辑器新建/编辑 + Agent 执行命令描述 + 账单保存成功 toast + 容量预警标题
新增 common 30 语义化翻译键, zh/en 7898→7928 对齐
tsc -b=0, npm build✓ (16.55s), ESLint=0/43/any=0, go build=0, 17/17 测试通过
|
2026-07-14 05:27:49 +08:00 |
|
attacker
|
c6e0d6ca57
|
refactor(i18n): U42 残余硬编码中文彻底清零 — 33文件54处→0, zh/en 7847→7898对齐
全量 JSX children + toast/confirm + sr-only 描述硬编码中文清零:
- Kubernetes模块: UpdateStrategyCard maxSurge/maxUnavailable说明 + IngressCreateForm host域名/Service端口 + ServiceCreateForm 端口配置/selector + DeploymentEditService 无selector/个关联/暂无Service/Ingress + ClusterOverviewPage 核 + KubernetesClusterDialog 已配置 + KubectlTerminal/ResourceVisualEditor/CreateHPADialog/DeploymentEditContainers/Storage + PodInstancesTable/UpdateStrategySelectorCards
- AI模块: PredictiveCapacityTab AI深度解读/紧急/警告/7天预测/预计N天 + PredictiveCostTab AI深度解读 + event-handler.ts 高危操作确认toast
- Deploy模块: DeployCredentials 启用/禁用 + DeployRBAC 删除角色confirm + WorkspaceTermDialog + CredFormDialog Windows用户
- Monitor模块: AlertRulesTab 删除confirm/分钟 + PrometheusDatasourceManager/LogDatasourcePage 删除confirm + QueryHistoryPanel 条
- System模块: ServerFileBrowser/TerminalDialog/RdpAuditViewer sr-only + SystemManager/CredentialManager/TerminalSessionsTab 删除confirm + SecuritySettingsTab 30分钟/2小时
- Task模块: CronJobViewDialog 次
新增 61 翻译键 (k8s.editAdvanced 6 + k8s.editService 11 + k8s.cluster 2 + k8s.misc 9 + aiops.capacity 9 + aiops.cost 1 + aiops.cli 2 + deploy 4 + monitor 5 + system 10 + task 1 + common 2)
tsc -b=0, npm build✓ (17.71s), ESLint=0/43/any=0, go build=0, 17/17 测试通过
|
2026-07-14 00:51:36 +08:00 |
|
attacker
|
a7838aaf65
|
refactor(i18n): U41 残余硬编码中文清零 — 工具函数+审计RDP标签+AIOps分析+Monitor残余+审批选项
18 文件 ~35 处 UI 硬编码中文→t()/i18n.t() 调用:
- agent-utils.ts timeAgo() 秒前/分钟前/小时前
- utils.ts formatDistanceToNow() 分钟前/小时前/天前
- request.ts 响应解析失败错误消息
- ActiveSessionsPanel/HistorySessionsPanel RDP 在线/历史会话标签
- MetricsExplorer 清除/已选/最近1小时
- HostMonitor 当前主机 subtitle
- AIAnalysisResult 证据链 (新增 useTranslation hook)
- capacity-predict.ts 容量预测摘要模板
- ApprovalResourcePage 阿里云/腾讯云/华为云
- ApprovalPermissionPage 堡垒机
- site-monitor/helpers.ts 频率/时间/证书天数格式化
- site-monitor/analytics.ts 证书剩余/检查失败/延迟波动事件
- middleware-monitor MwTargetChartsPanel/MwTrendChart/helpers.ts
- snmp-monitor SnmpMetricTrendChart/SnmpDeviceChartsPanel
- host-monitor/utils.ts 图表点数标签 + PortPolicyDialog 系统进程说明
新增 34 翻译键 (common.duration.secAgo/hourAgo/dayAgo + common.selected/
responseParseError/rdpActiveSessions/rdpHistorySessions/rdpSessionCount/
evidenceChain/last1Hour/currentHost + monitor.lbl 10键 + monitor.siteMonitor
8键 + approval.provider 3键 + approval.permType 1键 +
monitor.portPolicyDialog.systemProcessDesc + aiops.capacity.summary)
zh/en 7813→7847 对齐; tsc -b=0, npm build✓ (17.31s), ESLint=0/43/any=0,
go build=0, 17/17 测试通过
|
2026-07-13 22:21:47 +08:00 |
|
attacker
|
4e2ba77aa8
|
refactor(i18n): U40 Monitor + Agent 子组件残余硬编码中文 i18n 补全 — 14 文件 ~50 处→0
- ContextSwitchCard: CTX/IRQ/次 → t()
- ProcessTable: agentWaitData/cpuUsagePercent → t()
- FDUsageCard: fdHandles → t()
- PortMonitorTab: 黑名单/白名单/策略配置/暂无端口数据 → t()
- PortPolicyDialog: 白名单全量上报/黑名单仅上报/端口列表/逗号分隔/白名单无需配置/已输入端口 → t()
- HostTimeRangePicker: 时间范围/自定义/取消/应用 → t()
- DualLineChart: 接收/发送 → t(), i18n.t→useTranslation hook
- ZoomableAreaChart: 暂无数据 → t()
- SiteResultsPanel: 选择任务/次/可用率/立即拨测/SSL证书预警/到期/剩余/阈值/天 → t()
- MiddlewareMonitor: Redis单机集群/上次更新/添加平台默认/暂无实例 → t()
- SiteMonitor: subtitle → t()
- SNMPMonitor: 标题/采集间隔/IP地址/OID模板/SNMP版本/确认/暂无设备/采集指标/暂无指标 → t()
- HealthProbeSection: TCP目标地址/TCP端口 → t()
- AgentAlerts: Agent告警/刷新/未恢复/已恢复/恢复/新建规则/创建第一条规则 → i18n.t()
新增 monitor.lbl 46 语义化翻译键 + agent.alerts 6 键
zh/en 7762→7814 对齐
tsc -b=0, npm build✓ (16.88s), ESLint=0/43/any=0, go build=0, 17/17 测试通过
|
2026-07-13 19:45:45 +08:00 |
|
attacker
|
70a7c2907c
|
docs: ROADMAP — U39 残余 JSX 属性/模板字面量中文清零
|
2026-07-13 13:13:26 +08:00 |
|
attacker
|
5205def47f
|
refactor(i18n): U39 残余 JSX 属性/模板字面量中文清零 — 14 处→0
10 文件修复:
- DualLineChart: subtitle 接收/发送→i18n.t(monitor.lbl.receiveSend)
- NetworkTab: 5处 unit="个"→t(common.unitCount)
- FDUsageCard: subtitle 当前→t(monitor.lbl.currentFDUsage)
- NamespaceOverviewPage: subtitle 命名空间概览→i18n.t(k8s.nsOverview.subtitle)
- NamespaceManagementPage: subtitle 资源配额→i18n.t(k8s.nsMgmt.quotaSubtitle)
- CreateHPADialog: title+text 命名空间→i18n.t(k8s.hpa.targetInfo)
- LogFieldSidebar: title 个值→i18n.t(common.fieldValues)
- LiveMonitorDialog: title 全屏/退出全屏→t(common.fullscreen/exitFullscreen)
- ExecutionHistoryDialog: title 成功/失败→t(task.execHistory.successFail)
- LdapSettingsTab: className 成功检查→ldapTestSuccess boolean 状态
新增 11 翻译键 (common.unitCount/fieldValues/exitFullscreen/fullscreen +
monitor.lbl.receiveSend/currentFDUsage + k8s.nsOverview.subtitle/nsMgmt.quotaSubtitle/hpa.targetInfo +
task.execHistory.successFail), zh/en 7751→7762 对齐
tsc -b=0, npm build✓ (16.94s), ESLint=0/0/any=0, go build=0, 17/17 测试通过
|
2026-07-13 13:12:54 +08:00 |
|
attacker
|
a1d82574a7
|
refactor(i18n): U38 phantom CTK 清理 — 13 文件 16 处模板字面量/JSX 属性残余中文→i18n.t() 调用
13 文件 16 处 UI-facing phantom CTK (i18n.t() 模板字面量中的中文片段) 全部替换为语义化 i18n.t() 调用:
- LogsHeader: '行'suffix→common.lineSuffix
- analyzerHelpers: '当前值'→common.currentValue
- DeploymentEditStorage: 2 toast description→k8s.editStorage.*Desc (插值)
- WorkloadViewPage: 2 toast description→k8s.workloadView.restartSentDesc + k8s.workloads.scaleSuccessDesc (插值)
- ServerFileBrowser: confirm→common.confirmDeleteType (插值)
- LogDatasourcePage: toast '可达'→aiops.reachable
- LogAlertsPanel: confirm→monitor.deleteRuleConfirmDesc (插值)
- DeployTargetFields: JSX '(多容器时填写)'→common.fillIfMultiContainer
- UserGroupsManager: 3 处 confirm/desc→deploy.rbac.deleteGroupDesc + pipeline.removeMemberDesc + common.memberCount (插值)
- BuildNodesManager: JSX '(可选)'→common.optional (已有键复用)
- useLdapManagement: confirm→system.ldapMgmt.deleteEntryDesc (插值)
新增 14 语义化翻译键 (5 common + 2 k8s.editStorage + 1 k8s.workloadView + 1 k8s.workloads + 1 aiops + 1 monitor + 1 deploy.rbac + 1 pipeline + 1 system.ldapMgmt), zh/en 7737→7751 +14 对齐
tsc -b=0, npm build✓ (16.86s), ESLint=0/43/any=0, go build=0, 17/17 测试通过
|
2026-07-13 08:55:28 +08:00 |
|
attacker
|
7c80e35411
|
refactor(i18n): U37 全量 JSX 文本节点硬编码中文清零 — 65 文件 151 处→0, 新增 common.* 98 翻译键, zh/en 对齐, tsc -b=0, npm build✓ (17.96s), ESLint=0/43/any=0, go build=0, 17/17 测试通过
|
2026-07-13 06:39:08 +08:00 |
|
attacker
|
e274ba7b9b
|
docs: ROADMAP — U36 全量 JSX 属性 + toast 硬编码中文清零
|
2026-07-13 04:20:33 +08:00 |
|
attacker
|
09b7fd4ad5
|
refactor(i18n): U36 全量 JSX 属性 + toast 硬编码中文清零 — 20 文件 30 处 → 0
清理 23 处 JSX 属性 (title/placeholder/label/description) + 7 处 toast 调用硬编码中文:
- Deploy 模块 (AppRelease/DeployCredentials/PipelineManager/WorkspaceTermDialog/CredFormDialog/JobRoleCreateDialog/PipelineCreateDialog/AdvancedSettingsPanel)
- Server 模块 (ServerForm)
- System 模块 (LdapManagementSection/LiveMonitorDialog/SystemManager)
- Audit 模块 (ActiveSessionsPanel/HistorySessionsPanel)
- Monitor 模块 (AlertRulesTab/PrometheusDatasourceManager/SNMPMonitor)
- AIOps 模块 (PredictiveCapacityTab)
- Common/UI (TerminalLoadingOverlay/copy-button)
新增 25 翻译键 (common.connectingEllipsis/enteringWorkspace/connectingMonitor + deploy.* 11键 + server.jsonFormatPlaceholder + system.* 3键 + audit.* 2键 + monitor.* 3键 + aiops.aiAnalysisFailedToast + pipeline.subtitle)
copy-button.tsx 从 import i18n → useTranslation() hook
3 组件新增 useTranslation hook (TerminalLoadingOverlay/WorkspaceTermDialog/LiveMonitorDialog/PredictiveCapacityTab)
zh/en 7616→7640 +24 对齐, tsc -b=0, npm build✓ (17.25s), ESLint=0/43/0, go build=0, 17/17 测试通过
|
2026-07-13 04:20:10 +08:00 |
|
attacker
|
8d64936caf
|
refactor(i18n): U35 Deploy + Task 模块残余 JSX 硬编码中文清理 — PipelineRunPanel 12处 + CronJobTable 12处 + ExecutionHistoryDialog 10处 + ScrollButtons 2处, 新增 54 翻译键(deploy.runStatus/task.cronJobCol/task.execHistory/deploy.credCol/common.*), zh/en 7565→7616 对齐, tsc -b=0, npm build✓ (17.02s), ESLint=0/43/0, go build=0, 17/17 测试通过
|
2026-07-12 23:47:22 +08:00 |
|
attacker
|
0dbb85f5b8
|
refactor(i18n): U34 System & User 模块 i18n 清理 — ProfilePage + ResetPasswordDialog + SystemRolesTab + LdapManagementSection 4 文件 UI 硬编码中文清零
- ProfilePage.tsx: 从零接入 useTranslation,基本信息/安全设置/密码修改/用户名邮箱手机/账号来源 15 处中文→t()
- ResetPasswordDialog.tsx: 从零接入 useTranslation,重置密码标题/描述/LDAP提示/新密码确认密码/确认重置 11 处中文→t()
- SystemRolesTab.tsx: 权限分组标签(云资源/自动化/审批/审计)+toast 校验+confirm description+角色计数+空状态+权限列表计数+编码标签+尾部文案 12 处中文→t()/i18n.t()
- LdapManagementSection.tsx: 验证按钮+根OU标签+创建按钮×2+导入按钮+编辑用户描述 8 处中文→t()
- 新增 user.profile.* 14键 + user.resetPwd.* 11键 + system.* 16键 共 41 翻译键
- zh/en 7524→7565 +41 对齐
- tsc -b=0, npm build✓ (16.05s), ESLint errors=0/any=0/unused=0, go build=0
- 17/17 集成回归测试通过
|
2026-07-12 21:29:58 +08:00 |
|
attacker
|
ad9acea1e5
|
refactor(i18n): U33 K8s 资源编辑器 + Pod 日志/Metrics 模板字面量中文清零
resource-visual-editors/ 5 文件 (ConfigMap/Secret/Service/Ingress/PvcEditor):
- 保存按钮文案 (保存配置/密钥/Service/Ingress/PVC)
- IngressEditor: (可选)/手工输入/帮助文本/常见示例/手动输入/继续手动输入
- PvcEditor: 访问模式描述 (单节点读写/多节点只读/多节点读写)
pod-logs-viewer/ 3 文件:
- ControlBar: 导出/刷新/实时/停止按钮
- LogContentArea: 加载中… 占位
- LogsHeader: 日志标题模板
PodLogsViewer: 6 处错误消息 + DialogTitle/Description
PodMetricsPage: subtitle 模板字面量 + 所有命名空间
PodExecTerminal: 连接错误消息
17 处 toast description 模板字面量中文→i18n.t() 插值:
- DeploymentEditAdvanced/Containers/Storage: 更新已提交
- DeploymentView: 回滚/伸缩
- DeploymentDetail: 伸缩/镜像更新
- DeploymentEditService: 资源删除
- ResourceVisualEditor/NamespaceResourcePage: 资源更新/YAML下载
- ClusterOverviewPage: 集群未找到
- DeploymentEditContainers: 容器名称/镜像为空
5 处 confirm description 中文→i18n.t() 插值:
- DeploymentView/EditService/Detail/WorkloadViewPage/MiddlewareMonitor/SiteMonitor/HealthProbeSection
5 处 subtitle 模板字面量中文→i18n.t():
- PodMetricsPage/CapacityPage/EventsPage/KubernetesNodes/ClusterOverviewPage
新增 k8s.rve 14键 + k8s.toast 18键 + k8s.podMetrics 4键 + k8s.podLogs 13键 = 49 翻译键
zh/en 7481→7524 完全对齐
tsc -b=0, npm build✓ (17.76s), ESLint errors=0/warnings=43/any=0, go build=0, 17/17 测试通过
|
2026-07-12 16:51:57 +08:00 |
|
attacker
|
5fbb5f824d
|
docs: ROADMAP — U32 全量 hash key 清理 + React Hooks 修复完成
|
2026-07-12 14:35:33 +08:00 |
|
attacker
|
ff426d908b
|
refactor(i18n): U32 全量 hash key 清理 — 151 个 hash key → 语义化键 + React Hooks 警告 53→43
- 151 个 hash-style flat key (s+hex 后缀) 全部重命名为语义化 nested key
- monitor 58 个: alertChannelDialog/alertManager/alertRulesTab/chartRangeHint/
esIndexPicker/helpers/hostMonitor/logAlertSpanel/logClusterPanel/logDingAssistant/
logQueryToolbar/logRbac/lokiLabelBrowse/metricsExplorer/middlewareMonit/
mwOverviewChart/portPolicyDialog/prometheusDashb/queryHistoryPan/savedQueriesPan/
siteMonitor/snmpMonitor/snmpOverviewChart/zabbixDashboard/zabbixDatasource
- kubernetes 42 个: deploymentBundle/deploymentEditAdvanced/deploymentEditService/
deploymentView/deploymentWorkload/eventsPage/kubernetesCluster/namespaceManage/
namespaceResource/podExecTerminal/podFileBrowser/podLogsViewer/podMetricsPage/
resourceVisualEditor/workloadViewPage
- aiops 17 个: agentCliMessage/aiAnalysisResult/analyzerHelpers/assistant/predictUtils
- agent 12 个: agentAlerts/agentMonitor/hostDetailDialog
- cloud 13 个: billingRecordDialog/billingRuleDialog/platformManager
- pipeline 6 个: buildNodesManage/deployRbac/deployTargetField
- system 3 个: auditSetting
- 58 个源文件中的 147 处 t()/i18n.t() 调用更新为语义化键路径
- 3 个命名空间冲突修复 (monitor.hostMonitor/agent.agentMonitor/aiops.aiAnalysisResult
原 string 值提升为 .title 子键)
- React Hooks 警告修复 (53→43, -10):
- exhaustive-deps 4→0: useMemo/useCallback 添加 t 到 deps 数组
- preserve-manual-memoization 5→0: 变量遮蔽修复 (filter(t)→filter(tg))
- 1 个冗余 eslint-disable 指令移除 (CronJobManager)
- zh/en 7480=7480 完全对齐, 0 个 hash key 残留
- tsc -b=0, npm build✓ (17.59s), ESLint errors=0/warnings=43/any=0
- go build=0, 17/17 集成测试通过, Docker healthy
|
2026-07-12 14:35:01 +08:00 |
|
attacker
|
4f2d279865
|
refactor(i18n): U31 AIOps Agent CLI 组件 i18n 修复 — Q7/Q35 拆分后丢失的 i18n 集成全部修复
6 个文件迁移 (AgentCLI + AgentCLIToolbar + AgentCLIHistory + AgentCLIEmptyState + ChatInputArea + agent-cli-constants.ts):
- 新增 aiops.cli.* 命名空间 100 翻译键 (10 子分类)
- SAFETY_MODES/TIPS_HOST/TIPS_KUBERNETES 常量改为 getSafetyModes(t)/getTipsHost(t)/getTipsKubernetes(t) 工厂函数
- 全部 UI 硬编码中文清零 (66→0)
- zh/en 7381→7481 +100 键对齐
- tsc -b=0, npm build✓ (18.21s), ESLint=0/53/0, go build=0, 17/17 测试通过
|
2026-07-12 12:17:47 +08:00 |
|
attacker
|
6dfddb426c
|
docs: 更新 ROADMAP — U30 i18n 损坏调用修复完成
|
2026-07-12 09:49:46 +08:00 |
|
attacker
|
3039b76cb5
|
fix(i18n): U30 修复 8 处批量 i18n 转换损坏的调用 — DeploymentEditContainers/DeploymentEditStorage/AgentRuleDialog/LogFieldSidebar
损坏原因: 早期批量正则 i18n 转换 (U20 记录的 i18n.t() 损坏模式遗留) 将模板表达式/JSX
碎片错误包裹进 i18n.t() 调用, 产生运行时垃圾文本渲染.
修复清单:
- DeploymentEditContainers.tsx:85 — toast 调用 description 字段损坏 (i18n.t('), description: ...'))
- DeploymentEditStorage.tsx:175 — !manifest 空状态文案损坏
- DeploymentEditStorage.tsx:202 — 数据卷卡片副标题损坏
- AgentRuleDialog.tsx:111 — DialogDescription 损坏 (i18n.t('>阈值 {ruleForm.metric !== '))
- AgentRuleDialog.tsx:157 — 操作符 Label 损坏
- AgentRuleDialog.tsx:183 — 端口 Label 损坏
- AgentRuleDialog.tsx:195 — 持续时间 Label 损坏
- LogFieldSidebar.tsx:68 — 搜索框 placeholder 损坏
新增 i18n 键 (zh/en 对齐 7370→7376 +6):
- agent.ruleDialog.description / operator / port / duration
- kubernetes.storage.volumeDesc
- monitor.lbl.searchFields
验证: tsc -b=0, npm build✓ (17.99s), ESLint=0/53/0, go build=0, 17/17 测试通过
|
2026-07-12 09:48:09 +08:00 |
|
attacker
|
064b6c4ec2
|
refactor(i18n): U29 phantom key 全项目清零 — 28 个 phantom key → 0
AlertRuleDialog.tsx (9处) + DeployTargetFields.tsx (3处) + HealthProbeSection.tsx (2处+1处硬编码) + PodLogsViewer.tsx (2处终端ANSI字符串) + AlertChannelDialog.tsx (2处) + PodMetricsPage.tsx/CapacityPage.tsx (各1处) + PodExecTerminal.tsx (1处终端ANSI) + BuildNodesManager.tsx (1处) + HostDetailDialog.tsx (1处)
修复类型:
- 批量正则损坏的 i18n.t('>中文 <span className=') → 语义化键
- 终端 ANSI 转义字符串 (PodLogsViewer/PodExecTerminal) → 移除 i18n.t() 包裹改纯字符串
- 硬编码中文 (取消/通知渠道提示/日志数据源提示) → i18n.t() 调用
新增 16 个翻译键 (monitor.alertRuleDialog2.* + monitor.alertChannel.name + agent.portCount + monitor.lbl.noProbeHint)
zh/en 7358→7375 +17 键对齐
phantom key 28→0 (全项目零 phantom key)
tsc -b=0, npm build✓ (17.00s), ESLint=0/53/0, go build=0, 17/17 测试通过
|
2026-07-12 07:34:42 +08:00 |
|