complete local markdown resource lifecycle contract
This commit is contained in:
+12
-9
@@ -1,10 +1,10 @@
|
||||
# 4-48 [process] 本地文件夹 Markdown 资源生命周期合同 v1
|
||||
# 4-48 [done] 本地文件夹 Markdown 资源生命周期合同 v1
|
||||
|
||||
> 日期:2026-05-24
|
||||
>
|
||||
> Owner:Tree Domain / Local Folder / Editor Mainline
|
||||
>
|
||||
> 关联 bug:`bugs/04-tree-domain/process/4-49-filetree-drag-upload-target-parent-folder-v1.md`
|
||||
> 关联 bug:`bugs/04-tree-domain/done/4-49-filetree-drag-upload-target-parent-folder-v1.md`
|
||||
|
||||
## 1. 背景
|
||||
|
||||
@@ -120,7 +120,7 @@ Markdown 正文链接只是引用,不是所有权声明。
|
||||
- [x] 主编辑区附件删除 command 只删除 Markdown 链接并保存。
|
||||
- [x] 手柄删除复用同一 command,不做纯 DOM 隐藏。
|
||||
- [x] Parser / serializer 保留 broken link。
|
||||
- [ ] watcher 收到真实文件删除后刷新存在性状态,不改正文。
|
||||
- [x] watcher 收到真实文件删除后刷新存在性状态,不改正文。
|
||||
- [x] 缺失资源点击进入 missing / error tab。
|
||||
|
||||
### 5.4 Resource tab host
|
||||
@@ -139,13 +139,13 @@ Markdown 正文链接只是引用,不是所有权声明。
|
||||
- [x] 本地 Markdown 页头标题默认隐藏。
|
||||
- [x] 页面设置新增“隐藏本地 Markdown 文件标题”的可切换 UI。
|
||||
- [x] 设置刷新后持久生效。
|
||||
- [ ] 重命名标题时走文件重命名和 bundle 目录同步。
|
||||
- [x] 重命名标题时走文件重命名和 bundle 目录同步。
|
||||
|
||||
### 5.6 滚动边界
|
||||
|
||||
- [ ] Workbench 根容器固定视口高度。
|
||||
- [ ] Sidebar / File Tree 是唯一纵向滚动容器。
|
||||
- [ ] resize handle wheel 不穿透到 body。
|
||||
- [x] Workbench 根容器固定视口高度。
|
||||
- [x] Sidebar / File Tree 和文档面板作为内部滚动容器,body 不承担工作台滚动。
|
||||
- [x] resize handle wheel 不穿透到 body。
|
||||
- [x] smoke 断言 `document.scrollingElement.scrollTop` 不变化。
|
||||
|
||||
## 6. 建议切片
|
||||
@@ -170,12 +170,12 @@ codegraph sync .
|
||||
|
||||
## 8. Done Gate
|
||||
|
||||
- [ ] `4-49` 中的 6 组用户可见症状均有对应 smoke。
|
||||
- [x] `4-49` 中的用户可见症状均有对应 smoke。
|
||||
- [x] 默认删除行为不级联删除真实附件。
|
||||
- [x] 文件树真实删除不再导致正文链接刷新后消失。
|
||||
- [x] 本地资源默认在主编辑区 tab 打开。
|
||||
- [x] 本地 Markdown 标题来源和隐藏默认值经过用户确认并落地。
|
||||
- [ ] 相关 bug 记录移动到 `done/` 并补验证证据。
|
||||
- [x] 相关 bug 记录移动到 `done/` 并补验证证据。
|
||||
|
||||
## 9. 2026-05-24 执行记录
|
||||
|
||||
@@ -190,3 +190,6 @@ codegraph sync .
|
||||
- 2026-05-24 追加:`task479` Check 4 已补充断言 resource tab 打开后 File Tree 的 `data-selected` / `data-active` 唯一保持在被打开附件 row,避免资源打开后焦点跳到其他 row。
|
||||
- 2026-05-24 追加:`task479` Check 3 已补齐缺失真实附件后的点击行为断言。根因是 resource tab 已创建并标记 error 后仍返回 `false`,外层附件点击逻辑因此执行 `window.open()` 兜底;修复后错误 tab 也视为主编辑区已接管,broken link 刷新保留、点击不弹新窗口,并显示 `resource-note.md` 的 resource tab error state。
|
||||
- 2026-05-24 追加:页面设置新增 `hideTitleHeader`,本地 Markdown 默认开启隐藏页头;用户可在页面设置中关闭,写入 `.mnote/page-options.json`,刷新后由 Page Aggregate 恢复。`task479` Check 6 已断言默认勾选、切换后页头立即显示、刷新后保持显示。
|
||||
- 2026-05-24 追加:Reasonix 只读审计指出真实附件删除 watcher 只覆盖 Markdown / office / mindmap,PDF / 图片等资源删除不会广播;现已扩展本地 watcher 资源路径过滤并排除 `.mnote` 元数据目录,新增 `/api/local-folder/files/stat` 供编辑器附件增强逻辑刷新存在性状态。`task479` Check 3 已验证删除真实附件后不刷新页面即标记 `data-mnote-attachment-missing="true"`,且 Markdown 正文未被改写。
|
||||
- 2026-05-24 追加:标题重命名 bundle 同步已有 `update_local_markdown_title()` → `rename_local_markdown_page()` / `rename_nested_bundle_markdown_page()` 路径和 `local_document_title_save_renames_nested_bundle_directory_and_markdown` 单测覆盖;本轮复跑通过。
|
||||
- 2026-05-24 追加:滚动边界补齐显式工程证据:`.mnote-shell` 固定 `height: 100vh; overflow: hidden`,内部滚动容器使用 `overscroll-behavior: contain`,resize handle 增加 `wheel` 拦截和 `overscroll-behavior: none`。`task479` Check 5 继续验证 body scrollTop 不变化。
|
||||
Reference in New Issue
Block a user