What's Changed
- SSE hardening: queue-based writer with backpressure and directory-aware batching for improved reliability
- SSE frame utility: added structured SSE framing utility for consistent event formatting
- Parts batcher: defer operations when target message is missing from cache to avoid race conditions
- Model store: skip unnecessary subscriber notifications on no-op variant changes
- TypeScript: fix type narrowing error on
messages.lengthcheck during loading state - Docker: update Node.js base image and docker-compose config improvements
- Docker upgrade script: improved upgrade workflow with better error handling