* Refactor bookmark management and add new features Streamlined bookmark handling by eliminating temporary storage in `ActivityExecutionContext` and directly managing bookmarks in `WorkflowExecutionContext`. Documented architectural decisions using ADRs. * Regenerate EF Core migrations * Refactor fault tracking to use AggregatedFaultCount property. Replaces FaultCount with AggregatedFaultCount across the codebase to improve clarity and consistency in fault tracking. Updates related methods, properties, and data mappings to align with the new terminology. Fixes initialization issue with nullable inputs in Fault class. * Add migration to track fault counts in runtime (V3.5) This migration adds a new column, "AggregatedFaultCount," to the "ActivityExecutionRecords" table. The column is an integer, non-nullable, with a default value of 0, and enables tracking aggregated fault occurrences. The migration also includes a rollback to remove this column if needed. * Fix typo in ADR 0004 regarding bookmark management convention Corrected a spelling mistake in the ADR documentation by changing "determins" to "determines." This ensures clarity and maintains the professionalism of the document. No functional changes were made. * Refine fault propagation logic for child-parent activities Replace automatic fault transitions of parent activities with an aggregate fault count for descendant activities. This avoids premature state changes while still indicating child activity faults, improving workflow resilience and accuracy. * Remove signal-driven fault propagation ADR and renumber bookmarks ADR The ADR for signal-driven fault propagation was deleted, and the direct bookmark management ADR was renamed and renumbered accordingly. Related references in the table of contents, graph, and solution file were updated to reflect these changes. * Refactor DeleteBookmarks to improve readability. Reformatted the BookmarkFilter initialization for better clarity and maintainability. This change ensures the code is more aligned with modern C# conventions and improves overall readability. No behavior or functionality has been altered. * Refactor naming for "AggregatedFaultCount" to "AggregateFaultCount" Standardized the terminology across the codebase and migrations by renaming all references of "AggregatedFaultCount" to "AggregateFaultCount" for improved consistency and readability. Updated relevant logic, models, migrations, and database contexts accordingly.
2.2 KiB
⭐ This Issue is Part of the Elsa Workflows Bounty Hunting Program ⭐
Are you ready to contribute and earn rewards for your efforts? This issue offers a bounty for the first eligible contributor who successfully resolves it within the designated time limit, according to our comprehensive program rules.
Before You Start:
- Ensure you have a GitHub account set up to receive payments via GitHub Sponsors.
- Publicly announce your intention to tackle this issue by commenting below. This follows our "First Come, First Served" rule.
- Be aware of the specific time limit for this issue, as failing to submit a solution within this timeframe may open the opportunity for others.
📜 For a detailed overview of participation, submission guidelines, and the process for claiming rewards, please visit our Bounty Hunting Program Guidelines.
To announce your intention to claim this bounty, please comment below. You can use this template:
```markdown
Bounty Candidacy Announcement
I am announcing my intention to tackle this bounty issue. Below is my acknowledgment of the key eligibility requirements and rules of the Elsa Workflows Bounty Hunting Program:
- I have a GitHub account set up for receiving payments via GitHub Sponsors.
- I understand this issue is assigned on a "First Come, First Served" basis.
- I am aware of the specific time limit for this issue and commit to submitting my solution within this timeframe.
- I understand that I must first describe my proposed solution in a comment on this issue or via a discussion linked to this bounty, before starting my work.
- I have reviewed the Bounty Hunting Program Guidelines in detail.
GitHub Username: `YourGitHubUsernameHere`
Estimated Start Date: `YYYY-MM-DD`
Notes/Comments: `Any additional comments or notes you wish to add`
By checking the boxes above, I signify my understanding and acceptance of the program rules and confirm my intent to proceed with resolving this issue as per the guidelines of the Elsa Workflows Bounty Hunting Program. ```
We value your contributions to Elsa Workflows and are excited to see the innovative solutions you bring. Let's enhance Elsa Workflows together!