Skip to content

propagate transaction changes until all changes are propagated#137

Merged
georghinkel merged 1 commit intomainfrom
expression-transaction-fixes
Mar 30, 2026
Merged

propagate transaction changes until all changes are propagated#137
georghinkel merged 1 commit intomainfrom
expression-transaction-fixes

Conversation

@georghinkel
Copy link
Copy Markdown
Contributor

@georghinkel georghinkel commented Mar 30, 2026

Summary by MergeMonkey

  • Fixes & Patches:
    • Fixes incomplete change propagation in transactions by looping until all changes are processed

@mergemonkeyhq
Copy link
Copy Markdown

mergemonkeyhq bot commented Mar 30, 2026

Walkthrough

When a transaction commits, the system now uses a while loop instead of a single if-check to propagate changes. This ensures that if processing one node's changes triggers changes in other nodes, those subsequent changes are also processed until both change collections are empty.

Changes

Files Summary
Transaction Change Propagation Fix
Expressions/Expressions/Execution/ExecutionEngine.cs
Expressions/Expressions.history
Fixes transaction commit to loop through all pending changes instead of processing only once, ensuring dependent node changes are fully propagated

Sequence Diagram

sequenceDiagram
    participant C as CommitTransaction()
    participant L as changeListener
    participant N as changedNodes
    loop while L or N have changes
        C->>C: Collect all changed nodes
        C->>L: Process changeListener notifications
        C->>N: Process changedNodes updates
    end
    C-->>C: Transaction committed when all changes propagated
Loading

Dig Deeper With Commands

  • /review <file-path> <function-optional>
  • /chat <file-path> "<question>"
  • /roast <file-path>

Runs only when explicitly triggered.

@georghinkel georghinkel merged commit db2b106 into main Mar 30, 2026
1 check passed
@georghinkel georghinkel deleted the expression-transaction-fixes branch March 30, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant