功能定位:已读回执在 Letstalk 里的角色与边界

在 Letstalk 的会话模型里,“已读回执”并不是简单的双勾变色,而是一条由接收端 MLS 1.3 密钥树签名的加密状态事件。发送方收到该事件后,客户端才会把消息气泡从“已送达”切换成“已读”。关闭该事件的发送,就等于在协议层屏蔽了“阅读”这一状态,对方无论是否点开消息,都只能看到“已送达”。

经验性观察:7.4.0 把回执事件拆成了两条子类型——readReceiptreadReceiptPlus(带动画特效)。关闭前者即可满足“隐藏已读”需求;若连动画都想省,可一并禁用后者,发热量可降约 4 °C(Reddit 样本:iPhone 13,10 分钟连续读 200 条消息)。

值得注意的是,这一机制与早期版本的双勾逻辑完全不同:旧版依赖客户端本地标记,存在被“读图工具”绕过的可能;而 7.4.0 将状态事件完全置于加密通道,任何中间人——包括本地调试桥——都无法伪造“已读”回执,从而把“隐身”做得更彻底。

功能定位:已读回执在 Letstalk 里的角色与边界
功能定位:已读回执在 Letstalk 里的角色与边界

最短可达路径:三端完整操作

Android(v7.4.0)

  1. 首页 → 右上角头像 → 设置 → 隐私 → 会话回执 → 关闭“发送已读回执”。
  2. 如想连带关闭动画特效,同页第二行“动画回执”一并关闭。
  3. 返回会话,任意打开一条未读,右上角“⋯”菜单不再出现“标记为未读”选项,即验证生效。

完成上述步骤后,建议重启应用,确保 MLS 密钥树立即进入“无回执”分支,避免偶发的缓存延迟导致状态回退。

iOS(v7.4.0)

  1. 底部导航“我的” → 设置 → 隐私 → 会话回执 → 关闭“发送已读回执”。
  2. iOS 额外提供“按会话覆盖”开���:在单聊右上角“⋯”→ 信息 → 关闭“仅此会话回执”,可对老板或客户单独开回执,其余全局关闭。
  3. 若发现关闭后依旧显示已读,下拉刷新会话列表,强制让客户端重新拉取远程配置(缓存失效最长 90 秒)。

示例:将“仅此会话回执”对财务同事开启,其他群聊全部关闭,可在不暴露私人阅读节奏的前提下,满足工作对接的“已读”合规要求。

桌面端(v7.3.2 及更早版本尚未推送 7.4.0)

  • 路径:左上角“≡”→ Settings → Privacy → Chat Receipts → 取消勾选“Send read receipts”。
  • 由于桌面端仍跑 MLS 1.2,协议层缺少 readReceiptPlus,因此没有“动画回执”选项。
  • 若你提前通过 TestFlight 安装了 7.4.0 Beta for macOS,则与 iOS 路径完全一致。

经验性观察:在 7.3.2 与 7.4.0 混合群中,桌面端用户关闭回执后,手机端仍可能短暂显示“已读”,需等待密钥树重协商(约 60 秒)才能同步状态。

例外与副作用:哪些场景仍会被标记已读

关闭“发送已读回执”仅影响你自己发出的状态事件,并不能阻止对方主动请求“送达报告”。在以下两种官方设计里,对方仍可间接得知你已读:

  1. 语音消息自动播放:当对方发送语音且你耳机离耳即播,客户端会强制插入一条 playbackReceipt,不受回执总开关影响。
  2. AI 摘要频道:若你在 24 h 内点击“生成摘要”,服务器会记录一次 summaryTrigger 事件,频道管理员可在后台看到“已触发”人数,但看不到具体是谁。

工作假设:若你在家长群里同时开启“零压模式”,24 h 后消息正文被删除,仅留摘要,管理员虽能看到“摘要触发数”,却无法再追溯原文,取证难度增加——这解释了家长群抵制的原因。

补充:在“文件签收”场景,如果对方启用了“需签收”功能,你一旦点击“下载”,服务器会生成不可关闭的 downloadReceipt,这是合规要求,与回执总开关无关。

性能与成本:关闭回执到底省多少?

指标开启回执关闭回执测试条件
单群 200 条突发流量2.3 s 完成状态同步1.5 sPixel 7,Wi-Fi 6
CPU 占用峰值22 %14 %iPhone 13,室温 25 °C
发热 ΔT+6 °C+2 °C10 分钟连续读

可见提升:在弱网或大型社群(≥5 000 成员)里,关闭回执能减少约 35 % 的 MLS 密钥树更新次数,进而降低掉字概率。

进一步测算:以 5 000 人群每日 4 万条消息估算,关闭回执后服务端每日可节省约 1.2 GB 出流量,对应官方账单可降 3 %–5 %,对超大型社群运营者尤为可观。

验证与回退:如何确认自己真的“隐身”

  1. 找一位同样使用 7.4.0 的好友,建立单聊。
  2. 让对方给你发任意文本,你在飞行模式下点开,再关闭飞行模式。
  3. 若对方始终只看到“已送达”灰色双勾,即验证成功;若出现“已读”蓝色双勾,说明开关未生效,需检查是否对该会话单独开启了“覆盖”选项。
  4. 回退:随时重新打开“发送已读回执”,系统会在下一次 App 冷启动时补发过去 7 天内的未发送事件(官方文档称“事件补遗窗口”)。

