GrapheneOS 重写的“信息”应用已发布
GrapheneOS' rewritten Messages app is released

原始链接: https://github.com/GrapheneOS/Messaging/releases/tag/13

第 13 版是一次全面的彻底重构,将整个界面迁移至 Jetpack Compose 和 Material 3。此次更新引入了具有表现力的自适应设计,支持大屏设备(包括双栏布局),并新增了以隐私为核心的引导流程。 主要功能改进包括: * **对话管理:** 新增置顶、稍后提醒、未读标记和滑动归档功能。重新设计了多选操作,以提升效率。 * **消息传递:** 重构了消息气泡和详情页,增加了彩信主题编辑功能,并优化了收件人选择体验。通过全新的照片选择器、音频录制和更强的附件支持,增强了媒体处理能力。 * **隐私与稳定性:** 新增隐私设置,包括 YouTube 预览选择性开启功能,以及对共享内容更严格的验证。修复了大量问题,解决了崩溃、通知发送、消息同步及数据处理方面的故障。 * **无障碍与技术:** 改进了屏幕阅读器支持,并优化了无障碍提示。应用现已适配 Android 16 (SDK 37),更新了相关依赖库(包括 Kotlin 2.4 和 Material 3 Adaptive),确保了更现代、安全且高效的运行基础。 总而言之,第 13 版带来了更精致的用户体验、更高的稳定性,并大幅提升了对现代 Android 标准的功能支持。

GrapheneOS 最近为其平台发布了重写的短信应用,采用了使用 Kotlin 和 Jetpack Compose 构建的现代化界面。该更新目前可通过 GrapheneOS 应用商店的 Alpha 通道获取。 Hacker News 上的讨论主要集中在以下几个关键领域: * **开发与策略:** GrapheneOS 正在积极对其核心应用进行现代化改造,以改善用户体验并提高可维护性。开发团队确认了实施带有消息层安全协议(MLS)的 RCS 计划,旨在提供与其他主流平台兼容的端到端加密。 * **Fairphone 兼容性:** 一个反复出现的争论点是 GrapheneOS 对 Fairphone 缺乏支持。GrapheneOS 维护者澄清说,Fairphone 的硬件和软件生命周期(特别是其对第三方 ODM 和已停止维护内核的依赖)使其无法满足 GrapheneOS 严格的安全和更新要求。 * **项目资金:** 在回应关于透明度的问题时,该项目表示完全依靠捐款(主要通过加密货币)进行资助。团队目前正在扩充全职开发人员规模,以加快应用开发进度。 * **用户反馈:** 虽然许多用户欢迎界面现代化,但也有一些用户对功能退步、缺乏可靠的系统级备份方案,以及在去谷歌化环境中管理通信平台所面临的持续困难表示不满。
相关文章

原文

Notable changes in version 13:

Version 13 replaces the legacy interface with Jetpack Compose and Material 3. It rebuilds every screen, adds new conversation controls and large-screen support, and fixes problems with crashes, notifications, security, and message handling.

Interface

  • Material 3 / Expressive design with shapes
  • Two-pane conversation layout on large screens
  • New adaptive app icon with a monochrome variant
  • New onboarding covering SMS privacy, permissions, and default-app setup
  • Correct display cutout and system bar handling in both orientations

Conversation list

  • Pin conversations
  • Snooze notifications for 1, 8, or 24 hours, or indefinitely
  • Mark conversations as unread from the menu or by swiping
  • Swipe to archive or unarchive
  • Quick actions from conversation avatars
  • Redesigned multi-select actions for archiving, deletion, blocking, and notifications
  • Indicators for unread, pinned, snoozed, notifications off, work profiles, and incoming MMS status
  • Redesigned archive screen
  • Pinning, archiving, and deletion now apply immediately

