fix(text): give one slug to spellings of a non-ASCII name that differ in case or spacing - #15
Merged
Merged
Conversation
… in case or spacing Since v1.21.0 a slug that drops non-ASCII letters ends in a hash of the input, and the hash was taken before separators were folded: "Düsseldorf" and "DÜSSELDORF " got two keys while "Hebden Bridge" and "HEBDEN BRIDGE " shared one. A consumer keying stored snapshots by place name lost them, and its daily engine repin has failed since. The hash is now of the canonical form, and dash runs left by dropped letters are folded in the readable part; every ASCII slug keeps its name.
|
🎉 This PR is included in version 1.26.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
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.
Since v1.21.0 a slug that has to drop non-ASCII letters ends in a hash of its input — but the hash was taken before separators were folded, so
slugify("Düsseldorf")andslugify("DÜSSELDORF ")gave two keys (d-sseldorf-0b0133a9/d-sseldorf-2a4ff434) whileHebden BridgeandHEBDEN BRIDGEalways shared one.ultraprospect keys stored snapshots by place name, so its test pinning that equality fails, and its daily engine repin has been refused since 2026-09-28.
项目and文档stay distinct;Test:
slugify"gives one key to spellings of a non-ASCII name that differ only in case and separators" — red on main, green here.