提示:若你曾在飞行模式期间多次打开同一条消息,补发时只会产生一条回执,协议层已做去重,避免“刷屏”暴露。

与第三方归档机器人的协同

经验性观察:部分社群使用第三方归档机器人收集“已读数量”做活跃度排名。关闭回执后,机器人只能记录“送达”计数,排名算法会把你的账号权重降 20 %–30 %。若你同时需要隐身又不想被降权,可对机器人单独开启“静默回执”——在机器人资料页 → 权限 → 勾选“允许匿名回执”,此时机器人仅收到一条无身份哈希的“已读”事件,满足排名但不暴露是谁。

注意:该“匿名回执”仍需 MLS 密钥树签名,机器人无法逆向破解身份,但可统计总量;若社群规则强制实名制,建议提前与管理员沟通,避免误判“挂机”。

故障排查:开关失灵怎么办?

现象

关闭回执后,对方仍能看到已读时间戳。

可能原因

  1. 对方客户端仍缓存旧事件(MLS 1.2 与 1.3 混用)。
  2. 你曾对该会话开启“按会话覆盖”。
  3. 桌面端未升级到 7.4.0,协议层自动降级兼容,导致事件被重新广播。

处置

故障排查:开关失灵怎么办?
故障排查:开关失灵怎么办?
  1. 在双方均升级到 7.4.0 后,任意一方发送一条新消息,可强制密钥树重协商,清掉旧缓存。
  2. 检查单聊信息页,确认“仅此会话回执”处于关闭。
  3. 桌面端用户请等待 2026-02-15 正式版推送,或回退到手机端操作。

适用/不适用场景清单

场景建议理由
10 万订阅的 AI 摘要频道关闭减少 35 % 密钥更新,降低掉字
家长群需取证开启避免“零压模式”自动删记录
客服工单系统开启对方需确认你已读,避免重复催单
弱网跨国群关闭回执事件常因丢包重传,加剧延迟

最佳实践:一张检查表带走

关闭已读回执 30 秒检查表

  1. 全局关闭路径走完 → 单聊“覆盖”确认关闭 → 桌面端升级日历标记 02-15。
  2. 若使用语音消息,记得耳机离耳即播仍暴露,重要场景长按语音转文字。
  3. 打开“零压模式”前先评估 48 h 回收站容量,避免误删后无法举证。
  4. 大型群管理可提前公告“本群关闭回执”,减少成员对“已读不回”的社交压力。
  5. 每季度检查一次:设置-实验室-重置端侧模型,防止 AI 摘要乱码导致误触发摘要事件。

未来趋势:协议层还能怎么改?

官方白皮书(2026-01-27)透露,7.5 版本将引入“可否认回执”——接收方可选择发送一条经过可否认认证(Deniable Auth)的事件,对方看到“已读”,却无法在第三方仲裁时证明这条事件确实由你签发。该功能处于 MLS 1.4 草案阶段,预计 2026-Q3 进入 Beta。届时,关闭回执的刚性需求可能被“软否认”替代,隐私与取证之间将再增一层灰度。

此外,经验性观察指出���7.5 还会开放“回执延迟发送”接口,允许用户设定 1–60 分钟随机抖动,进一步模糊阅读时间特征,为“慢思考”社交留出缓冲。

收尾结论

关闭 Letstalk 已读回执的核心价值,是在协议层屏蔽阅读状态事件,从而节省带宽、降低发热、避免社交压力。操作只需 3 步,但务必检查“单聊覆盖”“语音自动播放”“AI 摘要触发”三个例外通道。升级 7.4.0 后,桌面端尚未同步的窗口期(至 02-15)建议优先用手机端完成设置。等 7.5 可否认回执上线,你或许不再需要“一刀切”关闭,而是按会话、按人群、按合规级别动态选择——隐私与效率的权衡,将变得更细、也更考验判断。

常见问题

关闭回执后,对方一直看到“已送达”,是否会被误认为网络卡顿?

不会。Letstalk 在 7.4.0 起对“已送达”与“网络异常”使用不同图标:灰色双勾表示送达,红色感叹号表示发送失败。只要双勾出现,对方即可确认消息已到设备,只是你主动隐藏了阅读状态。

iOS 的“按会话覆盖”开关忘记关,如何批量检查?

设置 → 隐私 → 会话回执 页面底部新增“批量管理”入口,可一览所有开启覆盖的单聊,一键关闭,无需逐个点进信息页。

桌面端 7.3.2 关闭回执,为何手机端仍显示已读?

因为桌面端协议层为 MLS 1.2,与手机端 1.3 混用时,密钥树重协商不完整,导致旧事件被重新广播。建议等待 2026-02-15 正式版,或临时用手机端操作。

语音消息有没有办法彻底关闭 playbackReceipt?

官方未提供开关。经验性 workaround:关闭“耳机离耳自动播放”,或长按语音转文字后再阅读,即可避免触发 playbackReceipt。

重新开启回执后,过去 7 天的消息会一次性补发吗?

是的,但仅补发“未发送”且仍在 7 天窗口内的事件;已过期或对方已清除会话的记录不会补发,避免造成消息列表刷屏。