fix: inkomende idee-vragen zichtbaar in het chat-kanaal zonder window-refresh (M17 e2e-fix) #95

Merged
janpeter merged 1 commit from fix/idea-chat-question-refresh into main 2026-07-04 12:33:40 +02:00
Owner

E2e-bevinding op PR #93: een inkomende ClaudeQuestion verscheen pas na een window-refresh.

Oorzaak: het question-event triggert router.refresh(), maar IdeaChat houdt de lijst in useState(initialItems) — een gemount component neemt gewijzigde props niet over in state. Vóór M17 renderde de Timeline direct uit props, dus toen werkte refresh wel. Zelfde klasse: de open→answered-wissel na het beantwoorden in het kanaal.

Fix: effect dat verse initialItems fresh-wins merget in de lokale state (nieuwe vragen live, status-wissels komen door, delta/ouder-geladen items blijven); sortChannelItems geëxtraheerd in lib/idea-chat.ts (DRY met de merge). Regressietest: rerender met nieuwe props toont de nieuwe vraag + answered-status zonder remount.

Verify: 1567/1567 tests groen; tsc schoon.

🤖 Generated with Claude Code

E2e-bevinding op PR #93: een inkomende ClaudeQuestion verscheen pas na een window-refresh. **Oorzaak:** het question-event triggert `router.refresh()`, maar `IdeaChat` houdt de lijst in `useState(initialItems)` — een gemount component neemt gewijzigde props niet over in state. Vóór M17 renderde de Timeline direct uit props, dus toen werkte refresh wel. Zelfde klasse: de open→answered-wissel na het beantwoorden in het kanaal. **Fix:** effect dat verse `initialItems` fresh-wins merget in de lokale state (nieuwe vragen live, status-wissels komen door, delta/ouder-geladen items blijven); `sortChannelItems` geëxtraheerd in `lib/idea-chat.ts` (DRY met de merge). Regressietest: rerender met nieuwe props toont de nieuwe vraag + answered-status zonder remount. Verify: 1567/1567 tests groen; tsc schoon. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(chat): verse initialItems mergen in de kanaal-state — inkomende vragen zichtbaar zonder window-refresh (M17 e2e-fix)
All checks were successful
CI / Lint, Typecheck, Test & Build (pull_request) Successful in 3m36s
CI / Deploy Manual (workflow_dispatch) (pull_request) Has been skipped
CI / Detect deploy-relevant changes (pull_request) Has been skipped
CI / Deploy Preview (PR) (pull_request) Has been skipped
CI / Deploy Production (main) (pull_request) Has been skipped
ccf7b76d7e
router.refresh() (vraag-events, AnswerForm) levert nieuwe props, maar
useState neemt die niet over in een gemount component. Merge fresh-wins:
nieuwe ClaudeQuestions verschijnen live, open→answered komt door, en
delta/ouder-geladen items blijven behouden.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Scrum4Me!95
No description provided.