-
Notifications
You must be signed in to change notification settings - Fork 345
fix(content-explorer): Validate selected item ids after item changes #4268
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughI pity the fool who loses selection—this change adds an internal method to validate and reconcile Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant U as User / External Trigger
participant CE as ContentExplorer
participant V as validateSelectedItemIds
rect rgb(245,248,255)
note over CE: Collection / metadata update flow
U->>CE: Trigger item update or metadata query
CE->>CE: Update currentCollection.items (newCollection/items)
CE->>V: validateSelectedItemIds(items)
alt selection = 'all' or empty
V-->>CE: short-circuit (no change)
else
V-->>CE: compute intersection, update selectedItemIds if different
end
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/elements/content-explorer/ContentExplorer.tsx (1)
1075-1083: Don’t useas constonnewCollectionwhen you mutate it, fool.
as constmakes props effectively readonly and can cause TS errors when assigningnewCollection.items = …. Remove it.- const newCollection = { ...currentCollection } as const; + const newCollection = { ...currentCollection }; newCollection.items = items.map(item => (item.id === newItem.id ? newItem : item)); this.validateSelectedItemIds(newCollection.items);
🧹 Nitpick comments (1)
src/elements/content-explorer/ContentExplorer.tsx (1)
8-8: Drop the extra baggage, fool — consider ditchinglodash/isEqualfor Set equality.A tiny helper to compare two Sets saves bytes and avoids another import. Not blocking.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP (Model Context Protocol) integration is disabled
- Jira integration is disabled
- Linear integration is disabled
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
src/elements/content-explorer/ContentExplorer.tsx(5 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: lint_test_build
- GitHub Check: Analyze (javascript-typescript)
- GitHub Check: Summary
🔇 Additional comments (2)
src/elements/content-explorer/ContentExplorer.tsx (2)
428-429: Right call to validate after metadata query results.Keeps selection honest with the latest items. I like it.
1739-1739: Nice: revalidating selection after metadata edits.Prevents stale IDs hanging around. That’s tight.
…ox#4268) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Summary by CodeRabbit