Commit graph

2077 commits

Author SHA1 Message Date
Sipke Schoorstra 0f747b67fd Refactor Elsa workflows and add support for triggers/bookmarks
Reorganized data migrations and introduced new stores for triggers and bookmarks. Added index providers and migrations for improved queryability of triggers and bookmarks. Updated WorkflowInstance handling with additional configurations and dependency injections.
2025-02-15 23:49:56 +01:00
Thomas Yates c12982dd88 Added minor changes to MassTransitFeature to start using MassTransitOptions as the source for the prefetch count as the new source for this information is in the base MassTransitOptions. Created a new ConfigureTransportBus in both RabbitMQ and Azure Service Bus to support the context in the configuration action. Marked the old ConfigureServiceBus to persuade migration over to the contextual action. Currently, it will run the legacy action first and then the new contextual action second. The Elsa.Server.Web was also updated to use the new ConfigureTransportBus. 2025-02-15 13:04:45 -06:00
Sipke Schoorstra 78eebe67ee Add ElsaWorkflowInstanceStore and workflow instance indexing
Introduced `ElsaWorkflowInstanceStore` for managing workflow instances, including querying, saving, updating, and deleting. Added associated index provider and schema changes for indexing workflow instances, enabling efficient data retrieval. Updated startup and manifest files to register these new functionalities.
2025-02-15 11:54:18 +01:00
PkaaZ a38d56b328 Update for a better description 2025-02-15 12:51:45 +02:00
PkaaZ d24764b8cc Add CorrelationId to NewBookmarkQueueItem 2025-02-15 12:43:58 +02:00
Sipke Schoorstra 255bb26dff Refactor code for improved clarity and modern syntax
Refactored multiple classes to align with modern C# coding practices such as object initializers and nullable type handling. Added a new base class for checklist dropdown providers to enhance UI configuration extensibility. Simplified constructors for feature classes by adopting record-like syntax, improving readability and maintainability.
2025-02-15 00:12:52 +01:00
Sipke Schoorstra 0bca6913b9 Introduce workflow definition publishing and serialization enhancements
Implemented `NewAsync` method in `IWorkflowDefinitionPublisher` for asynchronous workflow creation. Added content item-based workflow definition management, including publishing, retracting, and draft management. Updated workflows API and integrated serialization improvements for better content handling.
2025-02-14 21:41:46 +01:00
Sipke Schoorstra 7b5aa6073d Add support for content item-backed workflow definitions
Introduced a `ContentItemWorkflowDefinitionStore` and related mappers, extensions, and index updates to manage workflow definitions as content items. Refactored the system to replace existing handlers with a store-based approach and optimized querying and mapping workflows.
2025-02-13 23:39:56 +01:00
Bob Hauser 4e76a32e4e Update flowchart activity scheduling, implicit join (and FlowJoin/WaitAll) now only waits for followed connections 2025-02-12 23:27:40 -05:00
Jérémie DEVILLARD 421ace1f5b ConfigurePermisssions
Add Get Endpoints
Add entity framework Core  feature SqlLite implementation
2025-02-12 23:56:10 +01:00
Sipke Schoorstra 0c53c7095c Refactor workflow handling to use WorkflowDefinitionHandle.
Replaced individual parameters with WorkflowDefinitionHandle in workflow-related methods and requests to centralize and simplify logic. Updated related services, models, and handlers to align with this new structure, improving code maintainability and consistency.
2025-02-12 23:13:04 +01:00
Sipke Schoorstra 58f0c48f66 Refactor workflow management to utilize mediator requests.
Replaced direct store interactions in workflow management with mediator-based requests using `IMediator`, improving consistency and modularity. Added new handlers and requests for workflow definition operations, and updated existing services to align with mediator patterns.
2025-02-12 22:08:09 +01:00
Sipke Schoorstra 5fdd7a4542
Merge remote-tracking branch 'origin/main' 2025-02-12 16:39:00 +01:00
Jérémie DEVILLARD 0aed8208dc Mass Refactoring to be compliant with other code in Elsa Repo
- Refactor IStore, InputModel and Entities
- Add Persistence Project
- Add EntityFameworkCore Project
2025-02-12 00:12:06 +01:00
Sipke Schoorstra 3fb4bb18f1 Rename ActivityInput to WorkflowInput and replace 'default' with 'null'.
The record class was renamed to better reflect its purpose as representing workflow input. Additionally, parameters with a default value of 'default' were updated to 'null' for increased clarity and consistency. These changes improve code readability and maintainability.
2025-02-11 15:44:48 +01:00
Jérémie DEVILLARD 4565dfcfbc Merge remote-tracking branch 'upstream/main' into enh/Connections 2025-02-10 12:53:51 +01:00
Sipke Schoorstra 08f7bd7019
Merge pull request #6393 from KnibbsyMan/feat/add-in-sql-editor
Removes Built In SQL Editor Configuration
2025-02-10 09:54:25 +01:00
Sipke Schoorstra f445fbecff
Merge pull request #6394 from elsa-workflows/bug/props-propagation
Add missing request properties when starting workflow
2025-02-10 08:39:33 +01:00
Sipke Schoorstra d83bb3b834 Add customizable tenant header support for HTTP routing
Introduced `MultitenancyHttpOptions` to configure the tenant header name used for HTTP routing. Updated `HeaderTenantResolver` to utilize this option and modified the server setup to allow overriding the default header name. This enables more flexible multitenancy configurations.
2025-02-09 08:24:55 +01:00
Sipke Schoorstra 8952f06dde Add missing request properties when starting workflow
Added support for `Properties` and `ParentId` when creating workflow instances. This fixes an issue where the Properties were not propagated to the workflow instance being created.
2025-02-09 08:12:12 +01:00
Sipke Schoorstra c0bf4b7f84 Add support for selecting all records with empty filters
Introduced a new property, `EmptyFilterSelectsAll`, to handle cases where empty filters should match all records. Updated logic in `WorkflowInstanceFinder` to respect this property, ensuring consistent behavior across the system. Removed redundant comments in the dry-run endpoint for cleaner code.
2025-02-08 10:07:07 +01:00
Sipke Schoorstra 578a15832c Update workflow cancellation logic
Replaced status checks with a call to `CanTransitionTo` for determining if a workflow can transition to the "Cancelled" state. This improves code readability and maintains consistent transition validation logic.
2025-02-08 09:51:26 +01:00
Sipke Schoorstra 0e4a74bfba Add Cancel alteration type and handler for workflow cancellation
Introduced a new `Cancel` alteration type with its corresponding handler to allow workflow instance cancellations in alteration plans. Updated related services, serialization configurations, and activity metadata to support the new type. Improved JSON polymorphism handling to include the `Cancel` type.
2025-02-07 23:10:22 +01:00
Sipke Schoorstra 7cc638b86f Add filtering enhancements and clean up code inconsistencies
Introduced new filtering capabilities such as `Names`, `Statuses`, `SubStatuses`, and `SearchTerm` for workflow instance filters. Simplified object initialization syntax and removed unnecessary attributes, improving code readability. Added missing dependencies and API service registrations to ensure completeness.
2025-02-07 19:54:26 +01:00
Matthew Knibbs 23bc29e73d Removes Built In SQL Editor Configuration 2025-02-07 16:34:22 +00:00
Sipke Schoorstra 484a126693
Merge branch 'patch/3.3.3' 2025-02-07 13:29:43 +01:00
Sipke Schoorstra 861fe40f66
Merge pull request #6370 from yinzara/feature/alterations-client-api
Added Alterations API to Client API library and updated server API co…
2025-02-07 12:56:57 +01:00
Sipke Schoorstra fe038f9a12 Add obsolete ExecuteAsync overloads for job classes
Introduce `[Obsolete]` ExecuteAsync overloads in job classes to support legacy calls while encouraging migration to preferred methods. `[UsedImplicitly]` annotations ensure these methods are retained for compatibility.
2025-02-07 12:48:30 +01:00
Matt 1029580712
Merge branch 'main' into main 2025-02-06 21:20:12 +00:00
Sipke Schoorstra b57763a74c
Merge branch 'patch/3.3.2' 2025-02-06 21:05:22 +01:00
Sipke Schoorstra 5d21bcb4a9 Improve null handling and add job retry configuration
Updated null checks for job types in Hangfire extensions to prevent potential runtime errors. Added Hangfire's `AutomaticRetry` attribute to RunWorkflowJob and ResumeWorkflowJob to configure retry behavior. Simplified object initialization in WorkflowDefinitions List endpoint.
2025-02-06 19:32:08 +01:00
Sipke Schoorstra 1f78dbae57
Add taskName parameter to job execution methods
This change updates job scheduling and execution methods to include a taskName parameter. It ensures a unique identifier is passed for each job, improving tracking and consistency in job handling. Additionally, documentation comments were updated to reflect this new parameter.
2025-02-06 16:58:32 +01:00
Sipke Schoorstra a084353938
Merge pull request #6370 from yinzara/feature/alterations-client-api
Added Alterations API to Client API library and updated server API co…
2025-02-06 16:45:25 +01:00
Sipke Schoorstra aa09708268
Merge pull request #6343 from elsa-workflows/feature/4835
Controlled Commit States Feature Implementation
2025-02-06 16:44:48 +01:00
Sipke Schoorstra 7a758f8850 Fix multitenancy support in Hangfire services and jobs
Refactored Hangfire-related services and jobs to include tenant context management using ITenantAccessor and ITenantFinder. Updated job constructors and method signatures to support tenant-specific execution. Improved exception-throwing syntax for better readability in BackgroundActivityInvoker.
2025-02-06 16:39:38 +01:00
Sipke Schoorstra babf1125ff Refactor ArgumentJsonConverter to improve type alias handling
Introduced logic to handle type aliases more accurately for arrays and collections. Enhanced the final type alias determination by accommodating cases where type aliases are present. Cleaned up unnecessary whitespace for better code readability.
2025-02-06 10:56:43 +01:00
Sipke Schoorstra cf2ac05e92 Refactor ArgumentJsonConverter to improve type handling.
Enhanced type handling by distinguishing arrays, collections, and single types. Added support for "isCollection" metadata and adjusted serialization/deserialization logic to ensure accurate mapping of element types and aliases. This improves clarity and flexibility in JSON representation.
2025-02-06 10:44:04 +01:00
Matt Vance cc39f122eb
Added Alterations API to Client API library and updated server API comments 2025-02-03 16:14:42 -08:00
Sipke Schoorstra 69cdc41782 Remove obsolete migration files from Oracle project.
The migration files `20250131185451_V3_3_2` and related metadata were removed from the project configuration. This cleanup ensures the project references only necessary and relevant resources.
2025-02-01 00:49:19 +01:00
Sipke Schoorstra 2bb3af1e5d Fix Oracle migrations 2025-02-01 00:38:38 +01:00
Sipke Schoorstra 6c0d1ea66c Refactor database setup and EFCore provider configurations.
Revised database initialization scripts to better handle Postgres and Oracle environments, introduced schema-specific configurations for Oracle EFCore, and cleaned up obsolete or redundant entity model setup. Streamlined project structure by relocating and renaming files for SQLite and Oracle EFCore setups, improving maintainability and readability.
2025-01-31 19:51:24 +01:00
Sipke Schoorstra 006e0bbbb4 Ignore EF Core pending model changes warnings and update Oracle DSN.
Added configuration to suppress EF Core PendingModelChangesWarning for better compatibility with newer .NET versions. Updated Oracle connection string to use "localhost" for consistency and clarity in appsettings.json.
2025-01-31 00:52:49 +01:00
Sipke Schoorstra 26e2b1fb56 Add Oracle database support to the project
This commit introduces Oracle database integration by adding necessary configurations, entity mappings, and Docker Compose setup. Oracle-specific mappings ensure compatibility with NCLOB for large data handling. The changes also include updates to appsettings, enum for SqlDatabaseProvider, and project references to support Oracle.
2025-01-31 00:31:09 +01:00
Sipke Schoorstra e54e116977 Fix activity output
Updated `ActivityOutputRegister` to always return the last output value. Added new integration test to validate the functionality.
2025-01-30 22:56:30 +01:00
Sipke Schoorstra 47a7c31714 Refactor commit strategies API to unify descriptor model.
Standardized commit strategy descriptors across workflows and activities by introducing a shared `CommitStrategyDescriptor` model. Updated API endpoints and conversion logic to adopt this unified approach, improving consistency and reusability. Implemented new interfaces in the client API for listing commit strategies.
2025-01-30 18:32:15 +01:00
Sipke Schoorstra 2402bacaba Remove custom JSON converter for workflow commit strategies.
Eliminated `WorkflowCommitStateStrategyJsonConverter` and its usage in the `IWorkflowCommitStrategy` interface. This simplifies serialization logic and reduces unnecessary complexity in the codebase.
2025-01-30 18:11:35 +01:00
Sipke Schoorstra 01a41f6d62 Refactor commit strategies to use AddStandardStrategies method
Extracted commit strategies setup into a reusable AddStandardStrategies method for better code clarity and modularity. Simplified PeriodicWorkflowStrategy by replacing the factory method with a constructor-based interval initialization. These changes improve maintainability and reduce redundancy across the codebase.
2025-01-30 18:10:38 +01:00
Sipke Schoorstra ef97ef415f Update strategy registration methods to use 'Add'
Replaced 'RegisterStrategy' with 'Add' in strategy registration methods for both workflows and activities. This simplifies the naming, enhances consistency, and aligns with modern API design principles.
2025-01-30 15:20:51 +01:00
Sipke Schoorstra 166c1bc117 Add endpoints for listing workflow commit strategies
Introduced two API endpoints to list activity and workflow commit strategy registrations. Updated the project file to include the new directory structure for the endpoints. These endpoints provide unified responses from the respective registry implementations.
2025-01-30 15:19:51 +01:00
Sipke Schoorstra e151810600 Refactor commit strategy architecture for flexibility.
Replaces direct strategy registration with metadata-based registrations, introducing `ObjectRegistration`, `CommitStrategyMetadata`, and associated helpers. Updates existing strategies and APIs to use the new metadata-driven approach, improving extensibility and maintainability.
2025-01-30 15:14:58 +01:00
Sipke Schoorstra 4b308cc94a Refactor commit strategy naming and implementation
Renamed `CommitStateStrategy` to `CommitStrategy` for consistency and clarity. Updated method names, property names, and logic to reflect the new naming convention. Improved null handling when setting commit strategy properties.
2025-01-30 14:29:04 +01:00
Sipke Schoorstra ce859efc4a Refactor commit state handling with a strategy-based approach
Replaced the legacy commit state behavior enums and options with a flexible, strategy-based system for activities and workflows. Introduced new interfaces, models, and strategies to enable fine-grained control of commit state logic. Updated related code to integrate the new commit strategies, ensuring modular and extensible commit handling.
2025-01-30 11:59:47 +01:00
Sipke Schoorstra d93d67cada
Merge branch 'main' into feature/4835 2025-01-30 09:17:38 +01:00
Sipke Schoorstra d500817468 Simplify DbContext creation with ActivatorUtilities.
Replaced Activator.CreateInstance with ActivatorUtilities.CreateInstance to streamline the DbContext instantiation. This improves dependency injection support and ensures better compatibility with service provider configurations.
2025-01-29 19:03:59 +01:00
Sipke Schoorstra f4a31079b7 Refactor activity execution context removal logic.
Updated methods to ensure proper cleanup when removing activity execution contexts, including handling parent-child relationships. Improved robustness and clarity by introducing step-by-step removal for multiple contexts.
2025-01-29 16:18:59 +01:00
Sipke Schoorstra b8f1cfdf6c Back-port PolymorphicObjectConverter from 3.3 2025-01-29 14:56:51 +01:00
Sipke Schoorstra 7f86799393
Merge branch 'main' into feature/4835 2025-01-29 13:39:31 +01:00
Sipke Schoorstra 4d7b551d79 Add support for ExpandoObject attachments in email sending
This update enables handling ExpandoObject as email attachments by extracting relevant properties like FileName, ContentType, and Content. It ensures proper parsing of the content and supports both byte arrays and streams for attachment data.
2025-01-29 11:24:13 +01:00
Sipke Schoorstra 0560d11432 Improve JSON array conversion in ObjectConverter
Refactored ObjectConverter to handle JSON array conversions more robustly, including support for arrays of complex types. Added a `Person` class for unit testing and updated tests to validate the new functionality. Included necessary project reference updates to ensure proper functionality.
2025-01-29 10:50:42 +01:00
Sipke Schoorstra 0eec9693f7 Refactor and optimize workflow execution context handling.
Replaced inline filtering logic with reusable methods to simplify and unify activity execution context management. Introduced `ClearCompletedActivityExecutionContexts` to remove redundant contexts and migrated filtering logic to `WorkflowExecutionContext`. Improved code clarity and maintainability by removing duplicate methods and streamlining exception throwing.
2025-01-28 20:59:27 +01:00
Sipke Schoorstra 8bc6fa6a57 Refactor activity context management and state handling.
Replaced `ActivityExecutionRecordExtractor` with a `ChangeTrackingDictionary` for better state mutation tracking in activity execution contexts. Introduced tainting mechanisms to track dirty states and ensure precise logging and persistence of activity execution logs. Updated several components like `ActivityExecutionLogSink` and `ExpressionExecutionContext` to utilize these changes effectively.
2025-01-28 20:24:53 +01:00
Sipke Schoorstra 7dc6220175
Merge branch 'main' into feature/4835 2025-01-28 13:53:58 +01:00
Sipke Schoorstra 9437ab3a3d Refactor initialization of ObsoleteWorkflowRuntime.
Replaced direct instantiation of `ObsoleteWorkflowRuntime` with `Lazy<ObsoleteWorkflowRuntime>` across multiple runtime services to avoid circular dependency resolution.
2025-01-28 13:53:22 +01:00
Sipke Schoorstra dbd89905c8 Remove redundant PreviousSubStatus assignment in workflow context
The PreviousSubStatus assignment was removed as it was unused and unnecessary. This cleanup simplifies the code and ensures focus only on relevant functionality.
2025-01-28 11:40:14 +01:00
Sipke Schoorstra 633464eb04
Merge branch 'main' into feature/4835 2025-01-28 11:17:14 +01:00
Sipke Schoorstra 9a5181a3d7
WIP on feature/4835 2025-01-28 11:17:02 +01:00
Sipke Schoorstra 4a4657b4a4
Merge branch 'main' into feature/4835 2025-01-28 10:57:52 +01:00
Sipke Schoorstra e2a57aca35
Merge pull request #6344 from elsa-workflows/task/restore-previous-workflow-runtime-api
Restore old workflow runtime API
2025-01-28 10:37:46 +01:00
Sipke Schoorstra 9f01e148a9 Deprecate and clean up legacy workflow runtime components.
Marked various types as obsolete, advising migration to `CreateClientAsync` methods or `IBookmarkQueue` services. Removed unused `Deprecated` namespace imports, aligning code with updated runtime standards.
2025-01-28 09:26:46 +01:00
Sipke Schoorstra ee883dbd07 Refactor workflow runtime to use ObsoleteWorkflowRuntime delegation
Replaced direct method implementations in workflow runtimes with delegations to the new `ObsoleteWorkflowRuntime` class, simplifying the codebase. This consolidates logic and aligns the runtimes under a unified deprecated API layer.
2025-01-28 09:18:24 +01:00
Sipke Schoorstra e27101032b Incremental work on central obsolete workflow runtime for reuse 2025-01-28 00:32:43 +01:00
Sipke Schoorstra 60323d0522 Refactor CanStartWorkflowResult to use compact constructor.
Simplified the object creation in `CanStartWorkflowResult` by using a concise constructor format. This improves code readability and reduces verbosity without altering functionality.
2025-01-28 00:22:20 +01:00
Sipke Schoorstra db1556fd0b Update ProtoActorWorkflowRuntime to implement backwards-compatible workflow runtime API 2025-01-28 00:21:49 +01:00
Sipke Schoorstra 8e88de546d Incremental work on restoring previous workflow runtime API surface for backward compatibility 2025-01-28 00:11:25 +01:00
Sipke Schoorstra 85282f9149
Update WorkflowExecutionContext.cs
Remove unused property
2025-01-27 21:48:14 +01:00
Sipke Schoorstra 6b288e1990
Update SetCommitStateBehavior method for fluent convenience 2025-01-27 21:13:49 +01:00
Matt 2238ffb539
Update BaseSqlClient.cs
Remove unnecessary variables.
2025-01-27 19:39:03 +00:00
Sipke Schoorstra 8cb43db070 Refactor workflow state persistence for improved consistency.
Removed obsolete middleware for persisting bookmarks, execution logs, and variables, integrating their functionality into the commit state handler. Added early exit checks for empty collections in persistence methods. Updated activity invoker logic for better state commit handling during execution.
2025-01-27 20:07:23 +01:00
Sipke Schoorstra 879e546942
Merge branch 'main' into feature/4835 2025-01-27 19:29:43 +01:00
Sipke Schoorstra ea8c3da169 Refactor object initialization and remove unused import.
Updated the object initialization syntax for cleaner code and removed an unused import in WorkflowValidator.cs to improve code readability and maintainability.
2025-01-27 18:55:28 +01:00
Sipke Schoorstra be94a51b8c Add validation for unique input/output names in workflows
Introduces a `ValidateWorkflow` notification handler to enforce validation of unique input and output names in workflows. Adds validation errors when duplicate names are detected, improving the integrity of workflow definitions. Integrates the handler into the workflow management feature.
2025-01-27 18:44:47 +01:00
Sipke Schoorstra 7a21f09ae9 Restore methods for traversing activity execution context hierarchy
Reintroduced `GetAncestors` method and added new methods: `GetDescendants`, `GetActiveChildren`, and `GetChildren`. These methods enhance navigation through activity execution contexts by providing easy access to hierarchical relationships like ancestors, descendants, and children.
2025-01-27 15:49:25 +01:00
Sipke Schoorstra c93b063106 Fix variable mapping and aliasing 2025-01-27 11:29:02 +01:00
Sipke Schoorstra 9365328f0b Add commit state behavior support in workflows
Introduced `ActivityCommitStateBehavior` and `WorkflowCommitStateOptions` to enable flexible state commit handling in workflows. Integrated commit logic into activity and workflow execution contexts and middleware. This improves control over when state is committed during workflow execution.
2025-01-25 23:26:37 +01:00
Sipke Schoorstra 658630078b Add SMTP server configuration and refactor email activity for improved error handling and attachment processing 2025-01-24 23:06:29 +01:00
Sipke Schoorstra cd2d0efef5 Refactor MongoDbStore to use EmptyToNull for TenantId assignments and add StringExtensions for null handling 2025-01-24 19:50:02 +01:00
Sipke Schoorstra 327a49d8c0 Refactor VariableDefinitionMapper to improve type handling for collections and arrays 2025-01-24 19:16:15 +01:00
Sipke Schoorstra 3920d420a9 Update log message for variable conversion failure
Improved the log message to include specific details about the failed conversion, such as the default value, variable name, and type. This enhances debugging by providing more context about the error.
2025-01-24 18:57:40 +01:00
Sipke Schoorstra 868370d222 Refactor VariableDefinitionMapper to include logging
Refactored the `VariableDefinitionMapper` to utilize dependency injection for `IWellKnownTypeRegistry` and added `ILogger` for improved error handling. Updated value conversion logic to log warnings when conversion fails, ensuring better traceability. Simplified return statements and replaced redundant collections with modern syntax.
2025-01-24 18:54:25 +01:00
Sipke Schoorstra fa4a7ce031 Refactor to use target-typed new expressions.
Simplified object instantiations by replacing explicit type declarations with target-typed `new` expressions. This improves code readability and reduces redundancy in object initialization.
2025-01-24 18:40:59 +01:00
Sipke Schoorstra 3e9181bb9e Add 'constants' to NamespaceFoldersToSkip settings
This update modifies the .DotSettings file to include 'constants' as a NamespaceFoldersToSkip entry. This ensures that folders named 'constants' are excluded from namespace inspections, improving clarity and compliance with project preferences.
2025-01-24 18:40:45 +01:00
Sipke Schoorstra 95e04eac17 Refactor to remove redundant debug logs and clean up code.
Eliminated unnecessary debug log statements from `ResumeDispatchWorkflowActivity` and removed redundant whitespace across the affected files. These changes streamline the code for better readability and maintainability
2025-01-24 14:01:19 +01:00
Sipke Schoorstra 74a5c3cd87 Refactor workflow dispatching for clarity and efficiency
Refactored the handling of child workflow execution, ensuring better readability and streamlining logic for dispatch operations. Added explicit tracking of dispatched instances and improved comments to support maintainability.
2025-01-24 13:58:50 +01:00
Sipke Schoorstra fbd16f2d74 Refactor workflow execution handling to improve performance 2025-01-24 13:54:37 +01:00
Sipke Schoorstra 0bb183f1aa Fix spacing inconsistencies in ActivityOutputRegister.cs
Resolved unnecessary whitespace issues and adjusted spacing around conditional statements to improve code readability and maintain consistency. These changes do not alter functionality but enhance the code's clarity and professional formatting.
2025-01-21 22:57:19 +01:00
Sipke Schoorstra 1ca8f2a423 Fix null reference issue in ActivityOutputRegister.
Updated the method to safely access the `Value` property when retrieving the first record, preventing potential null reference exceptions. This ensures more robust and error-free behavior when querying output records.
2025-01-21 22:53:08 +01:00
Sipke Schoorstra dd39ca8d84 Refactor variable handling and activity output registration.
Replaced default value assignments with null for clarity and simplicity. Refactored ActivityOutputRegister to optimize record storage and retrieval using grouped dictionary entries instead of flat lists. Adjusted related methods to improve performance and maintain consistency.
2025-01-21 20:10:54 +01:00
Sipke Schoorstra 33a2fb7afe Optimize ActivityOutputRegister.
Enhanced `ActivityOutputRegister` with dictionary-based lookups for improved performance and added unique key generation methods to efficiently retrieve outputs.
2025-01-21 19:52:30 +01:00
Sipke Schoorstra a7360ed922 Add option to disable variable copying in Jint engine
Introduce a `DisableVariableCopying` option to improve performance by preventing workflow variables from being copied into the Jint engine or back into the workflow context. Updated related logic to honor this setting and ensure compatibility with existing behavior.
2025-01-21 19:11:31 +01:00
Sipke Schoorstra d31661926d Simplify activity context handling in workflows.
Replaced `GetActiveChildren` with a direct `Children` property in `Flowchart.cs` to streamline logic. Removed redundant `GetDescendents`, `GetActiveChildren`, and `GetChildren` methods from `ActivityExecutionContextExtensions.cs`. Also updated GitHub workflows to allow performance-related branches.
2025-01-20 18:29:13 +01:00
Sipke Schoorstra a49bf0c05f Refactor descendant context check in Flowchart activity.
Replaced usage of `GetDescendents` with `Children` property for better clarity and efficiency when checking running activity instances. This simplifies the logic and aligns with the existing structure of activity context handling.
2025-01-20 18:07:14 +01:00
Sipke Schoorstra 7e058ddf15 Refactor workflow context and execution handling.
Optimized activity execution context management by introducing parent-child relationships and improving immutability. Adjusted several APIs to enhance clarity, performance, and maintainability, including the use of `AsReadOnly` collections and removal of redundant code.
2025-01-20 17:44:31 +01:00
Sipke Schoorstra a980022351 Refactor exception handling and activity status logic
Refactored `ExceptionHandlingMiddleware` to improve readability and modularity by splitting responsibilities into smaller methods. Replaced `GetAggregateStatus` with direct use of `source.Status` for significant performance improvement when a large number of activity instances are involved. Updated null-checks for clarity and fixed inconsistent usage of default values.
2025-01-20 13:58:11 +01:00
Sipke Schoorstra ad8eeecdce Refactor workflow management for improved modularization
Reorganized workflow handling to enhance clarity and maintainability, including introducing dedicated request handlers, refactoring middleware, and improving definition publishing. Deprecated `ValidateWorkflowResponse` and updated relevant namespaces for notifications handlers.
2025-01-20 00:24:01 +01:00
Sipke Schoorstra 35d21a69ed Remove creation of WorkflowInboxMessages table.
This commit deletes the code responsible for creating the WorkflowInboxMessages table. The change simplifies the migration script by removing unused or unnecessary table definitions and ensures consistency in database schema evolution.
2025-01-17 08:57:22 +01:00
Sipke Schoorstra 93aa3a7835 Remove WorkflowInboxMessages table and associated logic.
This change eliminates the previously defined WorkflowInboxMessages table and its creation logic for all databases. Cleanup simplifies the database schema and maintains focus on essential entities.
2025-01-17 08:56:21 +01:00
Sipke Schoorstra 9043af1726 Regenerate 3_3 Runtime module migrations 2025-01-16 20:41:12 +01:00
Sipke Schoorstra 0b5f580b0d Reorder tenant services initialization for proper execution.
Ensure `RunStartupTasks` is added before background and recurring tasks as order is critical for correct startup and tenant activation behavior. This prevents potential misalignment in task execution during tenant lifecycle events.

