GrapheneOS' rewritten Messages app is released
GrapheneOS Messaging 13 полностью переработан на Jetpack Compose и Material 3, с обновлённым интерфейсом, улучшенной поддержкой больших экранов и множеством исправлений в стабильности, безопасности и удобстве использования. Добавлен новый адаптивный значок приложения, экран настройки с акцентом на конфиденциальность SMS и правильную обработку вырезов и системных панелей в обеих ориентациях.
В списке диалогов теперь можно закреплять беседы, откладывать уведомления на 1, 8, 24 часа или навсегда, помечать как непрочитанное свайпом или через меню, а также архивировать или разархивировать одним движением. Добавлены индикаторы для закреплённых, отложенных, отключённых уведомлений, рабочих профилей и статуса входящих MMS. Действия с архивацией, удалением и блокировкой применяются мгновенно, а экран архива полностью переработан.
В самих диалогах улучшены пузырьки сообщений, группировка, выделение и обработка ссылок. Добавлен счётчик сегментов и символов SMS, возможность редактировать темы MMS, баннер с разблокировкой для заблокированных отправителей и выбор SIM-карты по системному умолчанию при fallback. Переработан выбор получателей с разделением по алфавиту, поддержкой email, форматированных номеров и нескольких номеров на контакт. Экстренные номера нельзя набрать из чата, а сообщения, приходящие во время удаления диалога, больше не уничтожаются.
Медиа и вложения получили новый выбор фото и видео с поддержкой захвата, вспышки и встроенного выбора Android, а также переработанную запись аудио с жестом свайпа для отмены и блокировкой hands-free. Просмотр фото и vCard теперь поддерживает зум, индикаторы страниц, детали и сохранение в контакты. Делиться контентом стало удобнее благодаря новому выбору с поиском, недавними чатами и многократным выбором, с возможностью редактировать текст, добавлять тему и выбирать SIM перед отправкой.
В настройках добавлен раздел конфиденциальности, переписаны основные и per-SIM параметры, а экран лицензий теперь генерирует данные динамически. Улучшена безопасность: превью YouTube-ссылок отключено по умолчанию, проверка共享 контента блокирует опасные URI, виджеты больше не экспортируются, а PendingIntent используют флаг immutability. Добавлены лимиты при парсинге EXIF, MMS и типа контента, исправлены проблемы с GIF, цветовой коррупцией и парсером vCard. Уведомления теперь сохраняют непрочитанное состояние после перезагрузки, не звучат для заблокированных чатов и не сбрасывают изменения архива при синхронизации.
Для многопользовательского использования и рабочих профилей: уведомления во вторичных пользователях показывают содержание сообщений, а ожидающие MMS должны быть получены владельцем, после чего становятся доступны всем. Диалоги в рабочем профиле помечены специальной меткой. Доступность улучшена: метки для TalkBack, полные названия дней в таймстампах, копирование деталей сообщения как действие доступности и звуковое подтверждение при отправке. Тестовое покрытие расширено для слоёв данных, домена и Compose-UI, с проверками на каждом pull request. Обновлены зависимости: minSdk 36, targetSdk и compileSdk 37, AGP 9.3.2, Kotlin 2.4.10, Gradle 9.7.1, а также добавлены Compose BOM, Material 3 Adaptive, Navigation 3, Coil 3 и CameraX.