Skip to content

Fix for extra transactions & nodes appearing after destroy all composites#2389

Draft
andromeda-224 wants to merge 1 commit into
masterfrom
bugfix/destroy-composite-extra-elements
Draft

Fix for extra transactions & nodes appearing after destroy all composites#2389
andromeda-224 wants to merge 1 commit into
masterfrom
bugfix/destroy-composite-extra-elements

Conversation

@andromeda-224

Copy link
Copy Markdown
Collaborator

Prerequisites

  • Reviewed the checklist

  • Reviewed feedback from the "Sonar Cloud" bot. Note that you have to wait
    for the "CI / Unit Tests") to complete first. Failed Unit tests can be
    debugged by adding the label "verbose logging" to the GitHub PR.

Description of the Change

The change is allow a flag from composite expand/contract functions to filter through to addTransaction and to not swap the source and destination when source id is higher than destination id for undirected transactions when the call comes from compositing.

Alternate Designs

Why Should This Be In Core?

Benefits

Possible Drawbacks

Verification Process

Extra transactions & nodes test:

  1. Open consty and make a new sphere graph
  2. Select a group of nodes that includes one of the larger nodes in the corner
  3. Tools -> Composite Selected Nodes
  4. Tools -> Destroy All Composites. Observe NO extra transactions created.

Steps for merge nodes issue:

  1. Open Consty
  2. Select Experimental -> Build Graph-> Structured Graph Builder
  3. Create a Structured Graph with default values
  4. Select any section of the graph
  5. Select Tools->Merge Nodes from menu
  6. Uncheck few check boxes from Left Column
  7. Click OK
  8. Select a few ndoes/transactions from the graph
  9. Select Tools->Merge Nodes from menu
  10. Click OK
  11. Select a few ndoes/transactions from the graph
  12. Select Tools->Merge Nodes from menu
  13. Click OK
  14. Ctrl+ Z few times to reverse your action
  15. Repeat step 4-13 again

Steps for importing directed and undirected transactions:
rc2test_4_250825.csv

  1. In Consty, select File>Import>From File and navigate to select the sample file rc2test_4_250825.csv.
  2. Drag the relevant attributes to match the table columns. Click import.
  3. Observe all 3 transactions have been imported into the graph.

Steps to copy & paste and undo:

  1. Create a new graph with 3 nodes and 3 undirected transactions, one transaction between each pair of nodes (forming a triangle).
  2. Select all elements (Ctrl-A) and copy them (Ctrl-C).
  3. Create a new empty graph.
  4. Paste the copied elements into the new empty graph (Ctrl-V)
  5. Paste second time into the new graph (Ctrl-V) ... this triggers the merging of nodes and redefining the transactions.
  6. Click the Undo button and observe that no exception occurs.

Applicable Issues

@sonarqubecloud

sonarqubecloud Bot commented Sep 4, 2025

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
52.4% Coverage on New Code (required ≥ 80%)
B Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@github-actions

github-actions Bot commented Mar 5, 2026

Copy link
Copy Markdown

This pull request is stale because it has been open for 6 months with no activity. Consider reviewing and taking an action on this pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant