Repository navigation
fix(vscode): keep the data of each relationship in a connects pair - #3567
Open
markscott-ms wants to merge 1 commit into
Open
markscott-ms wants to merge 1 commit into
markscott-ms wants to merge 1 commit into
Conversation
CALM Canvas merged A→B and B→A connects relationships into one edge and wrote the data of the first back to both. Merge a pair only when both have the same edited data, and write controls to the reverse. Closes #3519
rocketstack-matt
force-pushed
the
fix/3519-bidirectional-keeps-data
branch
from
November 6, 2026 15:22
568bc66 to
aa43aff
Compare
This branch has not been deployed
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.
Description
Closes #3519. Stacked on #3566: review and merge that first.
CALM Canvas merged
A→BandB→Aconnectsrelationships into one bidirectional edge. When it wrote the document, it gave the second relationship theprotocol,descriptionandmetadataof the first, and removed itscontrols.The canvas now merges a pair only when both relationships have the same data in the fields that it edits (
protocol,description,controls,metadata). Key order is ignored. A pair with different data shows as two edges, and each edge writes back its own relationship. The issue lists this as the second possible fix. I did not pick the first one (keep the data of both relationships on one edge), because then the Properties panel cannot show whichdescriptionit edits.A merged pair has the same data, so an edit of the edge now goes to both relationships. This includes
controls, which the reverse relationship did not get before.Type of Change
Affected Components
cli/)calm/)calm-ai/)calm-hub/)calm-hub-ui/)calm-lab/)calm-models/)calm-server/)calm-studio/)calm-widgets/)calm-guard/)docs/)shared/)calm-plugins/vscode/)Commit Message Format ✅
Testing
New tests: a pair with different data stays as two edges and gives the same text after a round trip. A pair with the same data merges, also when its keys are in a different order, and an edit of the merged edge goes to both relationships.
Checklist