elsa-core/src/clients/Elsa.Api.Client
Sipke Schoorstra eb7a76a8c0
Refactor flowchart token handling and enhance merge mode behavior (#6937)
* Refactor flowchart token handling and enhance merge mode behavior

- Improve token emission, consumption, and scheduling logic.
- Add support for distinct merge modes: None, Converge, Stream, and Race.
- Update `MergeMode` enum documentation to clarify behavior.
- Adjust default merge mode from `Converge` to `None`.

* Add integration tests for implicit join behaviors with None and Converge merge modes

- Added workflows `fork-decision-join-none.json` and `fork-decision-join-converge.json` to test scenarios.
- Implemented `ForkDecisionJoinTests` to validate execution logic based on merge modes.
- Updated project file to include new workflows for testing.

* Refactor `ImplicitJoins` tests to `JoinBehaviors` and add test for `WaitAll` join mode

- Renamed `ImplicitJoins` test namespace and workflows to `JoinBehaviors`.
- Added `fork-decision-join-waitall.json` workflow to test the `WaitAll` merge mode.
- Refactored `ForkDecisionJoinTests` with reusable logic for execution and assertions.
- Updated project file to include the new workflow for testing.

* Refactor flowchart token handling for improved clarity and efficiency

- Simplified token consumption and filtering logic.
- Removed default port fallback for active outbound connections.
- Improved readability and maintainability of token handling in merge mode scenarios.

* Refactor tests and workflows for `JoinBehaviors`

- Transitioned connections to inline object initializers for simplicity.
- Updated workflow paths in `ParallelJoinCompletesTests` and `JoinRunsOnceTests` to match `JoinBehaviors`.
- Adjusted connection definitions in `ImplicitLoopWorkflow` for consistency.

* Format JSON workflow files

* Add ADR for explicit merge modes in flowchart joins

- Introduced `MergeMode` enum with modes: None, Converge, Stream, and Race.
- Documented motivation, decision, and implementation details.
- Updated solution to include new ADR file.
2025-10-01 15:01:33 +02:00
..
Converters Add TypeJsonConverter and enhance JSON serialization 2024-10-03 18:50:05 +02:00
Extensions Refactor flowchart token handling and enhance merge mode behavior (#6937) 2025-10-01 15:01:33 +02:00
Helpers Refactor RefitSettingsHelper for improved readability 2025-02-08 10:10:40 +01:00
HttpMessageHandlers Add API key authentication for Elsa client 2023-12-28 21:54:06 +01:00
Options Removed unwanted code 2025-02-06 12:49:04 +02:00
RealTime/Messages Implement real time workflow update broadcasting using SignalR 2023-07-25 15:12:27 +02:00
Resources Add support for clearing test values of variables 2025-06-09 14:36:42 +02:00
Serialization Add IResilienceStrategy Abstraction with Category Matching and Expression-Based Configuration (#6637) 2025-05-12 10:09:04 +02:00
Shared Refactor flowchart token handling and enhance merge mode behavior (#6937) 2025-10-01 15:01:33 +02:00
Elsa.Api.Client.csproj Create Api Client Models for upcoming RadioList UIHint. 2025-06-05 00:36:18 +01:00
Elsa.Api.Client.csproj.DotSettings Introduce Log Persistence Strategy (#6057) 2024-10-25 19:41:10 +02:00
FodyWeavers.xml
IsExternalInit.cs Fixing some analyzer warnings (#5617) 2024-07-05 15:14:28 +02:00