Stop showing a diff that can never be pushed - #59
Merged
Conversation
visionOS 1.1.0 is the app's first version on that platform, and What's New belongs to an update — deliver skips the field out loud and uploads everything else. The text stayed on disk, so metadata_diff reported it on every run, and would have until visionOS took a second version. Two permanent phantom lines is how a diff people read becomes a diff people skip; the skill already warned about the trap and this removes it instead. So both release_notes.txt in metadata-visionos are empty now, and MetadataCheck::MAY_BE_EMPTY allows exactly that field in exactly that directory — checked to be that narrow: an empty release_notes under metadata/ is still reported. The text is no loss either way, being a first-release announcement that the next version could not reuse. The exemption carries its own removal condition, in the checker and in the skill: write the notes and delete it together, when visionOS takes a second version. An update with no What's New is refused, and by then this is what would be hiding the empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After pushing 1.1.0 to all three listings, iOS and macOS came back clean and visionOS did not:
Not a failure. deliver said why, in the push log:
What's New belongs to an update, and visionOS 1.1.0 is the app's first version on that platform, so App Store Connect has no field to fill. The text could be pushed any number of times and would never land — while
metadata_diffreported it every run, until visionOS took a second version. Two permanent phantom lines is how a diff people read becomes a diff people skip.What this does
appstore/metadata-visionos/*/release_notes.txt. No loss: the text was a first-release announcement, which the next version could not have reused anyway.MetadataCheck::MAY_BE_EMPTY, allowing that one field in that one directory — everything else still fails on empty. Checked to be that narrow: emptyingmetadata/en-US/release_notes.txtin a scratch copy is still reported asempty.releaseskill already warned that What's New shows as a difference until the second release. It now says what was done about it instead.The exemption carries its own removal condition, in both places: write the notes and delete it together, when visionOS takes a second version. An update with no What's New is refused, and by then the exemption is what would be hiding the empty file.
ruby fastlane/metadata_check.rb→appstore/ looks sendable.