Yimsg 0.1.3
Yimsg 0.1.3
0.1.3 是一次以前端列表基础设施为主的版本:新增并落地统一的 BoundedList 有界列表组件,把会话、消息、通讯录、群成员、转发、搜索等 13 处列表收敛到同一套分页、滚动与追平实现;同时重构测试分层、补齐独立测试入口,并修复一批移动端与文字渲染问题。
BoundedList 有界列表组件
- 新增
packages/uikit/src/app/bounded-list/组件:调用方只提供「怎么取一页」和「怎么画一行」,分页、窗口裁剪、渲染复用、滚动保持、背景追平、本端写入、选中态、错误态与释放全部由组件负责。 - 内存与 DOM 是与后端总量无关的常数:渲染行数恒等于
pageSize × maxPages(权威窗口)+pageSize(本地层上限)+ 调用方钉住的条目数。 - 采用「权威窗口 + 本地层」模型:本端发送、乐观插入和撤回通过
upsertLocal/removeLocal立即可见,权威响应落地时不再闪动。 - 轻通知按身份定向刷新;窗口未追平新鲜端时改为提示条,提示条只表达「有 / 没有」新内容,不再展示会漂移的待追平计数。
- 会话切换、筛选和关键字变化会作废旧世代请求,旧响应不会覆盖新窗口。
- 全部 13 处生产列表迁移到该组件:会话列表、消息列表、通讯录好友、待处理 / 已发出好友请求、群成员详情、转发会话与通讯录候选、建群候选、添加群成员候选、提及群成员、会话内消息搜索。
- 修复历史遗留的 25 条已确认缺陷,并归档到
docs/archive/BoundedList缺陷列表.md;新增packages/uikit/docs/boundedlist/专题文档(导读、功能说明、组件设计、生产集成、测试方案、缺陷列表)。
Web 与 UIKit
- 修复消息气泡与输入框中文文字顶部被裁切的问题。
- 优化移动端消息输入区的布局与交互。
- 会话列表加号按钮改为下拉菜单,建群支持默认群名称;移除会话列表顶部冗余头像入口。
- 转发弹窗支持直接从通讯录选择联系人。
- 设置页顶部增加浅蓝渐变导航栏,与联系人页保持一致。
测试与工程
- 重构测试分层,拆出 unit / integration / E2E / component / performance 五个独立入口(
./tools/run_unit_tests.sh等),./tools/run_all_tests.sh按 unit → integration → E2E → component 顺序调用,性能门禁保持独立。 - 新增 BoundedList 浏览器组件用例与性能回归用例,单元测试覆盖率补到 100%。
- 消除 friends 分页、消息顺序、消息翻页锚点等用例在并行套件下的偶发竞态,隔离并发测试与清理竞态。
- 增强文档一致性检查工具,补齐其自身的测试用例。
官网
- 修复官网一键部署 Windows 命令的解压路径错误。
下载
- Windows x86-64:
yimsg-0.1.3-windows-x86_64.zip - Linux x86-64:
yimsg-0.1.3-linux-x86_64.tar.gz - Linux ARM64:
yimsg-0.1.3-linux-arm64.tar.gz - macOS Apple Silicon:
yimsg-0.1.3-macos-arm64.tar.gz
每个发行包包含 yimsg、yimsg-cli、yimsg-agent、完整 Web 产物、配置示例、中英文快速开始和许可证文件。请使用 SHA256SUMS.txt 校验下载内容。