Fixes #6269
2025-01-15 18:40:38 +01:00
Sipke Schoorstra 1ee8fbdb5a Refactor default parameter values to null for readability
Replaced `default` with `null` for optional parameters to improve code clarity and maintain consistency. This change ensures better readability and aligns with common coding practices, especially when null is the intended default value.
2025-01-15 14:27:53 +01:00
Sipke Schoorstra 96dd00838a Refine message handling in MessageReceived activity.
Ensure type validation for incoming messages and clean up workflow input to prevent unintended data propagation. Added a dedicated ResumeAsync method to handle bookmark resumption logic consistently.

Fixes #6294
2025-01-15 14:27:37 +01:00
Sipke Schoorstra 18765cc386 Refactor route normalization logic
Simplified route normalization logic by removing unnecessary lowercase conversion and adjusted usages accordingly. These changes improve code readability, maintain consistency and fixes that route values are stored lower-cased instead of original-cased.
2025-01-15 11:17:21 +01:00
Sipke Schoorstra 2c3843d5f5 Refactor variable mapping and improve type alias handling
Updated `VariableMapper` for null assignment consistency and streamlined `VariableModel` instantiation. Improved `TypeJsonConverter` to handle list type aliases more explicitly, replacing ambiguous syntax with clearer format.
2025-01-15 10:50:34 +01:00
Sipke Schoorstra aaab19509e Fix array type handling in ArgumentJsonConverter
Previously, the code incorrectly used `MakeCollectionType` for arrays. This has been corrected to use `MakeArrayType`, ensuring proper deserialization of array arguments.
2025-01-15 10:50:17 +01:00
Sipke Schoorstra 7a08dd70cb Refactor scheduling service registrations.
Removed unused and duplicate service registrations to simplify DI setup. Ensures cleaner and more maintainable code while preventing potential initialization conflicts.
2025-01-15 00:01:26 +01:00
Sipke Schoorstra 0adc3acd59 Remove unused code from CleanupJob
Deleted an unnecessary `using` directive and a debug `Console.WriteLine` call. These changes clean up the code, improve readability, and avoid potential clutter.
2025-01-14 23:38:38 +01:00
Sipke Schoorstra efd114944c Refactor and enhance JavaScript and object conversions.
Replaced InputProxy with alternative implementations, adding flexibility to handle inputs. Introduced a JsonElementConverter to deepen JavaScript and JSON element integration. Enhanced testing and object conversion logic, improving type handling and support for complex JSON scenarios.
2025-01-14 23:16:29 +01:00
Jérémie DEVILLARD 5e6acc0f4b add missing FodyWeavers 2025-01-14 14:38:33 +01:00
Marius Vasile Vușcan 190d6c3bda
Improvements 2025-01-14 14:43:58 +02:00
Marius Vasile Vușcan e365d44637
Added DeleteVariablesAsync method for the workflow context 2025-01-14 14:41:49 +02:00
Marius Vasile Vușcan 7df058dd2a
Improvements 2025-01-14 12:23:21 +02:00
Jérémie DEVILLARD afc14fab4b add virtual method to DropDownOptions provider to allow customization of options in inherited class.
clean ConnectionOptionsProvider class
2025-01-13 15:52:03 +01:00
Marius Vasile Vușcan f27563a93f
Added DeleteVariablesAsync method for the workflow context 2025-01-13 16:48:24 +02:00
Sipke Schoorstra b2331f73db Handle collection and array serialization in TypeJsonConverter
Refactored TypeJsonConverter to distinguish and properly handle serialization of arrays and generic collections. Updated integration tests to include cases for round-tripping primitive arrays and collections for improved coverage.
2025-01-11 20:23:05 +01:00
Sipke Schoorstra 48c453d153 Enable customizable Hangfire job storage and deprecate obsolete APIs.
Added support for configuring Hangfire job storage per database provider, including PostgreSql, SQLite, and SQL Server. Introduced new methods for flexible Hangfire setup, while marking older APIs and storage configuration extensions as obsolete. Refactored related configurations for streamlined and centralized job scheduling logic.
2025-01-11 19:12:38 +01:00
Sipke Schoorstra 279d55c22c
Merge pull request #6276 from LarsNijholt/fix/no-ref/improve-workflow-instance-definition-filtering
Implemented name filter to workflow instance filter and added case insensitivity to searching definitions and instances by name
2025-01-10 18:39:58 +01:00
Sipke Schoorstra d759624321 Refactor array type handling in variable and JSON converters
Updated the logic to use `MakeArrayType` for array handling instead of generic collection types, ensuring consistency and better alignment with expected type structures. Adjustments were made in both the `VariableDefinitionMapper` and the `TypeJsonConverter`.
2025-01-10 11:40:54 +01:00
Sipke Schoorstra 41d5160c41 Update workflow creation to use async commit method
Replaced synchronous `CreateWorkflowInstance` with `CreateAndCommitWorkflowInstanceAsync` to ensure instance creation is properly committed. Included support for cancellation tokens to improve process control and reliability.
2025-01-10 10:29:03 +01:00
Sipke Schoorstra d6c0ba45df Use sliding expiration for cache entries.
Replaced absolute expiration with sliding expiration for cache entries to ensure the cache is kept active during frequent access. This change optimizes cache behavior and improves resource utilization.
2025-01-10 10:08:25 +01:00
Sipke Schoorstra 605a46fdf7 Refactor workflow graph retrieval logic.
Extract shared workflow graph retrieval logic into a new `GetWorkflowGraphAsync` method, reducing code duplication. Updated call sites to use the new method for better maintainability and readability.
2025-01-10 10:07:54 +01:00
Sipke Schoorstra ada9f3967e Use null instead of default for optional parameters
Replaced `default` with explicit `null` for optional parameters to improve clarity and readability. Additionally, simplified object initialization by leveraging newer C# features like target-typed `new`.
2025-01-09 21:20:02 +01:00
Sipke Schoorstra 288097d503 Simplify and optimize workflow instance creation.
Replaced asynchronous instance creation methods with streamlined synchronous alternatives where applicable. Introduced `CreateAndCommitWorkflowInstanceAsync` for combined instantiation and persistence, along with a separate `CreateWorkflowInstance` method for non-committal instantiation. Refactored related code to improve readability, maintainability, and runtime performance.
2025-01-09 19:34:53 +01:00
Sipke Schoorstra 67b950f86c Refactor to use target-typed object creation
Replaced explicit type initializations with concise target-typed `new()` expressions where applicable, improving code readability and aligning with updated C# conventions. Updated .editorconfig to enforce consistent use of `var` for type declarations.
2025-01-09 10:27:55 +01:00
Lars Nijholt 05f8bc640b Add case insensitivity to the search term of the WorkflowInstanceFilter 2025-01-07 16:00:20 +01:00
Lars Nijholt dc2def3ad9 Add string comparison for searching definitions case insensitively to EfCoreWorkflowDefinitionStore 2025-01-07 15:43:56 +01:00
Lars Nijholt 788e6f7a0f Add case insensitivity to the name and description of the workflow definition filter 2025-01-07 14:53:21 +01:00
Lars Nijholt e48010e3f9 Use ToLower method for comparison 2025-01-07 14:46:03 +01:00
Lars Nijholt 1c9328597f Add workflow name property to workflow instance filter.
Add the name property to the workflow instance filter to make use of the name property that can be used in the Request class for the list endpoint. This allows us to filter purely on workflow instance name without using the SearchTerm
2025-01-07 14:34:14 +01:00
Jérémie DEVILLARD 7ed2bc1c1f Add Elsa Connection Module (wip on persistence and naming) 2025-01-07 11:39:57 +01:00
Sipke Schoorstra aef5921979 Refactor reference handling in serialization classes
Replaces static resolver state with an instance-level resolver in `CrossScopedReferenceHandler` to enhance flexibility and thread-safety. Refactors `JsonWorkflowStateSerializer` to use `GetOptions` for improved API consistency and clarity.
2025-01-06 18:11:11 +01:00
Sipke Schoorstra 25d9608b25 Refactor reference handling logic for serialization.
Replaced `PerCallReferenceHandlerWrapper` with `CrossScopedReferenceHandler` and optimized the resolver initialization using `AsyncLocal`. This simplifies the code and ensures a more efficient handling of reference resolution during serialization.
2025-01-06 17:57:05 +01:00
Sipke Schoorstra a3ce523faa Fix missing base method call in ApplyOptions implementation
The `ApplyOptions` method now correctly calls the base implementation before applying custom configurations. This ensures that any base behavior is preserved, preventing potential issues with serialization options.
2025-01-06 17:27:24 +01:00
Sipke Schoorstra d2777f70de Refactor reference handling to use a wrapper class
Replaced direct use of `CrossScopedReferenceHandler` with `PerCallReferenceHandlerWrapper` for improved abstraction and reusability. Updated `ApplyOptions` to leverage the new wrapper, simplifying reference resolver management. Commented out redundant code to streamline the implementation.
2025-01-06 17:13:20 +01:00
Sipke Schoorstra 506a36574b Update target framework to .NET 9 and improve null handling
Updated the target framework from .NET 8 to .NET 9 for future compatibility and language improvements. Adjusted null handling in `WorkflowDefinitionImporter` for better readability and correctness. Added a cancellation token to `ReadToEndAsync` for improved async operation control.
2025-01-06 15:35:06 +01:00
Sipke Schoorstra ba4645ea62 Refactor JsonWorkflowStateSerializer to improve performance
- **Improves performance:** The converters and static properties are pre-configured when the class is initialized. Only the `ReferenceHandler` is refreshed per call, avoiding repeated configuration of common options like converters.
- **Thread-safe:** Since `_cachedOptions` is immutable, it can safely be reused across threads.

