Release pack published: 30.07.2026
Release 1.26.51 «Сеть» открывается короткой, а не стеной - Блоки «Прокси» и «Ноды» помнят, свернул их пользователь или развернул. Первый заход в «Сеть» теперь всегда короткий — оба блока свёрнуты, — а дальше страница открывается ровно в том виде, в котором её оставили. Состояние хранится на устройстве и не уезжает ни на другое устройство, ни в бэкап. - Счётчик строк в заголовке блока: «Прокси (2)», «Ноды (3)». Свёрнутый блок теперь честно говорит, есть ли внутри что-нибудь, и его не нужно открывать, чтобы это выяснить. Счётчик живой: ноды, полученные от контакта, попадают в него сами, без открытия блока. - Кнопка «Очистить застрявшие сообщения» появилась в обычном интерфейсе — раньше она была только в отладочном. Показывается вместе со строкой «Ожидают отправки: N» и только тогда, когда в очереди действительно что-то есть: чистить пустую очередь незачем, а кнопка без повода — лишний шум. --- Version history Version 1.26.50 "Соединяем звук" stops being a silent hole - Пульс соединения после «Ответить». Самая неудачная тишина всего звонка была сразу после ответа: телефон уже у уха, человек говорит «алё» в ещё не поднявшуюся линию, а надпись «Соединяем звук» он в этот момент не видит. Теперь эта фаза звучит тем же спокойным пульсом, что и поиск маршрута, и обрывается ровно в момент, когда звук пошёл. - Симметрично для обеих сторон: звонящий попадает в ту же фазу, как только приходит ответ, и раньше тоже слышал там пустоту. - Пульс не наезжает на первые слова: он прекращается по факту установленного медиапотока, а не по таймеру. Version 1.26.49 the start of a call stops sounding like a glitch - В начале звонка был одинокий «бряк», потом тишина, и только потом гудки. Поиск маршрута обычно занимает доли секунды, а сигнал «идёт работа» повторялся раз в 1.6 с — фаза успевала кончиться после ОДНОГО писка, который слышался случайным щелчком, а не сигналом. Пульс стал плотным (каждые 0.6 с) и с мягким нарастанием, поэтому даже короткий поиск звучит как ритм, а не как сбой. - Закрыта дыра между фазами. Подготовка звука и внутренний сброс состояния перед поиском маршрута не имели звука вообще — отсюда пауза сразу после первого писка. Теперь озвучено всё от создания звонка до момента, когда устройство собеседника подтвердило вызов. Молчит только проверка микрофона: под системным диалогом разрешения пищать незачем. Version 1.26.48 a finished call says so - Короткие гудки в конце звонка. «Занято» (425 Гц, 0.35 с через 0.35 с) — когда собеседник занят, отклонил, не ответил, недоступен или у него нет микрофона. Одиночная нисходящая пара — когда разговор просто закончился: собеседник положил трубку, оборвалась сеть, отвалился DTLS. - Цикл «занято» ограничен тремя повторами. На стационарном телефоне он гудит, пока не положишь трубку; здесь трубки нет, экран закрывается сам, и бесконечный цикл превратился бы в нытьё. - Тишина, если звонок закончили вы: положили трубку, отклонили входящий, профиль заблокировался. На настоящем телефоне опускание трубки тоже беззвучно, а что произошло, приложение и так говорит текстом. Version 1.26.47 dialing finally sounds like dialing - Гудки при исходящем звонке. Раньше дозвон шёл в полной тишине, и звонок выглядел мёртвым. Теперь пока ищется маршрут звучит тихий короткий сигнал «идёт работа», а как только устройство собеседника подтвердило вызов и зазвонило — привычные длинные гудки 425 Гц, секунда через четыре. - Звук локальный: он играет только у звонящего и не подмешивается в WebRTC-поток. Тон синтезируется, а не лежит файлом — гудок это ровно синусоида по известной каденции, и генератор даёт точный тайминг без хвоста недоигранного буфера после ответа. - Разделение фаз честное: длинные гудки начинаются не по факту нажатия кнопки, а только на ringing_peer, то есть после принятого подтверждения с той стороны. Пока идёт проверка микрофона и подготовка звука — тишина. Version 1.26.46 the call toggles are actually round on the phone - Кнопки микрофона и динамика на телефоне так и не стали круглыми, а «Завершить» осталась ниже них. Правка 1.26.42 не доезжала до телефона: общее правило .phone-shell button (класс + элемент) перебивает по специфичности .call-action и .call-action-icon (класс), поэтому тумблеры получали общий радиус кнопки и превращались в скруглённые квадраты, а кнопка завершения — общую высоту --btn-h вместо 48px, которые должны были совпасть с кругами. Обе величины повторены в phone-секции, где выигрывают. В файле это уже третий случай той же ловушки — рядом лежат такие же починки для кнопки поиска в боковой панели и для кнопок управления передачей файлов.