Fix extended hash in exported url#7280
Draft
sida-wang wants to merge 2 commits into
Draft
Conversation
- Add bit flag to indicate which version of clusterNodeIds the build is using - Add logic to accomodate previous clusterNodeIds for backwards compatibility - Sort hashes before generating the URL
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.
Fixes #6736 .
Description of the problem being solved:
Currently the passive URL generated during export is different to the one from the official site.
This is because PoB generates the extended hashes using by converting an internal nodeId and doesn't sort the hashes before encoding.
This PR aligns the extended hashes with what is exported from the official site, as well as ensuring the same sorting of the hashes to generate the same URL as the official site.
Whats changed?
nodeIdfor cluster nodes has been updated to include 2 bits which determine the type of socket the cluster jewel is a part of. This will be 0 if the node belongs to a cluster jewel socketed into a large cluster socket, 1 if socketed into a medium cluster socket and 2 if socketed into a small cluster socket.nodeIdalso includes a new bit flag to indicate if it's using the new version to allow for backwards compatibility. This means that previously saved builds will still load correctly.PassiveSpecClass:EncodeURL()Steps taken to verify a working solution: