change inconsistency infrastructure to allow UI integrations#134
Merged
georghinkel merged 4 commits intomainfrom Mar 19, 2026
Merged
change inconsistency infrastructure to allow UI integrations#134georghinkel merged 4 commits intomainfrom
georghinkel merged 4 commits intomainfrom
Conversation
⚡ Risk Assessment —
|
| Files | Summary |
|---|---|
Inconsistency Infrastructure InterfacesSynchronizations/Synchronizations/Inconsistencies/IInconsistency.cs, IInconsistencyDescriptor.cs, IInconsistencyDescriptorSyntax.cs |
Added new interfaces to expose inconsistency descriptions and element anchors for UI integration |
Inconsistency Classes UpdatesSynchronizations/Synchronizations/Inconsistencies/MissingItemInconsistency.cs, PropertyInequality.cs, IncrementalPropertyConsistencyCheck.cs, IncrementalReferenceConsistencyCheck.cs, ReferenceInconsistency.cs |
Extended inconsistency classes with DescribeLeft/DescribeRight methods and LeftElement/RightElement properties |
Collection Synchronization Descriptor PassingSynchronizations/Synchronizations/CollectionUtils.cs, CollectionSynchronizationJob.cs, SynchronizationRule.cs, SynchronizationMultipleDependency.cs |
Refactored collection sync methods to pass IInconsistencyDescriptor through call chain for UI descriptions |
LSP Code Lens IntegrationAnyText/AnyText.Synchronizations/SynchronizingLspServer.csAnyText/AnyText.Lsp/LspServer.CodeLens.csAnyText/AnyText.Lsp/LspServer.ExecuteCommand.cs |
Added code lens generation for inconsistencies with repair commands in LSP server |
Synchronization Service UI MethodsAnyText/AnyText.Synchronizations/SynchronizationService.cs, IRunningSynchronization.cs, RunningSynchronization.cs |
Added PrepareUpdate, CompleteUpdate, GetSynchronizations and Inconsistencies properties for UI orchestration |
Code Action State ManagementAnyText/AnyText.Lsp/LspServer.CodeAction.cs |
Refactored dictionary to track rule applications per document URI for proper cleanup |
Sequence Diagram
sequenceDiagram
participant User
participant LSP
participant SyncService
participant SyncRule
participant Inconsistency
User->>LSP: Requests CodeLenses
LSP->>SyncService: GetSynchronizations(doc)
SyncService->>LSP: RunningSynchronizations
LSP->>Inconsistency: For each inconsistency
Inconsistency->>LSP: DescribeLeft(), DescribeRight(), LeftElement, RightElement
LSP->>User: CodeLens with repair command
User->>LSP: Executes repairLeft command
LSP->>SyncService: PreparePartnerUpdate(uri)
LSP->>Inconsistency: ResolveLeft()
Inconsistency->>SyncRule: Updates model
SyncService->>LSP: CompleteUpdate(uri)
Dig Deeper With Commands
/review <file-path> <function-optional>/chat <file-path> "<question>"/roast <file-path>
Runs only when explicitly triggered.
Contributor
Author
|
/review --force |
Actionable Comments Posted: 2🧾 Coverage Summary✔️ Covered (38 files) |
Actionable Comments Posted: 0♻️ Duplicate comments (1)DescribeRight now reports the wrong side for left-missing items - Synchronizations/Synchronizations/Inconsistencies/MissingItemInconsistency.cs (174)🧾 Coverage Summary✔️ Covered (1 files)💤 Omitted (38 files) |
Contributor
Author
|
/review Synchronizations/Synchronizations/Inconsistencies/MissingItemInconsistency.cs |
There was a problem hiding this comment.
/review Synchronizations/Synchronizations/Inconsistencies/MissingItemInconsistency.cs
✅ No issues found - this code looks good!
📋 Review Summary
Adds source/target element tracking and descriptor-based descriptions to MissingItemInconsistency classes for richer inconsistency reporting
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary by MergeMonkey