Skip to content

fix: Flatpak 文件授权、附件迁移与故障恢复 - #9

Draft
SuceV587 wants to merge 1 commit into
mainfrom
fix/portable-library-recovery
Draft

SuceV587 wants to merge 1 commit into
mainfrom
fix/portable-library-recovery

Conversation

@SuceV587

Copy link
Copy Markdown
Collaborator

Flatpak 文件选择原先无法可靠取得沙箱外文件授权;完整备份恢复到不同位置后,旧绝对附件链接仍指向原目录;当前数据库无法初始化时,也缺少可用的恢复入口。此次改动接入系统文件对话框,以当前数据库拥有的附件身份解析旧链接,并允许从启动失败页面恢复到同级新空间,保留原数据库及侧车文件。

  • 保存到 portal 返回的准确路径,处理取消、重复打开和扩展名;保持现有 Flatpak 文件系统权限。
  • 新附件使用相对 URL,Markdown 导出读取数据库 BLOB;副本与模板调整附件路径,历史、草稿、模板和最近删除中的引用阻止误回收。无法完整导出的资源在结果窗口提示。
  • 校验备份后准备完整新空间,通过活动位置记录切换;保留实例锁,明确处理发布后的磁盘同步不确定状态。正常空间恢复继续生成保护备份。
  • 外部 Markdown 保存前独立提交恢复草稿;冲突后的继续输入也会更新草稿。草稿未落盘、旧修订回包和写入成功但清理失败均有对应处理。
  • 增加附件、恢复、跨位置迁移测试,扩展 controller/QML 回归及现有 Flatpak CI。设计与边界见 docs/portable-recovery.md。

验证状态:

  • git diff --check 通过。
  • 较早候选通过原生 Qt 6.10.2 和 KDE 6.11 SDK 编译;repository、managed-assets、managed-recovery、editor-session 四组测试通过。
  • 同一候选的 notes-chrome 有 5 个失败,notes-controller 因过时测试假定崩溃;相关修正及后续代码尚未重跑,不能视为通过。
  • 最新快照的 VM 构建和实际 Flatpak portal 图形验收被执行环境的自动审批拦住。尚无最终编译、全套回归、实际 FileChooser 请求及 portal 保存结果证据。

以 Draft PR 上传,等待当前提交的 CI 和剩余 VM/GUI 验收;本次不包含版本发布或应用目录更新。

Use system file dialogs in Flatpak, preserve damaged libraries during backup recovery, and checkpoint external edits before saving. Resolve managed attachments by database identity and add recovery and portability regressions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant