-
-
Notifications
You must be signed in to change notification settings - Fork 5
Set PartOfSpeech object in snapshots #2110
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
base: develop
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughTwo CRDT change handlers are updated to properly resolve and assign part-of-speech objects to Sense entities, ensuring part-of-speech values are captured in snapshots alongside IDs, addressing the issue where part-of-speech appeared as "none" in snapshots. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ 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 |
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
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: 0
🧹 Nitpick comments (1)
backend/FwLite/LcmCrdt/Changes/SetPartOfSpeechChange.cs (1)
13-28: SyncingPartOfSpeechwithPartOfSpeechIdin updates looks solidThe null / invalid / deleted branches correctly clear both
PartOfSpeechIdandPartOfSpeech, and the valid branch sets both from the resolved entity. This should ensure snapshots see a realPartOfSpeechobject instead of “none” while avoiding stale or deleted references. If more call sites start resolving POS from an ID, you might later want a small helper to centralize this pattern, but it’s not necessary for this PR.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
backend/FwLite/LcmCrdt/Changes/CreateSenseChange.cs(1 hunks)backend/FwLite/LcmCrdt/Changes/SetPartOfSpeechChange.cs(2 hunks)
🧰 Additional context used
🧬 Code graph analysis (2)
backend/FwLite/LcmCrdt/Changes/SetPartOfSpeechChange.cs (3)
backend/FwLite/FwDataMiniLcmBridge/Api/FwDataMiniLcmApi.cs (1)
PartOfSpeech(631-640)backend/LfClassicData/LfClassicMiniLcmApi.cs (1)
PartOfSpeech(371-384)backend/FwLite/MiniLcm/Models/Sense.cs (1)
PartOfSpeech(58-63)
backend/FwLite/LcmCrdt/Changes/CreateSenseChange.cs (2)
backend/FwLite/FwDataMiniLcmBridge/Api/FwDataMiniLcmApi.cs (3)
PartOfSpeech(631-640)Sense(762-777)MultiString(795-817)backend/FwLite/MiniLcm/Models/PartOfSpeech.cs (2)
PartOfSpeech(3-31)PartOfSpeech(21-30)
⏰ 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)
- GitHub Check: Build FwHeadless / publish-fw-headless
- GitHub Check: Build FW Lite and run tests
- GitHub Check: frontend-component-unit-tests
- GitHub Check: frontend
- GitHub Check: Analyze (csharp)
🔇 Additional comments (1)
backend/FwLite/LcmCrdt/Changes/CreateSenseChange.cs (1)
38-51: Snapshot-based POS resolution on sense creation is consistent with the goalPrefetching the
PartOfSpeechsnapshot and only embedding it whenEntityIsDeleted == false, then settingPartOfSpeechId = partOfSpeech?.Id, aligns creation semantics with your update path and should make POS available in snapshots from the outset. Please just double‑check thatGetSnapshot+EntityIsDeletedcovers all the same “treat as null” cases thatDeletedAsNullhandled previously (e.g., missing or already-deleted POS), so we don’t change behavior in subtle edge cases.
400b8d7 to
3a999d3
Compare
imnasnainaec
left a comment
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.
Looks good! Just one test to possibly add.
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.
⛏️ Should there be a test somewhere for POS reference removal?
Resolves #2090