fix: address PR #1641 review comments (round 3)

- Fix migration version conflict: addSessionPlatformSourceColumn now uses v25
- Sanitize observation titles in file-context deny reason (strip newlines, limit length)
- Guard json_each() with LIKE '[%' check for legacy bare-path rows
- Guard /stream SSE endpoint with 503 before DB initialization
- Scope bun-runner signal exit handling to start subcommand only
- Normalize platformSource at route boundary in DataRoutes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alex Newman
2026-04-07 14:16:41 -07:00
parent d0676aa049
commit 753a993647
8 changed files with 145 additions and 134 deletions
@@ -68,6 +68,14 @@ export class ViewerRoutes extends BaseRouteHandler {
* SSE stream endpoint
*/
private handleSSEStream = this.wrapHandler((req: Request, res: Response): void => {
// Guard: if DB is not yet initialized, return 503 before registering client
try {
this.dbManager.getSessionStore();
} catch {
res.status(503).json({ error: 'Service initializing' });
return;
}
// Setup SSE headers
res.setHeader('Content-Type', 'text/event-stream');
res.setHeader('Cache-Control', 'no-cache');