fix(checkpoints): surface skipped_oversize to users and stop misreporting failed deletes as restored

Follow-up to the salvaged #95207 fix, completing the misreport bug class:

- restore() now also drops delete_targets whose unlink failed (OSError
  swallowed) from restored_files — the sibling of the kept-oversize
  misreport the salvaged fix closed.
- /rollback output in the CLI (cli_commands_mixin) and gateway
  (slash_commands + gateway.rollback.kept_oversize locale key in all 17
  catalogs) now tells the user which files were kept because the size
  cap excluded them from every checkpoint; previously the file was
  correctly preserved but the user got no notice it was not reverted.
- Regression test for the failed-unlink misreport.
This commit is contained in:
kshitijk4poor
2026-08-26 16:28:07 +05:30
committed by kshitij
parent 595b5ce68a
commit d62a05e94c
21 changed files with 66 additions and 5 deletions
+1
View File
@@ -280,6 +280,7 @@ Future messages in this room will use that transcript until `/reset` or another
invalid_number: "無效的檢查點編號。請使用 1-{max}。"
restored: "✅ 已還原至檢查點 {hash}:{reason}\n已自動儲存回復前的快照。"
kept_user_edits: "↷ 已保留您的手動編輯:{files}\n若也要還原這些檔案,請使用 /rollback <N> --all。"
kept_oversize: "↷ 已保留(檔案過大無法納入檢查點,沒有可還原的儲存副本):{files}"
restore_failed: "❌ {error}"
diff: