Skip to content

fix: ignore empty lifecycle action containers - #244

Merged
cxymds merged 3 commits into
mainfrom
cxymds/fix/lifecycle-empty-action-v2
Sep 21, 2026
Merged

cxymds merged 3 commits into
mainfrom
cxymds/fix/lifecycle-empty-action-v2

Conversation

@cxymds

@cxymds cxymds commented Sep 21, 2026

Copy link
Copy Markdown
Member

Summary

Follow-up to #240 and rustfs/rustfs#8036, rebased on the latest main.

  • Ignore empty Expiration: {} and NoncurrentVersionExpiration: {} containers instead of rendering fake actions.
  • Preserve explicit delete-marker settings, zero-day schedules, date schedules, and non-empty transitions.
  • Keep one lifecycle rule row and one delete action per original rule.
  • Add regression coverage and English desktop/mobile screenshots.

Validation

  • pnpm test:run — 605 tests passed.
  • pnpm type-check — passed.
  • pnpm lint — passed.
  • pnpm format:check — passed.
  • git diff --check — passed.

Screenshots

Desktop Mobile
Lifecycle desktop Lifecycle mobile

Backend note

MinIO rejects an empty <Expiration/> during lifecycle validation. RustFS currently checks only whether the expiration object is present, so the backend should separately validate Days/Date/ExpiredObjectDeleteMarker. This PR fixes Console projection; backend execution remains unchanged.

@cxymds
cxymds merged commit 1459cdc into main Sep 21, 2026
10 checks passed
@cxymds
cxymds deleted the cxymds/fix/lifecycle-empty-action-v2 branch September 21, 2026 04:06
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