Files
mc-webui/app
MarekWoandClaude Opus 5 77fc1230ea feat(repeaters): discover neighbours and remove them from the list
The Neighbours pane could only read the repeater's list. The standard
MeshCore app offers two more commands from its overflow menu, and there
was no way to reach either from here:

- `discover.neighbors` — repeater-firmware only, so a node type that does
  not have it answers with an error we surface verbatim rather than
  reporting a success
- `neighbor.remove <prefix>`, with an empty prefix clearing the whole list

Remove-all deliberately gets its own endpoint instead of going through
/cli: the firmware matches `neighbor.remove ` on all 16 bytes including
the trailing space, and the CLI endpoint strips the command, so the
console cannot express it at all. The prefix is validated as hex of even
length — the firmware derives the byte count as len/2 and would silently
match a wider set than asked for.

Both actions are admin-only (the list itself needs only a login) and live
behind a kebab menu next to Refresh, which keeps the header on one line
on a phone once the Refresh label is dropped below `sm`.

Single removal goes through a detail dialog opened by selecting a row or
a map marker, rather than a trash icon per row: that row already
truncates names at 390px, and a delete button at the edge of a scrolling
list is the easiest thing in the panel to mis-tap. The dialog doubles as
somewhere to show the pubkey prefix, SNR, last-heard time and position,
which the list has no room for; guests see it without the button.

Also caps the name column at 40vw and scrolls the table in its own box,
so a long neighbour name no longer drags the whole page sideways.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 22:07:01 +02:00
..