**Tradeoffs:** Small performance cost during cloning, but still much faster than fully recreating options each time.
2025-01-06 15:34:43 +01:00
KnibbsyMan b7781dcc3e Adds the IsSerializable flag to the SqlQuery results output. 2025-01-05 18:36:45 +00:00
Sipke Schoorstra 9aeacd6e4d Update workflow state persistence during cancellation
Enhanced the workflow cancellation process by saving the updated workflow state using `IWorkflowInstanceManager`. Similar updates were applied to state import logic to ensure consistency in persisting workflow state changes.
2025-01-02 11:45:49 +01:00
Sipke Schoorstra 5e2644f751 Refactor workflow runtime structure and update handlers.
Moved `CancelWorkflowsCommandHandler` to the shared runtime module. Updated related project references, features, and configurations accordingly. Improved `WorkflowInstance` actor to save state using `IWorkflowInstanceManager`.
2025-01-02 11:43:21 +01:00
Sipke Schoorstra 6c0f7a48e7 Refactor recurring tasks scheduling logic.
Removed `ConfigureRecurringTasksScheduleStartupTask` and moved its functionality into `RecurringTaskScheduleManager`. Simplified recurring task configuration and streamlined dependencies, improving maintainability. Added retention policies to `Elsa.Server.Web`.
2025-01-02 11:11:42 +01:00
Matthew Knibbs c4e04c4434 Adds SQL Activities. Includes implimentations for MS SQL Server, PostgreSql, MySql and Sqlite. 2025-01-01 23:14:09 +00:00
Sipke Schoorstra fdd71f8007 Handle exceptions in variable loading and fix type checking.
Added try-catch block to log failures when reading variables from storage, ensuring robust error handling. Also refined type checking for `ExpandoObject` deserialization in `ObjectConverter` to prevent invalid operations.
2025-01-01 22:07:49 +01:00
Sipke Schoorstra adf2a672b8 Restore .NET 8 packages
Updated `UseElsaMySql` method to use default `null` values instead of `default` and added a conditional compilation directive for `.NET 9.0`. Also introduced new package versions for targeting `.NET 8.0` and `.NET 9.0` to ensure compatibility and maintainability.
2025-01-01 18:18:48 +01:00
Sipke Schoorstra 9828737ad0 Add validation for null factory types and missing type strings
Ensure `WorkerManager` and `TypeTypeConverter` handle invalid inputs gracefully by throwing exceptions. This prevents potential runtime issues caused by null factory types or unresolved type strings.
2025-01-01 18:18:02 +01:00
Matthew Knibbs f609013a79 Adds SQL UIHints handler and provider. 2025-01-01 16:46:23 +00:00
Sipke Schoorstra e07ece5875 Regenerate EF Core migrations for Runtime 2024-12-31 13:54:19 +01:00
Matthew Knibbs 97a0b36122 Correct JsonEditor namesapce 2024-12-31 10:22:28 +00:00
Sipke Schoorstra 4ed58c67e6 Enable primitive collections and refactor MySQL EF options.
Added support for primitive collections and parameterized collection translation in MySQL EF configurations. Removed redundant `EnablePrimitiveCollectionsSupport` calls in program configuration to centralize the behavior.
2024-12-28 20:06:33 +01:00
Sipke Schoorstra 470399ed21 Refine trigger replacement logic with empty check.
Added a check to avoid unnecessary operations when the removed list is empty in the ReplaceAsync method. This prevents potential redundant calls and ensures more efficient execution.
2024-12-28 18:55:28 +01:00
Sipke Schoorstra afa51f85fa Add support for ExpandoObject deserialization in ObjectConverter
This update enables deserialization of JSON nodes into ExpandoObject via ObjectConverter. It improves type handling and interoperability with dynamic structures.
2024-12-28 14:13:32 +01:00
Sipke Schoorstra 62df21cbaf Make StringData property nullable in WorkflowDefinition
Updated the `StringData` property to allow null values, improving flexibility and aligning with usage scenarios where the property may not always contain a value. This change ensures better handling of optional data.
2024-12-26 11:52:36 +01:00
Sipke Schoorstra 0992404d96 Add integration test for workflow serialization
Introduce a new integration test to verify workflow serialization functionality, ensuring that newly created workflow definitions can be serialized and deserialized correctly. Adjust default nullability for certain fields in `WorkflowDefinition` to improve consistency and prevent null reference issues. Minor argument update in `New` method of `WorkflowDefinitionPublisher`.
2024-12-26 11:17:54 +01:00
Sipke Schoorstra 76d685744d Update target frameworks and package versions to latest
Dropped .NET 6 support and upgraded projects to .NET 8 and .NET 9 frameworks. Updated several package dependencies to their latest stable or preview versions to ensure compatibility and leverage improvements.
2024-12-22 10:00:56 +01:00
Sipke Schoorstra 621c298126
Merge pull request #6218 from SergerGood/main
Call async methods when in an async method
2024-12-22 08:47:56 +01:00
Sipke Schoorstra fb70022e87 Add Variable parameter to StorageDriverContext
Updated `StorageDriverContext` to include a `Variable` parameter, ensuring more precise context handling for variable-related operations. Adjusted relevant method calls to pass the required `Variable` argument where necessary.
2024-12-18 15:37:38 +01:00
Sipke Schoorstra 8f8f8579a4 Add support for waiting for child workflows in ExecuteWorkflow
This update introduces the ability to optionally wait for child workflows to complete before finishing the ExecuteWorkflow activity. A bookmark mechanism is used to resume the activity when the child workflow completes. Additionally, a new handler was added to manage the resumption of these workflows upon completion events.
2024-12-18 15:05:46 +01:00
Sergei Khlebnikov 8583da9b5f
Merge branch 'elsa-workflows:main' into main 2024-12-16 22:58:04 +03:00
sergergood 311b792f9b Call async methods when in an async method 2024-12-16 22:57:11 +03:00
Mathijs Dumon c25ef53dcc Fix for #6082 - dropdowns are not populated for inputs without UIHints 2024-12-16 16:15:58 +01:00
Sipke Schoorstra a1652f3f23 Refactor activity cancellation and bookmark handling.
Added logic to cancel child activities during activity cancellation. Removed redundant bookmark removal logic in the `Fork` activity for better clarity and efficiency.
2024-12-14 21:02:14 +01:00
Sipke Schoorstra 83ccbca0e9
Merge pull request #6211 from Sverre-W/retention-sweep-interval
Retention: Allow to define cleanup strategy for workflow instances
2024-12-14 19:36:29 +01:00
Sverre Winkelmans 6a91eb5130
Allow to define cleanup strategy for workflow instances 2024-12-14 12:19:21 +08:00
Sipke Schoorstra 08f7c2bf78
Merge pull request #6208 from Sverre-W/retention-sweep-interval
Retention: Add sweep interval to feature configuration
2024-12-13 15:18:48 +01:00
Sipke Schoorstra 99d48a8c42
Merge pull request #6210 from elsa-workflows/bug/object-vaiable-parsing
Refactor variable handling in storage driver logic
2024-12-13 15:17:13 +01:00
Sipke Schoorstra b9bde79638 Refactor variable handling in storage driver logic
Refactored `StorageDriverContext` to include `Variable` and updated its usage across relevant methods to ensure context accuracy. Enhanced `ObjectConverter` to support conditional deserialization of JSON objects. Adjusted `WorkflowInstanceStorageDriver` to utilize improved variable resolution with new conversion options.
2024-12-13 12:09:04 +01:00
Marius Vasile Vușcan 49715bb2a7
Fixed issues that the outputs of a background actiity to not be mapped 2024-12-13 12:18:15 +02:00
Sverre Winkelmans 7049872fa9
Add sweep interval to feature configuration
Allow users to define their own sweep interval of the cleanup job in the
Retention module
2024-12-13 10:08:25 +08:00
Sipke Schoorstra 2cd90ad011 Fix logging to display full variable type on parse failure
Updated the log message to use the full variable type name instead of the base type. This provides more detailed context for debugging failed variable parsing issues.
2024-12-12 23:08:48 +01:00
Sipke Schoorstra 9aed23278e Improve error message for invalid variable type cast
Updated the exception message to use the full type name of the variable, providing clearer details for debugging type compatibility issues during variable value parsing.
2024-12-12 23:06:50 +01:00
Sipke Schoorstra b1f839a517 Improve variable parsing with error handling and logging
Added `TryParseValue` method to handle parse errors gracefully and prevent crashes. Updated `VariablePersistenceManager` to log warnings when variable parsing fails, providing better debugging support and resilience during workflow execution.
2024-12-12 23:03:20 +01:00
Sipke Schoorstra c3e5624321 Regenerate 3.3 EF Core migrations for backwards compat with 3.2 2024-12-12 22:24:39 +01:00
Sipke Schoorstra af3b3a0d16 Reset migrations and restore WorkflowInboxMessages DB set for backwards compatibility
Remove unused using directive in migration file

