Guard /nl GUI against null member names - #39
Open
grepsedawk wants to merge 1 commit into
Open
Conversation
The member list sorts by current name via String.CASE_INSENSITIVE_ORDER, which dereferences the name to compare characters. When name-api returns null for a member (its data is populated separately and can be stale or unreachable), the comparator throws and opening /nl crashes with a NullPointerException. Wrap the comparator in Comparator.nullsLast so null-named members sort to the end instead of crashing the GUI. This does not fix the underlying name-api lookup; names still resolve to null until that connection is healthy. It just keeps the GUI usable when they do.
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.
Opening
/nl <group>throws a NullPointerException when name-api returns null for any member. The member list sorts by current name withString.CASE_INSENSITIVE_ORDER, which dereferences the name to compare characters, so one null member crashes the whole GUI before it opens.Comparator.nullsLastsorts null-named members to the end instead of crashing.This does not fix the underlying name-api error. name-api is populated separately and can be stale or unreachable; until that connection is healthy, those members still resolve to null and render as "null" in the GUI. This change only ensures
/nlstays usable under those same conditions instead of failing to open.