Skip to content

v2.165.0: Native Linux Client for Yandex Messenger

Latest

Choose a tag to compare

@Bezooom Bezooom released this 15 Jul 18:34
· 4 commits to master since this release

История изменений (Changelog)

Все значимые изменения в проекте документируются в этом файле.
Формат основан на руководстве Keep a Changelog и соответствует семантическому версионированию.


2.162.0 - 2026-06-29

Добавлено

  • Интеграция Libadwaita:
    • Приложение переведено на использование libadwaita (adw::Application / adw::ApplicationWindow).
    • Стандартные плейсхолдеры аватаров заменены на современный виджет adw::Avatar с автоматической поддержкой инициалов и палитры цветов.
    • Добавлен компонент adw::HeaderBar в верхнюю часть интерфейса.
  • Улучшения списка чатов:
    • Внедрено кэширование текстур аватаров в оперативной памяти (AVATAR_CACHE), что устранило мерцание и повторные загрузки при прокрутке.
    • Реализован индикатор закрепленных чатов (булавка 📌) в строках списка.
    • Добавлена автоматическая сортировка чатов: закрепленные чаты всегда располагаются вверху списка, остальные сортируются по времени последнего сообщения.
  • Редактор и ввод сообщений:
    • Обычное поле ввода заменено на многострочный TextView с адаптивной высотой (до 120px) в ScrolledWindow.
    • Отправка сообщения теперь осуществляется по клавише Enter, а перенос строки — по Shift+Enter.
    • Добавлена функция быстрого редактирования последнего отправленного сообщения по клавише Up при пустом вводе.
  • Улучшения чата и истории:
    • Добавлено локальное кэширование строк сообщений (message_rows) для оптимизации UI и предотвращения лишних перерисовок.
    • Добавлена асинхронная загрузка и сохранение L2-кэша (load_cache_l2_async / save_cache_l2_async) в JSON-файлы через фоновый поток.
    • При выборе чата история мгновенно отображается из кэша, пока идет фоновый сетевой запрос.
    • Добавлен автоматический скролл вниз списка сообщений при переключении чатов или получении новых сообщений.
    • Реализованы визуальные разделители дат («Сегодня», «Вчера», даты).
    • Внедрена обработка сообщений-стикеров с отображением картинок размером 128x128px.
    • Внедрен режим «только эмодзи» (увеличенный размер эмодзи до 40px без пузыря баббла при отправке от 1 до 3 эмодзи).
    • Добавлены меню вложений (отправка файла, создание опроса, планирование) и меню заголовка (информация о чате, включение/выключение уведомлений).

Изменено

  • Контейнер сайдбара и чата переведен на gtk::Paned с регулируемой границей и поддержкой компактного режима сайдбара (скрытие текста при ширине < 180px).
  • Базовая ширина сайдбара уменьшена с 320 до 260px.
  • В случае сбоя или пустого каталога стикеров на сервере приложение переключается на встроенные mock-стикеры.

Исправлено

  • Устранена критическая ошибка типов E0308 mismatched types in src/ui/chat_list.rs при обработке коллбеков.
  • Исправлены GTK layout баги (бесконечный цикл и растягивание виджетов до 1048576px) за счет правильной настройки hexpand/vexpand.
  • Исправлена отправка сообщений и привязка коллбеков в ChatView через bind_callbacks.

2.160.0 - 2026-05-10

Изменено

  • Неблокирующий OAuth-диалог:
    • Локальный callback-сервер переведен на фоновый поток, что предотвращает блокировку основного GTK-цикла.
    • Кнопка авторизации меняет состояние на «Ожидаем подтверждения…» со спиннером (Spinner) во время выполнения входа.
    • Тайм-аут ожидания авторизации увеличен до 180 секунд.
    • Корректная обработка Implicit-grant flow (извлечение токена из URL fragment).
  • Упрощение интерфейса входа:
    • Поле ручного ввода токена вынесено под скрытый Expander.
  • Обновление стилей:
    • Добавлены градиенты к кнопкам, радиальное свечение на фоне окна входа и мягкие тени при фокусе на полях ввода.

Исправлено

  • Исправлены паники и ошибки инициализации Tokio-рантайма в src/ui/auth_dialog.rs.

2.158.0 - 2026-05-04

Добавлено

  • Поиск и оптимизация:
    • Добавлена ленивая загрузка медиафайлов.
    • Реализован глобальный поиск по сообщениям через оверлей GlobalSearch с вызовом по горячей клавише Ctrl+K.
    • Реализовано кэширование сообщений в оперативной памяти (L1) и фоновая синхронизация с сервером.

2.156.0 - 2026-04-25

Добавлено

  • Создана базовая архитектурная документация (ARCHITECTURE.md) и файл безопасности (SECURITY.md).
  • Добавлена поддержка автоматического обновления токенов доступа за 5 минут до истечения срока действия.