Skip to content

Document That a Rewrite Drops Tags Whatever RemoveTags Says - #1147

Merged
ptr727 merged 3 commits into
developfrom
docs/remux-drops-tags-1141
Nov 1, 2026
Merged

ptr727 merged 3 commits into
developfrom
docs/remux-drops-tags-1141

Conversation

@ptr727

@ptr727 ptr727 commented Nov 1, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #1141 by keeping the current behavior and documenting it.

  • Every step that rewrites a file writes through MkvMerge with InputOptions.Default(), which drops tags and attachments whatever RemoveTags says. That incidental removal keeps a tool from adding tags during processing.
  • RemoveTags is the explicit, in-place MkvPropEdit removal for a file no MkvMerge pass rewrites.
  • The lossless timestamp repair (setts) is the one rewrite with no MkvMerge pass. It is named as the exception, and the behavior question is filed as Decide Whether the Lossless Timestamp Repair Drops Tags Like Every Other Rewrite #1146.
  • Cover art removal clears attachments in place whatever RemoveTags says, and that is stated too.

Changes: a paragraph in ARCHITECTURE.md "Remux and Container Steps", a note on the RemoveTags bullet in README.md, and a why-comment on MkvMergeBuilder.InputOptions.Default() (hence the comments label). No behavior change.

Verification

  • CSharpier, dotnet build (0 warnings), and dotnet format style --verify-no-changes --severity=info pass. markdownlint and cspell pass in the pre-commit hook.
  • prose_lint.py --diff is clean, with comment-added covered by the label.
  • A local strict review pass checked each claim against the source and found the setts exception and the in-place attachment removal, which commit 6e8123a fixes. The re-review found nothing, and the pass is recorded.

🤖 Generated with Claude Code

ptr727 and others added 2 commits November 1, 2026 09:53
Every step that rewrites a file ends in an MkvMerge pass with
InputOptions.Default(), which drops tags and attachments so a tool never
adds tags during processing. RemoveTags is the explicit in-place removal
for a file no step rewrites. Keep that behavior and state it where a
reader and a reviewer will look.

Closes #1141

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The setts repair moves FfMpeg output over the original with no MkvMerge
pass, and cover art removal clears attachments in place, so state both
rather than claiming every rewrite drops tags.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ptr727 ptr727 added the comments Permits the comment lines the pull request adds or edits, which the prose gate otherwise refuses label Nov 1, 2026
Copilot AI lite review requested due to automatic review settings November 1, 2026 18:00
@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 4 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: caea2444-f318-4d4e-a1f1-600910c567b0
Commits

Reviewing files that changed from the base of the PR and between e94db43 and 77c9c9a.

Files selected for processing: 3
  • ARCHITECTURE.md
  • PlexCleaner/MkvMergeBuilder.cs
  • README.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can show, collapse, or hide each part of a finding: code, evidence, and all

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@ptr727

ptr727 commented Nov 1, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 6e8123acd9b013ee6a30dc7511ab898544f44e33, the content this pull request carries at that commit against develop, and it recorded 0 findings.

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Document tag removal during MkvMerge rewrites

📝 Documentation 🕐 Less than 10 minutes

Grey Divider

AI Description

• Clarify that MkvMerge rewrites drop tags and attachments regardless of RemoveTags.
• Document the lossless timestamp repair exception and in-place cover art removal.
• Add a code comment explaining why MkvMerge excludes metadata by default; behavior is unchanged.
Diagram

graph TD
  P["File processing"] --> D{"Output path?"}
  D -->|MkvMerge rewrite| M["Default input options"] --> X["Metadata dropped"]
  D -->|setts repair| S["FfMpeg timestamp repair"] --> K["Tags may persist"]
  D -->|explicit removal| E["MkvPropEdit cleanup"] --> X
Loading
High-Level Assessment

Documenting the existing behavior is appropriate for this PR. Changing MkvMerge options to honor RemoveTags would alter processing behavior and could retain tags added by other tools; the separate question of setts behavior can be addressed independently.

Files changed (3) +5 / -1

Documentation (3) +5 / -1
ARCHITECTURE.mdExplain metadata handling across rewrite paths +2/-0

Explain metadata handling across rewrite paths

• Documents MkvMerge's unconditional removal of tags and attachments across rewrite steps. Identifies the lossless timestamp repair exception and distinguishes in-place tag and cover art removal.

ARCHITECTURE.md

MkvMergeBuilder.csExplain the default metadata-exclusion options +2/-0

Explain the default metadata-exclusion options

• Adds a comment explaining that the existing input options prevent rewrites from carrying tool-added tags and points readers to the documented exception. No executable code changes.

PlexCleaner/MkvMergeBuilder.cs

README.mdClarify the scope of RemoveTags +1/-1

Clarify the scope of RemoveTags

• Notes alongside the setting that remuxes and re-encodes drop tags and attachments regardless of its value.

README.md

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

ARCHITECTURE.md inaccurately describes all cover-art removal as in-place, overlooking paths that remove attachments through MkvMerge rewrites.

1 open issue
What changed in this PR

This documentation-only pull request records existing metadata behavior for file rewrites: MkvMerge removes tags and attachments independently of RemoveTags, with lossless timestamp repair documented as an exception.

Changes:

  • Documents rewrite behavior and the timestamp-repair exception in ARCHITECTURE.md.
  • Clarifies RemoveTags behavior in README.md.
  • Explains the rationale for default MkvMerge input options in MkvMergeBuilder.cs.
File Summary
README.md Documents that remuxes and re-encodes remove tags and attachments regardless of RemoveTags.
PlexCleaner/​MkvMergeBuilder.cs Explains why default MkvMerge input options exclude tags and attachments.
ARCHITECTURE.md Describes rewrite, timestamp-repair, and cover-art metadata behavior; includes a minor wording inconsistency about which cover-art paths remove attachments in place.

This pull request is ready to be approved.

Review effort: Lite

Comment thread ARCHITECTURE.md Resolved
The MkvMerge cover art path removes the track through a remux, so only
the FfProbe and MediaInfo paths clear attachments in place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ptr727

ptr727 commented Nov 1, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 77c9c9a9b05763f64b39ec455e90edce94c51e8f, the content this pull request carries at that commit against develop, and it recorded 0 findings.

@ptr727
ptr727 merged commit 7d1ccbc into develop Nov 1, 2026
23 checks passed
@ptr727
ptr727 deleted the docs/remux-drops-tags-1141 branch November 1, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comments Permits the comment lines the pull request adds or edits, which the prose gate otherwise refuses

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants