离线回来,中间那段消息去哪了:飞享IM 会话断层的发现与补齐
手机关机一个晚上,第二天打开飞享IM,群里已经聊了几十条。最新的消息都在,往上翻,翻着翻着就从今天早上直接跳到了昨天晚上,中间那一大段没了。这不是某一端的偶发 bug,Android、iOS、Web、PC 全都会出现。本文讲清楚这个问题是怎么产生的,我们为什么最终选择"服务端标出缺口、客户端按需补齐"的方案,以及在改动协议和四个客户端的同时,怎样把对现有用户的影响降到最低。

手机关机一个晚上,第二天打开飞享IM,群里已经聊了几十条。最新的消息都在,往上翻,翻着翻着就从今天早上直接跳到了昨天晚上,中间那一大段没了。这不是某一端的偶发 bug,Android、iOS、Web、PC 全都会出现。本文讲清楚这个问题是怎么产生的,我们为什么最终选择"服务端标出缺口、客户端按需补齐"的方案,以及在改动协议和四个客户端的同时,怎样把对现有用户的影响降到最低。

不方便外放语音的时候,"转文字"几乎是刚需。飞享IM 的语音消息转文字现已在服务端、Android、iOS、PC 桌面端、Web 端全面上线。这次功能在协议层只做了三件事:枚举末尾追加 1 个子信令 ASR、proto 末尾追加 2 个 message、既有定义 0 处改动,旧版客户端完全无感。本文完整说明这个功能的设计、服务端链路与四端实现,并借此讲清楚飞享IM 服务端"只增不改"的可扩展性。

今天,飞享IM 正式宣布:Android、iOS、PC 桌面端、Web 端四个 Pro 版客户端全部开源。这个决定不是心血来潮。在 AI 的帮助下,逆向一个客户端的成本已经低到可以忽略,闭源客户端的护城河几乎不存在了;而这四个客户端本身也是在 AI 的深度参与下开发出来的,仅 AI 协作提交就有 470 次。既然取之于开源社区和 AI 工具,开源回馈社区也是顺势而为。

飞享 IM 桌面端(electron-vue-chat-pro)收到一条反馈:切到含超长 Markdown 表格(系统通知日报)的会话时,界面会冻结小半秒,即便每会话消息数已经限制在 50 条以内。这篇文章记录的不是"我们做了个虚拟列表",而是从这句模糊反馈到一个可放心合并的实现之间,中间每一步该做、且没有跳过的判断——用 Claude Code 全程执行,人负责拍板方向和最终验收。

这不是 changelog,这是一次「让你忍不住想打开试试」的功能盘点。v1.1.x 系列集中火力,专门干那些「表面没坏但其实很难受」的体验问题——流式回复占位符乱跑、时间显示不说人话、群视频通话有 bug、消息无法转发……全都修了,还顺手加了不少新东西。