Conversations

  • Rebuilt message bubbles, grouping, selection, and link handling
  • Select multiple messages for deletion
  • Full-screen message details with copyable sender, recipients, timestamps, delivery status, size, type, and priority
  • SMS segment and character counter
  • Add, edit, or remove MMS subjects from the conversation overflow menu
  • Blocked-sender banner with an unblock action
  • Add participants to existing conversations or create groups from the new-chat screen
  • Redesigned recipient picker with alphabetical sections, email addresses, formatted numbers, and multiple numbers per contact
  • Emergency numbers cannot be dialed from conversations
  • SIM fallback now uses the system default instead of the first SIM
  • Top-bar actions for calls, contact cards, and conversation settings
  • Attachment limits checked before sending, with visible send errors
  • Messages arriving during conversation deletion are no longer destroyed

Attachments and media

  • Rebuilt media picker with photo and video capture, flash controls, and Android's embedded photo picker
  • Redesigned audio recording with slide-to-cancel and hands-free locking
  • Attachment captions
  • Rewritten photo viewer with pinch-to-zoom, page indicators, details, and correct system bar handling
  • Rewritten vCard viewer with avatars, contact-change refresh, and saving to contacts

Sharing and forwarding

  • New share picker with search, recent conversations, alphabetical contacts, and multi-select
  • Edit shared content, add a subject, preview it, and choose a SIM
  • Forwarding and the widget use the same picker
  • The widget's new-message button opens the new-chat screen
  • Missing shared text is read from its content URI; missing subjects use the shared title
  • Sharing failures are now reported

Settings

  • Rewritten main, general, and per-SIM settings
  • New Privacy section
  • Rewritten licenses screen with generated license data
  • Existing per-conversation notification settings are preserved

Privacy and security

  • YouTube link previews are opt-in and disabled by default
  • Shared-content validation rejects file: URIs and private app files, and checks content URI permissions
  • Shared text read from content URIs receives the same private-file checks
  • Widget receivers are no longer exported, and widget intents are restricted to the app
  • Pending intents use FLAG_IMMUTABLE where mutability is not required
  • Allocation limits added to EXIF APP1, MMS PDU, and MMS content-type parsing
  • Fixed GIF null dereferences, missing dimension checks before native transcoding, and signed-character colour corruption
  • Updated the AOSP vCard parser with upstream fixes
  • Bounded notification people lists, fixing issue a reported crash
  • Onboarding explains that SMS is unencrypted and recommends end-to-end encryption for sensitive messages

Crash fixes

  • Fixed crashes in the widget, failed SMS database inserts, declined-call quick responses, settings for unsaved numbers, and share intents
  • Share intents no longer silently drop attachments

Messages and notifications

  • Incoming SMS messages are imported immediately
  • Failed-message notifications are delivered correctly
  • Inline notification replies no longer open the home screen
  • Unread notifications survive reboots
  • Blocked conversations no longer play notification sounds
  • Deleted conversations no longer receive notifications during sync
  • Sync no longer overwrites archive changes
  • Fixed a race between MMS downloads and notifications
  • Pending MMS messages show their subject and download status
  • Unknown group senders show their phone number
  • Rewritten Class 0 message dialog with correct timeout and lifecycle handling
  • Low-storage warnings are dismissible and also appear when the message database is full

Multiple users and work profiles

  • Secondary-user notifications show message content and use unique IDs
  • Secondary users are told that pending MMS must be retrieved by the Owner user; the downloaded messages are then available to all users
  • Work-profile conversations are labelled

Accessibility

  • Screen-reader labels for screens, panes, controls, and rows
  • Timestamps announce full weekday names
  • Copying message details is available as an accessibility action
  • Fixed conversation-list focus and swipe-action state announcements
  • Sending a message produces an announcement and sound

Testing

  • Expanded unit and instrumented tests for the new data, domain, and Compose UI layers
  • Tests, builds, and static analysis run on every pull request
  • License reports are generated and checked in CI

Platform and dependencies

Updates to dependencies and required platform version:

  • minSdk 36
  • targetSdk 37
  • compileSdk 37
  • Android Gradle Plugin 9.3.2
  • Kotlin 2.4.10
  • Gradle 9.7.1
  • Glide 5.0.9
  • Guava 33.7.1
  • libphonenumber 9.0.38
  • Added Compose BOM 2026.08.00, Material 3 Adaptive, Navigation 3, Coil 3, and CameraX

A full list of changes from the previous release (version 12) is available through the Git commit log between the releases.

联系我们 contact @ memedata.com