Skip to content

feat(media-processing): manage derived renditions per bucket - #263

Closed
hamr-hub wants to merge 1 commit into
rustfs:mainfrom
hamr-hub:main
Closed

hamr-hub wants to merge 1 commit into
rustfs:mainfrom
hamr-hub:main

Conversation

@hamr-hub

Copy link
Copy Markdown

Exposes the server's per-bucket media processing profile on the bucket settings page, alongside on-demand migration: a summary row reporting Active / Paused / Not configured, and an editor for the rules that decide which objects are processed and what is produced from them.

The editor warns about encoders the server cannot provide. The server drops a rendition whose encoder is missing and the default log level is error, so a profile naming an unavailable codec looks correct and silently derives nothing; naming the missing encoders up front is the difference between a five-second fix and a support ticket.

A codec that cannot be carried by the chosen container is rejected before saving, for the same reason: the server would produce a file no browser opens and report nothing.

Permissions are gated on the admin:Get/SetBucketMediaProcessing actions the API already requires.

Pull Request

Description

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Test improvements
  • Security fix

Testing

  • Unit tests added/updated
  • Manual testing completed
pnpm test:run

Checklist

  • Code follows the project's style guidelines
  • Self-review completed
  • TypeScript types are properly defined
  • All commit messages are in English (Conventional Commits)
  • All existing tests pass
  • No new dependencies added, or they are justified

Related Issues

Closes #

Screenshots (if applicable)

Additional Notes

Exposes the server's per-bucket media processing profile on the bucket
settings page, alongside on-demand migration: a summary row reporting
Active / Paused / Not configured, and an editor for the rules that decide
which objects are processed and what is produced from them.

The editor warns about encoders the server cannot provide. The server drops
a rendition whose encoder is missing and the default log level is error, so
a profile naming an unavailable codec looks correct and silently derives
nothing; naming the missing encoders up front is the difference between a
five-second fix and a support ticket.

A codec that cannot be carried by the chosen container is rejected before
saving, for the same reason: the server would produce a file no browser
opens and report nothing.

Permissions are gated on the admin:Get/SetBucketMediaProcessing actions the
API already requires.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@cxymds

cxymds commented Oct 12, 2026

Copy link
Copy Markdown
Member

Why two PR

@overtrue overtrue closed this Oct 17, 2026
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.

3 participants