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> |
||
|---|---|---|
| .. | ||
| (app) | ||
| (auth) | ||
| (mobile) | ||
| _components/tasks | ||
| api | ||
| debug-env | ||
| debug-realtime | ||
| styles | ||
| apple-icon.png | ||
| favicon.ico | ||
| globals.css | ||
| icon.png | ||
| layout.tsx | ||
| page.tsx | ||