reconcileMeSubs()本来就能发现"此前完全不认识的话题"(今天早些时候为解决群聊 被动成员看不到新群加的兜底机制),但发现后只是原样信任服务端返回的read/unread 字段——服务端对一个刚加入的新成员,默认给的读游标经常是"视为已读"(read==seq), 如果这个群目前恰好一条消息都没有,unread就会是0,导致今天新加的标题栏滚动/ favicon角标(由同一个未读数驱动)完全没有反应,被拉群这件事本身悄无声息。 改成:对每一个新发现的话题,不管服务端给的read游标是什么,一律按"我自己完全 没确认过"处理(read清零,unread按当前seq计算);如果是群,额外通过 subscribeNewGroupDiscovered(新增的发布-订阅,push.ts订阅它去弹真正的桌面 通知"你被拉入了这个群聊",因为topics.ts不能反向依赖push.ts)触发一条独立的 桌面通知,不依赖未读数是否恰好大于0。 实机验证:systest04建一个只邀请systest05的全新群,systest05这边模拟切回 标签页触发兜底同步后,确认收到桌面通知(title/body/tag均正确)且标题栏 未读数正确增加。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
React + TypeScript + Vite
This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Oxc
- @vitejs/plugin-react-swc uses SWC
React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
Expanding the Oxlint configuration
If you are developing a production application, we recommend enabling type-aware lint rules by installing oxlint-tsgolint and editing .oxlintrc.json:
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["react", "typescript", "oxc"],
"options": {
"typeAware": true
},
"rules": {
"react/rules-of-hooks": "error",
"react/only-export-components": ["warn", { "allowConstantExport": true }]
}
}
See the Oxlint rules documentation for the full list of rules and categories.