feat(save): 非 UTF-8 文档保存前转码提示(docs/29 D1,用户拍板)
GBK/UTF-16 文档保存会落盘为 UTF-8,原先无任何提示。saveTab 在 落盘前拦截:首次保存弹 EncodingConvertModal 说明将转 UTF-8, 按路径记已确认、本次运行只提示一次;自动保存不弹窗也不静默 转码,跳过等手动保存时提示;确认后以冻结快照 finishSave 收尾, 标签 encoding 如实更新为 UTF-8。弹窗渲染移到弹窗栈最后,避免 被关窗确认框盖住。vitest 123+2、构建通过。
This commit is contained in:
@@ -132,6 +132,13 @@ src-tauri/src/ 全部(1289 行)。先说结论:发现 **1 个高危数据
|
||||
- D1(中)非 UTF-8 文件首次保存被静默转码为 UTF-8(GBK/UTF-16
|
||||
文档存一次即变 UTF-8):编辑器内部统一 UTF-8 是既定设计,但
|
||||
落盘编码变更应至少首次提示一次。需前端交互拍板,未擅自加。
|
||||
→ **已于当晚按用户拍板实现**:saveTab 在落盘前拦截,首次保存
|
||||
弹 EncodingConvertModal 说明将转 UTF-8(按路径记已确认、本次
|
||||
运行只提示一次);自动保存不弹窗也不静默转码,跳过该文档等
|
||||
手动保存时提示;确认后以冻结快照完成落盘,标签 encoding 如实
|
||||
更新为 UTF-8。弹窗渲染置于所有弹窗之后(避免被关窗确认框
|
||||
盖住)。vitest 123+2(含弹窗契约测试)。真机验证点:拿一个
|
||||
GBK 文档改字后 Ctrl+S,应先弹提示、确认后才落盘。
|
||||
- D2(中)专注模式跨块时全量重建装饰集:大文档每次回车重建与
|
||||
顶层块数等量的装饰对象。改增量方案需重构插件,单独立项。
|
||||
- D3(低)源码模式每次击键物化全文回写 App(无渲染模式的 200ms
|
||||
|
||||
Reference in New Issue
Block a user