[18.0] [MIG] auto_backup_fs_file#3619
Open
rrebollo wants to merge 9 commits into
Open
Conversation
rrebollo
marked this pull request as draft
May 20, 2026 13:32
rrebollo
force-pushed
the
18.0-mig-auto_backup_fs_file
branch
from
May 20, 2026 13:35
06fe630 to
9067782
Compare
rrebollo
marked this pull request as ready for review
May 20, 2026 13:45
rrebollo
force-pushed
the
18.0-mig-auto_backup_fs_file
branch
from
May 20, 2026 13:57
9067782 to
8665d1e
Compare
…initial files and configurations
…file - Add invisible='method == "fs_file"' to folder field in form view - Add invisible='method != "fs_file"' to responsible_id field - Override folder to required=False; add constrains for local/sftp only - Add test assertion that folder is unset for fs_file configs
… stack - Remove direct fs.rm_file() call from cleanup(); rely on unlink() + GC - Add unlink() override on db.backup.fs.file to explicitly cascade ir.attachment - Add missing @api.depends on _compute_is_expired - Remove dead get_fs_storage_filename() method - Add test assertion that ir.attachment is gone after cleanup
…ed cleanup - ROADMAP.md: folder field is hidden and non-required when method=fs_file - USAGE.md: new section explaining cleanup and deferred file deletion via fs_attachment garbage collector - CONTEXT.md: add paragraph on GC-based cleanup mechanism
rrebollo
force-pushed
the
18.0-mig-auto_backup_fs_file
branch
from
June 10, 2026 22:57
8665d1e to
ec466af
Compare
…on_backup The parent action_backup() builds `successful` exclusively from local/sftp records. When successful.cleanup() was called, the cleanup() override filtered self for method=='fs_file' and received an empty recordset — making fs_file cleanup dead code in the production backup flow. Fix: track successfully completed fs_file backup configs in action_backup() and call cleanup() on them explicitly after super().action_backup(). Add test_action_backup_triggers_cleanup to validate cleanup fires through the production call path (action_backup) not just direct cleanup() calls.
rrebollo
force-pushed
the
18.0-mig-auto_backup_fs_file
branch
from
July 21, 2026 22:41
af085ae to
3c3926b
Compare
This was referenced Jul 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Standard migration from v17 (closes #3047).
Additionally, the following bugs found during QA were fixed:
Hide folder/responsible_id when method=fs_file (400b8e3e) — The
folderandresponsible_idfields were visible andfolderwas required even when the backup method wasfs_file, which was confusing. Nowfolderis hidden and non-required whenmethod='fs_file'.Delegate file deletion to fs_attachment GC (2860b8a5) —
cleanup()was callingfs.rm_file()directly on the storage backend, bypassing thefs_attachmentgarbage collector. Now deletion is delegated to the standard GC pipeline (ir.attachment.unlink()→_fs_mark_for_gc()→ autovacuum), ensuring transactional safety.Fix typos (686b6b18) — License header had malformed
[]()brackets; INSTALL.md had a trailing:wa.@BinhexTeam T22572