Summary
After a successful manual import, the step that writes the book's ASIN into the file's own tags never gets there. There are two independent faults in the tag writer, and this PR repairs both. It does not turn the feature on: the gate in FileMover.MarkerlessRegistration.cs is untouched, so on canary an import still does not reach the writer, and enrichment stays disabled until it is a release decision. I think that matches what was agreed in #842.
The earlier title and body claimed that an import now embeds the ASIN. I think that was wrong for canary, because of the gate, so I retitled the PR.
Changes
Fixed
UnixOpenFlagsgainsOpenReadWriteNoFollow()besideOpenWriteNoFollow(), andPinnedFileEntry.OpenIndependentWriteStreambecomesOpenIndependentReadWriteStream.Mpeg4.File.Save()parses the existing box structure through the stream it writes to, so a write-only handle throwsNotSupportedExceptionmid-parse. The handle is still opened relative to the pinned parent, still refuses to follow a link, and is still checked against the validated file object.ApplyAsinTagasks for the tag by type,file.GetTag(TagTypes.Apple, create: true), instead of testingfile.Tag is AppleTag. An MPEG-4 file'sTagis aCombinedTagwrapping the Apple tag, so the type test never matched andSave()rewrote an unchanged file. As far as I can tell only MPEG-4 answers to Apple, so mp3 and flac should fall through as before; the existing Id3 fall-through test still passes.
Added
- A group named File Metadata Enrichment under Settings > General > File Management, below Completed File Action, with "Enable metadata enrichment" and a nested "Include hardlinked files". Both are unchecked, disabled and marked "Not available yet", and the hardlink option carries the warning that tagging a hardlink changes the download source too. Neither is bound to a setting, so nothing is saved or read. `C...
Automated Canary build