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 发布了其重写的“信息”应用,该项目已开发数月。此次发布在 Hacker News 上引发了关于应用功能及项目开发策略的即时讨论。 社区讨论的主要内容包括: * **不支持 RCS**:该应用目前不支持富通信服务(RCS)。虽然开发人员承认实现 RCS 是一项“艰巨”的任务,但这仍是该项目的长期目标。 * **开发策略**:用户正在争论项目的优先事项,质疑为何一个专注于操作系统安全的小型团队要将资源投入到消息应用中。有推测认为,该团队旨在提高平台的整体易用性,以吸引更广泛的受众。 * **反应不一**:反馈各不相同;一些用户对缺乏截图以及使用 Electron 可能带来的“臃肿”表示不满,而另一些用户则对发布公告后迅速推出的版本印象深刻。 总体而言,社区正在密切关注 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