Skip to content

fix: ignore empty lifecycle action containers - #243

Closed
cxymds wants to merge 1 commit into
mainfrom
cxymds/fix/lifecycle-empty-action
Closed

cxymds wants to merge 1 commit into
mainfrom
cxymds/fix/lifecycle-empty-action

Conversation

@cxymds

@cxymds cxymds commented Sep 21, 2026

Copy link
Copy Markdown
Member

Summary

Follow up on #240 and rustfs/rustfs#8036 by making lifecycle action projection match the configured XML/S3 fields.

  • 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 the existing one-rule/one-delete behavior and add a regression test for empty action containers.
  • Include English desktop and mobile evidence 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/> action during lifecycle validation. RustFS currently checks only whether the expiration object is present in rule validation, so the backend should separately tighten that predicate to inspect Days/Date/ExpiredObjectDeleteMarker. This Console PR deliberately filters empty containers at display time and does not change backend execution.

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