История изменений (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 typesinsrc/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 минут до истечения срока действия.