Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (6)
📒 Files selected for processing (15)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughThe search service now resolves favorited channel IDs for the requesting user and includes Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to Favorite lookup failures degrade to an unfavorited display state rather than failing search, consistent with existing behavior. No actionable merge risk remains. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
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. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit cbf41b8. Configure here.
gbirman
left a comment
There was a problem hiding this comment.
- Old chat search results can show as failed. The generated tool schema now requires is_favorited, but saved NameSearch/ContentSearch results lack it. I reproduced this: the same payload passes the base schema and fails the PR schema. Make the generated reader accept missing favorite state and add legacy-payload coverage.
- Favorite flags are snapshots. Favorite mutations don’t refresh cached search pages, so previously loaded pages can disagree with later pages after a toggle. The UI currently still reads the separate favorites list; before switching it to this field, add a reactive overlay or update/invalidate all affected search pages.
- Each page also adds an awaited database lookup. Lookup failures return false, making unavailable state indistinguishable from “not favorited.”
i think overall though i'd prefer if we dispatched the favorite status call alongside the metadata enrichment step so we're not blocking on another roundtrip. or we can fold it into the the enrich metadata step directly in the sql (which seems maybe better since favorite status does seem like metadata but your call)

Note
Medium Risk
Cross-cutting search API contract change and new per-user enrichment on every search response; failures degrade to false but could hide favorite UI state if the favorites service errors.
Overview
Search responses now expose viewer-specific favorite state via a required
is_favoritedfield on unified and per-type search items (documents, chats, email, channels, channel messages, projects, calls, CRM companies, calendar events, agent sessions). OpenAPI, Rust models, SDK types, and cognition tool schemas were updated to match.The search service adds a
SearchFavoritesReaderport and batch-enriches results after metadata assembly: unified search runsenrich_favorite_statebefore returning; channel search/name/message paths resolve favorited channel IDs separately. Channel message hits inherit the parent channel’s favorite flag, not the message id. Lookup failures are logged and results stayfalserather than failing the request. Document storage wires the existingDssSoupFavoritesReaderinto search handler state (shared with soup).The web client adds optional
isFavoritedonEntityBaseand mapsis_favorited→isFavoritedacross search transforms (including agent session mapping). Tests cover channel parent-channel behavior and unified mapping.Also includes a
Cargo.lockbump forrustls/aws-lc, and a documents test stub so failed creation does not invoke mention tracking.Reviewed by Cursor Bugbot for commit fc2f597. Bugbot is set up for automated code reviews on this repo. Configure here.