Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor improvements and bug fixes following the 3.1 release #5168

Merged
merged 12 commits into from
Apr 2, 2024

Conversation

sfmskywalker
Copy link
Member

This PR introduces several minor improvements and bug fixes identified following the release of version 3.1, enhancing stability and functionality:

  • Resolved a MongoDB exception triggered by attempting to bulk-write an empty document set: System.ArgumentException: Must contain at least 1 request.
  • Addressed an EF Core Migrations exception: System.MissingMethodException: Cannot dynamically create an instance of type V3_1.
  • Corrected an issue with RabbitMQ usage without MT Dispatcher, leading to a missing consumer type error.
  • Solved a problem when using MassTransit without dispatcher features, resulting in a missing IEndpointChannelFormatter in the DI container.
  • Refined code organization by moving specific ActivityExecutionContext extensions to a partial class, part of a continuous improvement process.
  • Fixed a stack overflow issue within a flowchart containing the End activity.
  • Eliminated null reference exceptions encountered when resuming or triggering workflows without an optional options object.
  • Introduced a new extension method for easier access to an activity's output via strongly-typed property expressions.
  • Enhanced bookmark payload functionality with support for simple strings.

The DynamicActivity.cs file has been moved from the Models directory to the Activities directory. This reorganization aims to ensure that the file's location correctly reflects its namespace.
A new GetOutput method has been added to the ActivityExtensions.cs file. This method allows the retrieval of output with a specific name from an activity. Useful for handling complex types in workflow activities.
The commit introduces a new feature check in the `Module` class and refactors the dependencies in MassTransit features. Specifically, it enables querying for a specific feature before configuring the dispatcher endpoints, increasing flexibility and control. In addition, the responsibility for creating `IEndpointChannelFormatter` has been shifted from `MassTransitWorkflowDispatcherFeature` to `MassTransitFeature`, aligning with responsibility distribution.

Fixes #5165
The IModule interface has been updated to include two methods, HasFeature<T>() and HasFeature(Type featureType). These methods are designed to check if a specific type of feature has been configured, enhancing the functionality provided by the interface.
Removed unused namespaces from WorkflowsApiFeature class and added a new dependency on WorkflowRuntimeFeature. This change enhances the code cleanliness and ensures all required dependencies are correctly linked.
This commit introduces multiple methods to handle activity completion across various contexts, including ActivityExecutionContext and ActivityCompletedContext. It also includes updates to bookmark serialization and the WorkflowRuntime. The resulting changes should improve handling of activity outcomes and status updates in the application flow.
Added null-conditional operators to prevent potential NullReferenceExceptions in DefaultWorkflowRuntime. This change ensures that even if the 'options' object is null, the code will not throw an exception and will instead use default values where applicable.
A line of code is added to enable applying ElsaDbContextOptions as default in DbContextOptionsBuilder within PersistenceFeatureBase. This change specifies the use of ElsaDbContextOptions when configuring the context options, enhancing the database context setup in the EntityFrameworkCore.Common module.
This commit removes unnecessary whitespaces at the end of the ProjectReference and PackageReference elements, in the Elsa.Server.Web.csproj file. This improves the readability and alignment of the code and follows the best practice for XML file format.
A MongoDB service has been added to the docker-compose file. The configuration includes port mapping and volume mapping for MongoDB data storage. This allows more flexibility in our environment setup with MongoDB now being spun up automatically.
Adjusted code structure, and divided longer lines of code into smaller, multi-line chunks for better readability. This refactoring makes the underlying operations and structuring of the code more apparent, aiding in future code maintenance and understanding.
@sfmskywalker sfmskywalker requested review from a team April 1, 2024 21:21
This commit modifies the Github actions workflow for packaging. The branch from which to fetch changes is now specified explicitly as 'origin/patch/3.1.1' instead of the default 'origin/main'. This adjustment is specific for package creation under certain conditions.
@sfmskywalker sfmskywalker merged commit 9b94544 into main Apr 2, 2024
10 checks passed
@sfmskywalker sfmskywalker deleted the patch/3.1.1 branch April 2, 2024 05:41
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.

2 participants