Repository navigation
Releases: AbdulKus/Frogram-X
Release list
Frogram X · 151
Full Changelog: build-150...build-151
Frogram X · 150
Уменьшено лишнее ожидание перед началом перехода в чат.
- Сигнал готовности истории сохраняется для текущей загрузки. Если он пришёл до регистрации анимации, переходу не приходится ждать запасной таймер.
- Локальная страница у конца чата может начать переход, когда сообщений уже достаточно для полной высоты списка. Загрузка оставшейся истории продолжается. Короткая страница, восстановление позиции, непрочитанные сообщения и переход к конкретному сообщению сохраняют прежнюю политику ожидания.
- Черновик ответа по-прежнему удерживает старт до завершения своей подготовки. Повторные сигналы готовности и старый таймер не запускают анимацию повторно. Новая загрузка сбрасывает сохранённую готовность.
- Добавлены отдельные метки системной трассировки для поступления первых сообщений, готовности локального экрана и ожидания истории/черновика. Метки не содержат идентификаторов чатов и аккаунтов.
Включены изменения 149: устранение повторной переразметки RecyclerView при одинаковом режиме обрезки, исправления превью из официального Telegram X, baseline profile и ProfileInstaller. Android применяет компиляцию по профилю во время фоновой оптимизации; на тестовом Nothing её применение проверено отдельно через ADB.
Длительность слайда и запасной таймер 500 мс сохранены. Сборка не обещает устранить ожидание ещё не загруженной истории.
Проверки: исполняемые JVM-проверки производственных методов готовности — оба порядка событий, повторный сигнал, старый таймер, новый контекст, черновик ответа, полный/короткий локальный экран и разные якоря; тесты превью, обновлений и геометрии стеклянного интерфейса.
Источники перенесённых изменений: превью Telegram X, профиль Telegram X.
Frogram X · 149
Уменьшена лишняя работа интерфейса при открытии чатов и обновлении превью.
- Повторная установка одинакового режима обрезки списка больше не вызывает переразметку RecyclerView. Проверено на настоящем AndroidX RecyclerView, включая рисование под прозрачными панелями и XML-настройки.
- Из официального Telegram X перенесены исправления повторного построения списка превью и обновления его заголовка. Смена цитаты, локального вложения и очистка списка продолжают обновлять содержимое.
- Добавлен актуальный baseline profile Telegram X и методы навигации Frogram. Профиль входит в APK и устанавливается через AndroidX ProfileInstaller; компиляцию по нему Android выполняет при фоновой оптимизации, поэтому сам факт обновления приложения не означает немедленный переход в этот режим.
- Добавлены метки системной трассировки для разделения обработки нажатия, создания экрана, подготовки стекла и ожидания перед переходом. Метки не содержат названий чатов и идентификаторов аккаунта.
Продолжительность слайда и условия готовности истории/черновика сохранены. При проверке разных чатов на физическом Android 16 удалось поймать 150–520 мс до старта перехода при обработке самого нажатия за 3–14 мс. Значительная часть задержки относится к ожиданию истории; в этой сборке она ещё не устранена полностью. Компиляция по профилю на физическом устройстве подтверждена, но не отменяет это ожидание.
Проверки: тесты обновлений и превью, JVM-проверки геометрии стекла и позиции сообщений, нативные проверки рисования RecyclerView и переходов стеклянных панелей.
Источники: исправления превью Telegram X, профиль Telegram X, порядок проверки компиляции Android.
Frogram X · 145
Исправлена лишняя нагрузка при открытии и закрытии чатов со стеклянными панелями.
- Убраны повторные запросы переразметки списков из обработчика геометрии шапки. Также убраны принудительные GPU-слои размером со весь список чатов и сообщений. Длительность слайда сохранена.
- Раннее нажатие на верхнюю стрелку «назад», в том числе во время ожидания данных чата, сохраняется и выполняется после завершения открытия. Повторные нажатия объединяются; движение пальца и отменённое касание не вызывают возврат.
- Последнее сообщение сохраняет нижний отступ при исчезновении плеера после окончания голосового сообщения или видеокружка. Изменение верхнего отступа учитывает текущую позицию истории и не переопределяет запланированные переходы к сообщениям.
- Тихое обновление группового уведомления больше не меняет владельца всплывающего баннера. Исправлена воспроизведённая причина его мгновенного сворачивания на Android 16; повторный звук не добавляется.
Проверено на физическом Nothing с Android 16: внутри Frogram экран работал на 90 Гц. В сопоставимых 18-секундных трассах число переразметок RecyclerView уменьшилось с 6416 в build 143 до 8 в build 145, суммарное время записи команд рисования — с 5,59 до 0,84 секунды. При возврате стрелкой 90-й процентиль времени кадра составил 20–21 мс в двух прогонах против 31 мс в build 140. Это измерение времени кадра, не обещание стабильных 90/120/144 FPS: отдельные задержки остаются.
На телефоне проверены ранний возврат и окончание видеокружка; на эмуляторе — двойное нажатие и отмена касания движением. Нативные проверки охватывают четыре плотности экрана, геометрию стекла и плеера, раскрытие закрепов/ответа, обратный переход, перемещение видеоплеера и уведомления. Проверка настоящего RecyclerView 1.4.0 подтверждает устранение повторных запросов layout при неизменной геометрии. Сборка и проверки CI прошли.
APK для Android 7.0+ (ARM64), подписан прежним постоянным ключом. Метаданные обновления, версия, контрольная сумма и подпись проверены.
Frogram X · 144
Full Changelog: build-143...build-144
Frogram X · 143
Full Changelog: build-142...build-143
Frogram X · 142
Full Changelog: build-141...build-142
Frogram X · 141
Full Changelog: build-140...build-141
Frogram X · 140
Full Changelog: build-135...build-140
Frogram X · 135
Исправлено мигание светлого градиента в верхней части стеклянной шапки после перехода. Переход и обычное состояние теперь рисуют градиент поверх стекла в одном и том же порядке.
Содержимое скрытой входящей панели больше не захватывается и не размывается повторно во время её раскрытия: снимок готовится после расширения блока, перед появлением новых элементов. В проверке раскрытия скрытого блока число захватов снизилось с шести до одного. Временный GPU-кэш списков и длительность перехода 350 мс сохранены.
Проверки: воспроизведение обеих ошибок на предыдущем коде; совпадение пикселей верхнего градиента с обычной отрисовкой; отсутствие захватов невидимого содержимого; отрисовка на плотностях 160/320/440/560 dpi, ответ в поле ввода, плеер, возврат и отмена свайпа; тесты геометрии, viewport, blur и обновлений. Прирост общего FPS на физическом телефоне пока не измерен.
Обновление стеклянных фонов учитывает область изменившейся строки. Аватарки и эмодзи вне панели и её края размытия больше не запускают захват фона этой панели. Изменения в зоне размытия, прокрутка, разметка и перемещение строк продолжают обновлять фон. В Android-проверке 100 изменений вне области панели дали 0 захватов вместо 100; это показатель устранённой работы, а не обещание прироста общего FPS.