The notifications-realtime hook (PR #92) does close+connect on every idea-question 'open' event, but the SSE state-event-handler in /api/realtime/notifications only re-fetched story-questions. Result: each reconnect wiped idea-questions from the bell within ~500ms, even though the bridge had loaded them on initial page-render. Symptom: clicking an idea-question in the bell sometimes hit a \"question gone\" race because the close+connect after the live event emptied them out. Fix: SSE initial-state now does a Promise.all on - story-questions (productAccessFilter, existing path) - idea-questions (idea.user_id === session.userId, M12 strict-private) and sends merged + sorted state with discriminated \`kind\` field. This mirrors the bridge's own initial fetch (PR #92), so a bridge-mount and an SSE-reconnect now produce identical state. Tests: 546/546 still green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| route.ts | ||