mirror of
https://github.com/MarekWo/mc-webui.git
synced 2026-10-30 23:51:57 +01:00
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>