журнал передач/2026-09-12v1.0.11

1.0.11 — дверной звонок настоящий, а лог едет один раз

   ·  ✦   ·        ping → pong, или парковка мертва       ·   ✦
 ✦    ·     ·      ящику предлагается дельта               ·      ·

Два вечера измерений вместо догадок — и числа сдвинулись.

Сообщения шли минутами. Путь через реле быстрый — измерен в десятках миллисекунд, — значит минуты прятались в другом месте, и код сказал где. Телефон паркует слушателя на своём реле и спит на сокете; когда операторский NAT тихо роняет проброс, сокет остаётся «открытым» для телефона, хотя дотянуться до него уже нельзя. Единственной пробой был keepalive раз в двенадцать минут, чья отправка никогда не проваливалась, а страховочный опрос ждал десять минут — слушатель же «здоров». Теперь каждый пинг ждёт понга в пятнадцать секунд; нет понга — парковка мертва, узел перепарковывается за секунды и сразу собирает почту. В сотовой сети пинг идёт раз в четыре минуты — внутри того, что терпят операторские NAT. Смена сети перепарковывает немедленно, не доверяя сокету, который отобрала старая сеть. Рестарт реле больше не стоит лестницы ретраев (от одной до шестнадцати минут): сессия, которая была припаркована, возвращается за пять–пятнадцать секунд. А страховка под звонком — три минуты, не десять. Панель диагностики показывает каждую припаркованную сессию с её собственными уликами — сколько припаркована, когда реле в последний раз ответило, как часто звонил звонок — и говорит «no answer — re-parking», когда понг просрочен.

Реле возило одни и те же байты снова и снова. Каждый пуш раньше вручал ящику каждого получателя весь лог пространства, полагаясь на дедупликацию приёмника — честно, и 48 МБ в минуту от одного только демо-каталога. Теперь ящику предлагается только то, чего он ещё не держит; история перекладывается заново лишь когда меняется маршрут, когда заявленный маршрут вытесняет догадку, или раз в день на угаданном реле. Измерено на амстердамском реле: 1270 путов в минуту стали 62, 48 МБ стали 1.7. Ничего в том, что считается доставленным, не изменилось.

Призраки и демоны. Записанное предположение о маршруте старше тридцати дней — больше не маршрут. Узел без собственного окна — CLI-публикатор за каталогом — теперь знает, что на него не смотрят, пока не используют его локальный API, и отдыхает в фоновом ритме.

Операторам реле. terminal-relay --status-listen отдаёт публичную, только-агрегатную страницу статуса — включая число припаркованных слушателей, то самое, которое показывает сайт.

🐛 Сломалось или обещает больше, чем может доказать? → Полевые заметки.

релиз на github ↗скачать сборку →