Conversation
This adds the ability to filter entries by their "Publish In" field, which is used to categorize entries for different publications/dictionaries. Backend changes: - Add PublishIn and PublishIn.Id filter mappings to EntryFilterMapProvider - Implement in LcmCrdt using JSON column queries - Implement in FwDataBridge by inverting DoNotPublishInRC - Create mapper lazily in FwDataMiniLcmApi with access to publications list - Add tests for filtering by publication ID and missing publications Frontend changes: - Add PublicationSelect.svelte component - Add publication filter to SearchFilter.svelte - Add "Publication" option to MissingSelect for incomplete entries https://claude.ai/code/session_019iMvqpFik7T4qiUBPLrCw6
ILexEntry already has a PublishIn virtual property that inverts DoNotPublishInRC against all publications, so we don't need to inject publication GUIDs into the filter provider. Changes: - LexEntryFilterMapProvider: Remove constructor, use entry.PublishIn - FwDataMiniLcmApi: Use entry.PublishIn in ToEntry(), remove lazy mapper - FwDataBridgeConfig: Restore simple static mapper - Frontend: Use PublishIn=null for consistency with other filters https://claude.ai/code/session_019iMvqpFik7T4qiUBPLrCw6
LcmInvertSet supports Add/Remove operations that automatically update the underlying DoNotPublishInRC, so we can work with PublishIn directly for clearer semantics. Changes: - AddPublication: entry.PublishIn.Add() instead of DoNotPublishInRC.Remove() - RemovePublication: entry.PublishIn.Remove() instead of DoNotPublishInRC.Add() - CreateEntry: use PublishIn.Remove() for excluded publications https://claude.ai/code/session_019iMvqpFik7T4qiUBPLrCw6
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughThis PR refactors how publications are managed and filtered, shifting from a DoNotPublishInRC-based subtraction model to direct PublishIn usage. It extends filtering and mapping support across multiple backend layers and adds frontend UI components and localization for publication-based entry filtering. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
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 |
|
@copilot Fix this branch:
The failing GHA integration tests are just flaky. Ignore them. |
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
|
@coderabbitai full review |
✅ Actions performedFull review triggered. |
| #. Publication = dictionary/publication type for distributing entries | ||
| #: src/project/browse/filter/PublicationSelect.svelte | ||
| msgid "Any publication" | ||
| msgstr "" |
There was a problem hiding this comment.
All these blank message strings seem suspect to me.
jasonleenaylor
left a comment
There was a problem hiding this comment.
Other than the question about the localization strings LGTM
| #. Publication = dictionary/publication type for distributing entries | ||
| #: src/project/browse/filter/PublicationSelect.svelte | ||
| msgid "Any publication" | ||
| msgstr "" |
There was a problem hiding this comment.
All these blank message strings seem suspect to me.
This pull request introduces a new "Publication" filter for entries, allowing users to filter entries by their associated publication(s) both in backend APIs and frontend UI.
It also refactors how publications are tracked on entries, adds full filtering support for publication fields, and updates tests and translations to reflect the new feature.
And filtering for "missing":