Deleted an unnecessary using statement for improved code clarity and maintainability. This cleanup has no functional impact on the migration.
2024-12-12 19:42:18 +01:00
Sipke Schoorstra 9eeed44fc2
Merge pull request #6205 from elsa-workflows/enh/thread-safe-tenant-service
Add concurrency locks to DefaultTenantService operations
2024-12-12 11:42:34 +01:00
Sipke Schoorstra 2656e83109 Use 'null' instead of 'default' for optional delegate parameter
Replaced 'default' with 'null' to improve clarity and better align with common C# practices for optional parameters. This change makes the code more explicit and easier to understand.
2024-12-12 11:38:22 +01:00
Sipke Schoorstra a9c8ad64f1 Add concurrency locks to DefaultTenantService operations
Introduced SemaphoreSlim for initialization and refresh methods to ensure thread safety in DefaultTenantService. Improved tenant unregistration to handle scope cleanup only when mappings exist. These changes enhance reliability and prevent race conditions during tenant operations.
2024-12-12 11:20:45 +01:00
Marius Vasile Vușcan 687c9d616e
Fixed variable value retrieval 2024-12-12 12:18:32 +02:00
Sipke Schoorstra fa9f83f11f Disable activity state filtering temporarily.
Commented out state filtering logic to address issues with log sanitization. The raw value is now directly stored in the activity state until a redesigned solution is implemented.
2024-12-11 18:11:36 +01:00
Sipke Schoorstra 2af951f6c3 Update display name in WorkflowStorageDriver
Remove the "Deprecated" label from the display name for clarity while keeping the `Obsolete` attribute to indicate planned deprecation. This ensures better alignment between the display name and actual usage guidance.
2024-12-11 16:01:57 +01:00
Marius Vasile Vușcan 95e3b15106
Updated to allow string tags 2024-12-11 16:45:23 +02:00
Marius Vasile Vușcan 16122182e2
Introduce the possibility to exclude variable value retrieval for certain storage drivers 2024-12-11 16:45:18 +02:00
Sipke Schoorstra 96bf791668 Introduce JobKeyProvider for managing Quartz job keys
Added JobKeyProvider to centralize job key and group name handling, simplifying Quartz job scheduling. Refactored QuartzWorkflowScheduler to use the new provider, improving maintainability. Updated QuartzSchedulerFeature to register the new provider and a startup task for job registration.
2024-12-11 14:35:49 +01:00
Sipke Schoorstra 9725be0e0f Fix HTML encoding for ampersand in XML documentation
Replaced '&' with '&amp;' in the XML documentation comment to ensure proper HTML encoding. This change improves compatibility and prevents potential rendering issues in documentation tools.
2024-12-11 14:35:19 +01:00
Sipke Schoorstra 1534d5f29a Merge remote-tracking branch 'origin/main' 2024-12-11 10:59:07 +01:00
Sipke Schoorstra 46793825ec Refactor workflow stores to support ordering by creation date.
Added support for ordering workflow definitions and instances by their creation date when querying. This change replaces manual pagination and filtering logic with streamlined methods that utilize the new `WorkflowDefinitionOrder` and `WorkflowInstanceOrder` objects, improving code clarity and maintainability.
2024-12-11 10:58:50 +01:00
Sipke Schoorstra 04796a0471 Increase default TTL for bookmark queue items to 1 minute.
Updated the default Time-to-Live (TTL) from 10 seconds to 1 minute to allow bookmark queue items to persist longer. This change provides more flexibility and reduces the likelihood of premature purging in workflows.
2024-12-11 10:56:59 +01:00
Sipke Schoorstra 17fd9797e0 Add ActivityTypeName to BookmarkQueueItem mapping
This update includes the ActivityTypeName property in the mapping process for BookmarkQueueItem. It ensures more detailed information is carried during the mapping operation, enhancing traceability and debugging.
2024-12-11 10:56:43 +01:00
Sipke Schoorstra 06b7ba43e5
Merge pull request #6083 from jdevillard/enh/tenants/otel-props
[Feat: OTEL + Tenants] : Add TenantId Property to Span
2024-12-11 10:42:40 +01:00
Sipke Schoorstra 9d00466ef3
Merge pull request #6157 from Suchiman/fixPrimitiveSerialization
Fix Primitive Collection serialization
2024-12-11 08:59:02 +01:00
Sipke Schoorstra 5c86e5aefb
Merge pull request #6192 from Suchiman/fixRaceCondition
Fix C# Script<T> race conditino
2024-12-11 08:51:40 +01:00
Robin Sue 7697b35f47 Add Oracle EFC9 Provider 2024-12-10 21:17:00 +01:00
Robin Sue 4d6b7a17fb Add .NET 9.0 target 2024-12-10 21:06:42 +01:00
Sipke Schoorstra d1ee5c77d0
Persist workflow variables during background execution. (#6195)
Added a call to save workflow variables in the BackgroundActivityInvoker to ensure that any changes are persisted during background activity execution. This helps maintain consistency and state integrity across workflow invocations.
2024-12-09 20:36:20 +01:00