Панель:
• шесть страниц с маршрутизацией по хэшу: Обзор, Last Heard, Хотспоты,
Группы, Доступ, Настройки;
• журнал приходит живым потоком (SSE) вместо опроса раз в две секунды;
• Last Heard: кто, куда, когда, сколько, через какой хотспот;
• в таблице хотспотов — ВСЁ, что устройство сообщает в RPTC.
Контроль доступа (два независимых уровня, их легко перепутать):
• хотспот пускается по паролю — у каждого может быть свой, плюс режим
«только из списка» и отключение конкретного устройства;
• абонент (поле src, владелец рации) допускается белым/чёрным списком с
поддержкой диапазонов. Встроено в штатный хук guard ядра.
Два бага по дороге:
• поля RPTC читались как colorcode/latitude/longitude, а разборщик отдаёт
color_code/lat/lon — половина таблицы молча пустовала;
• столбец «описание» на деле содержит СТРАНУ: именно туда Pi-Star кладёт
country. Переименован.
tests/test_access.py 20/20, tests/test_panel.py 31/31 (включая наполнение
Last Heard настоящим рукопожатием и голосовым вызовом по UDP).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XvX94Vwy7vXWEuiFm1g9Av