Change balloon color selection to be stable per-balloon #325
+5
−3
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.
When viewing SondeHub, a user will see some number of balloons in their view. Balloons are colored with a few different colors, to make it easy to tell them apart.
Currently, the color is selected by iterating through all the balloons, one by one, and each balloon gets a color from the list of colors, sequentially. Because balloons are iterated through in a non-deterministic manner (such that inserting or removing one balloon from the set will change the outcome of the others), viewing the set of balloons multiple times will result in the colors becoming re-shuffled. Therefore, refreshing the page, or viewing it on multiple devices (including viewing the site alongside a friend) will mean the same balloon will appear with different colors on different viewings.
This PR changes the logic such that the color is chosen by a hash of the callsign for the balloon, meaning that a given balloon will always show up with the same color for all viewers on all viewings. Because the balloon_index variable is no longer used, I have removed it.