dsh-session-sync
广播会话修改实现多窗口同步
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 25, 2026
- Updated
- Aug 25, 2026
Introduction
dsh-session-sync
DSH web 会话跨窗口同步插件。
在每个打开的浏览器窗口之间通过 BroadcastChannel('dsh-session-sync') 广播「当前选中会话」,
任一窗口切换 / 新建 / 删除(归档)会话后,其余窗口的选中态自动跟随。
- 只同步选中态(
sessions.open/sessions.clear),会话列表的增删由 DSH 原生host/帧广播自动完成。 - 防回环:应用远端动作前预置
lastCurrent为目标值 + 幂等提前返回,远端引发的切换不反向广播。 - 竞态收敛:未知会话 id 进 pending,列表快照每次变化复查,
phase === 'ready'仍未出现则丢弃。
安装
作为部署级 client 插件安装(junction 链入 profile 的 node_modules,再在
profiles/web/cordis.patch.yml 加 - insert: { id: session-sync, name: 'dsh-session-sync' })。