fix: synchronize Flue sessions and query state - #132
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 522af0739f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const closeCommandEvents = openChatSessionCommandEventStream((event) => { | ||
| if (event.sessionId === session.id) refreshCommandEvents(); | ||
| }); |
There was a problem hiding this comment.
De-duplicate command events received through SSE
When the current tab submits a slash command, the server now publishes the created command event before the POST response returns (src/modules/sessions/service.ts), so this new SSE invalidation can refetch the just-created row before the submit path runs appendCommandEvent(createdEvent). Because the local append still blindly appends by id, the same command can render twice with duplicate React keys until a later refetch, especially for commands that spend time running; de-dupe the local command event state or ignore the current mutation's echoed SSE update.
Useful? React with 👍 / 👎.
522af07 to
0308cb0
Compare
## Summary - add named landmarks, tabs, filters, disclosures, feedback roles, and combobox semantics - repair light/dark semantic contrast and 44px coarse-pointer targets - preserve chat and PR-review task completion in compact layouts - retain the original static-review findings and mark recommended steps 1–3 completed ## Verification - `npm run check` - `npm run format:check` - `npm run build:web` - Impeccable static design audit - live wide/compact dashboard QA, keyboard tab and command-list navigation, and compact PR submission controls ## Stack This is PR 1 of 2. Stacked PR 2 is #132.
0308cb0 to
4640cf0
Compare
Summary
Refaction with an explicit non-active session target selectorchat-session-command-changeevents and converge session/query caches after SSE reconnectsVerification
npm run check— 81 test files, 516 testsnpm run format:checknpm run build:webStack
This is PR 2 of 2 and targets PR 1: #131.
No measurement-gated Pierre/rendering/bundle optimization from the performance section is included; that gate remains open for discussion.