Files
secrets/plans/move-secret-management-to-view.md
agent 6fde982c20
All checks were successful
Secrets MCP — Build & Release / 检查 / 构建 / 发版 (push) Successful in 6m6s
Secrets MCP — Build & Release / 部署 secrets-mcp (push) Successful in 1m36s
refactor(entries): 将编辑弹窗中的密文管理功能移到查看密文弹窗
- 编辑弹窗移除密文区域(重命名、类型修改、解绑)
- 查看密文弹窗增加:重命名(带 debounce 校验)、类型选择、解绑、保存
- 列表行密文 chips 保留只读展示,移除解绑按钮
- 简化编辑弹窗保存逻辑,不再处理密文变更
2026-04-07 13:25:33 +08:00

2.0 KiB
Raw Blame History

将编辑弹窗中的密文管理功能移到查看密文弹窗

当前状态

  • 编辑弹窗密文重命名input、类型修改select、解绑×按钮、name 可用性校验
  • 查看密文弹窗:解密后显示值、复制、显示/隐藏密码
  • 列表行:密文 chipsname+type+ 解绑按钮

变更内容

1. 编辑弹窗 — 移除密文区域

  • 移除 HTML 中 #edit-secrets-list 所在的 .modal-secrets div第559行
  • 移除 JS 中 renderEditSecretsbindSecretValidation 函数
  • 移除 openEdit 中读取/渲染 data-entry-secrets 的逻辑
  • 移除 edit-save 中 secret rename/type PATCH 逻辑
  • 移除编辑弹窗内的 unlink 事件监听器第1492-1517行
  • refreshListAfterSave 不再处理 secretRows 参数

2. 查看密文弹窗 — 增加管理功能

在每个解密字段行中增加:

  • 重命名输入框inline edit带 debounce 校验)
  • 类型下拉选择
  • 解绑按钮
  • 保存按钮(逐行或统一保存)
  • 复用现有的 PATCH /api/secrets/{id}DELETE /api/entries/{entry_id}/secrets/{secret_id} 接口

需要在 openView 中额外传入 data-entry-secrets(含 secret id/name/type以便将管理功能与解密值关联。

3. 列表行 — 保留只读摘要

  • 保留密文 chips 的 name + type 展示
  • 移除 chips 上的解绑按钮(×)
  • 移除列表行的 unlink 事件监听器第1466-1490行

4. i18n 更新

  • 为查看弹窗新增重命名、类型修改、解绑相关的中英文翻译
  • 清理编辑弹窗中不再需要的 i18n key

5. CSS 调整

  • 查看弹窗中为管理控件添加样式input/select/button 行内布局)

不涉及的变更

  • 后端 API 无需修改(复用现有接口)
  • 版本 bump视为前次 0.5.11 的一部分tag 尚未被 CI 创建)

涉及文件

  • crates/secrets-mcp/templates/entries.htmlHTML + JS + CSS
  • crates/secrets-mcp/src/web/entries.rs(无需修改,复用现有 API