v0.2.11 — scalable session polling
What changed
- Compression-worker completion polling now reads only that session's bounded
session.historytail, using a pre-prompt event watermark and a newerturn/start/turn/endas the completion barrier. - Preview, migration,
/bridge, and CLI paths reuse the source session row instead of repeatedly scanning the global session list. - No TTL cache is used, so stale
running=falsestate cannot reintroduce the delayed-start race.
Evidence
- 30 worker polls:
session.listcalls reduced from 32 to 1. npm run verify: 126/126 tests, generated artifacts, datasets, and isolated package smoke pass.- Node.js 22/24 CI and CodeQL pass.
- Fresh official DSH
0.1.1-rc.2live migration withdeepseek-v4-flash: source / preview / target facts 4/4 / 4/4 / 4/4, doctor 13/13, all 3 test sessions archived.
Install or upgrade
dsh plugin --profile web add dsh-plugin-bridge@0.2.11Restart the WebUI once after installation, then run /bridge --doctor.
See CHANGELOG.md for details.