Repository navigation
Top Heard: repeater names and a longer list - #39
Merged
Merged
Conversation
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.
Summary
Two Discord requests that followed the repeater nicknames (#36):
What changed
Settings > Map > Markers. The settings are renamed to match the box's own "Top Heard" header. The three sub-settings only appear while Top Heard on Map is on.
Label order. Nickname, then server name (when the switch is on), then hex.
SE-JKP-…, are what nicknames are for.When the hex stays. The existing unique-match rule still applies: an ID that matches more than one repeater keeps its hex. So do
Unknownnames, names flagged hidden (🚫), and names that are blank or only invisible characters.Row count is for the in-app box only.
Watch payload guard.
ExternalSurfaceGeoBuilder.buildHeardnow trims ping rows to make room for the RX row instead of cutting RX off at the 4-row wire cap. The provider already passes only 3 rows; this is a backstop."HEARD NOW n" fix. An RX repeater was counted twice when the ping had also heard it but ranked it below the 3 rows the Live Activity shows. Example: the ping hears 5, the RX repeater is the 4th of them, and the card read 6. The app now keeps the full set of repeaters the ping heard, so the RX repeater adds 1 only when the ping didn't hear it. This was a pre-existing bug, and fixing it needed the longer stored list.
No changes to the server, Swift code or wire format.
Preferences. Two JSON preference fields,
topHeardRowsandtopHeardShowNames. Bad stored values fall back to the defaults, and older stored preferences load with the defaults.Docs.
DEVELOPMENT.mdanddocs/LIVE_ACTIVITIES.mdare updated.Testing
flutter analyze: no issues.flutter test: all 2536 pass, 1 skipped (as before).shortenServerName: the 8-character cut, the trailing-space trim, emoji not split, whitespace and zero-width cleanup, and blank or format-only names returning null.labelForwithuseServerName: nickname first, server name otherwise,Unknownand hidden keep the hex, shared IDs keep the hex, and the switch off behaves as before.UserPreferences: defaults, JSON round trip,copyWith, and out-of-range row values clamped or defaulted.buildHeardkeeps the RX row when fed more than 3 ping rows.Formatting: only lines this PR added were formatted. The repo-wide
dart formatdrift ondevis untouched.