Commit graph

144 commits

Author SHA1 Message Date
Sipke Schoorstra e9d59bc5b1
[codex] Fail fast on default JWT signing keys (#7496)
* Fail fast on default JWT signing keys

* Address JWT signing key review feedback

* Refine JWT signing key validation feedback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>

* Reject JWT signing keys with surrounding whitespace

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>
2026-05-20 22:30:49 +02:00
Sipke Schoorstra fcfc78f659
Add updated roadmap 2026-05-19 16:03:41 +02:00
Sipke Schoorstra d1b36c59ca
Remove video overview GIF from README
Removed video overview GIF from README.
2026-05-17 19:07:24 +02:00
Sipke Schoorstra 835ef74ca7
Add Elsa README video assets (#7455) 2026-05-16 12:20:22 +02:00
Sipke Schoorstra 3decb12680
feat: extend shells integration and modular server support (#7399)
* refactor(deps): use local CShells project refs

Replace CShells NuGet package references with direct project references to the local CShells source to enable developing and testing against local changes and simplify build integration across modules.

* Handle assembly load errors in feature discovery

Added error handling for assembly load failures in feature discovery to improve resilience. Also updated configuration for identity token options and removed unused service bus consumer dependencies. Simplified project structure by moving and cleaning up `Directory.Build.targets` files.

* Refactor configuration and service extension methods.

Moved `ShellSettingsExtensions` and `ShellConfiguration` to `CShells.Abstractions` for better modularity. Added new `ServiceCollectionFeatureExtensions` to improve options registration. Updated appsettings and references to support these changes.

* Introduce ManagementServiceCollectionExtensions to streamline activity and variable registration

Added `ManagementServiceCollectionExtensions` for registering Elsa activity types and variable descriptors, providing a modular and shell-feature-compatible approach to configuration. Updated relevant features to utilize these new extension methods, enhancing code modularity and reducing redundancy.

* Add resilience strategy registration to HTTP feature

Introduced `ResilienceServiceCollectionExtensions` to register resilience strategies within the `Elsa.Resilience.Core` module. Updated `HttpFeature` to incorporate resilience strategies, enhancing HTTP-related resilience configuration leveraging the new extension methods.

* Add new configuration options to JavaScriptFeature

Implemented multiple properties in `JavaScriptFeature` to enhance JavaScript execution: `AllowClrAccess`, `AllowConfigurationAccess`, `ScriptCacheTimeout`, `DisableWrappers`, and `DisableVariableCopying`. These additions enable more flexible and secure configuration of the Jint JavaScript engine.

* refactor(workflows): unify graph caching

Resolve workflow definitions first and store graphs under stable per-version-ID cache keys so different lookup paths share entries.
Centralize cache creation and change-token registration to remove duplicated caching logic.
Skip materializer-unavailable definitions to avoid caching null graphs and simplify flow.

* refactor(tests): centralize default IDs and materializer setup

Introduce constants for default definition and version IDs, and materializer name. Refactor tests to use these constants, streamline graph and definition resolution, and improve cache key creation by sharing logic across tests. Extend tests to check scenarios with unavailable materializers, ensuring caching only occurs for valid cases.

* extend(tests): enhance cache key verification in AutoUpdateTests

Added checks for both workflow definition and version cache keys in AutoUpdateTests to ensure comprehensive cache validation, improving test reliability and coverage.

* refactor(projects): update CShells project paths and solution configuration

Revised project reference paths in `Elsa.ModularServer.Web.csproj` for CShells projects and updated `Elsa.sln` to include new CShells projects, streamlining project organization and build configuration.

* Add `IWorkflowReferenceGraphBuilder` to `WorkflowManagementFeature`; rename `ResilienceShellFeature` to `ResilienceFeature`.

* Refactor `HttpFeature` to use `IMiddlewareShellFeature`, include `HttpWorkflowsMiddleware`, and update `HttpActivityOptions` defaults.

* Add `AddTypeAlias` and `AddVariableTypeAndAlias` extension methods to service collections

- Introduced `AddTypeAlias<T>` method in `ServiceCollectionExtensions.cs` for adding type aliases.
- Added `AddVariableTypeAndAlias<T>` method in `ManagementServiceCollectionExtensions.cs` to add variable types with aliases.

* Remove shell reload API endpoints, orchestrator, and associated tests from the codebase.

* Introduce `DefaultAdminUser` options and refactor `AdminUserInitializer` to use `IOptions`.

* Add user management endpoints: Delete, List, Update with enhanced user store functionality

* Implement `DefaultAdminUser` feature for initial admin bootstrap, decouple `SecurityRoot` from user management endpoints, update related documentation and permissions.

* Add role management endpoints: Delete, List, and Update, including role data models and handle obsolete SecurityRoot policy.

* Update CShells package references to version 0.0.12-preview.66 and refactor `TenantTaskManager` for improved task lifecycle management.

* Replace project references with package references in csproj files and remove unused folders.

* Integrate Nuplane features, add sample packages, and update dependency handling within ModularServer Web.

* Improve `CShells` startup endpoint registration and resolver handling

- Address duplicate endpoint registration by adding state-aware tracking and deduplication
- Resolve `WebRoutingShellResolver` constructor ambiguity by switching to factory-based registration
- Implement a startup-specific filter to prevent redundant endpoint remapping during `ShellsReloaded`
- Update project to use project references for `CShells` and `Nuplane` components in csproj files.

* Update logging configuration in appsettings for Development and Production

- Change default log level to 'Warning' in Development settings
- Adjust Microsoft.Hosting and Elsa.SamplePackage log levels to 'Information'
- Remove Microsoft.EntityFrameworkCore log level entry from Production settings

* Refactor assembly retrieval methods and update endpoint calls for consistency.

* Add `SampleEndpointFeature` and enhance logging and service integration

- Implement `SampleEndpointFeature` with a new endpoint for handling requests.
- Log endpoint access and integrate `ISampleService` with method `DoSomething`.
- Update logging configuration to include `CShells` and `Nuplane` log levels in Development settings.
- Update `Elsa.SamplePackage` to version 1.0.1 and manage dependencies with project and assembly references.
- Modify JSON configuration for `SampleEndpoint`.

* Update package versions for `CShells` to 0.0.13 and `Nuplane` to 0.0.1-preview.15 in props file.

* Refactor `DefaultAdminUserFeature` by renaming `ConfigureServices` to `Apply` and adjusting service registration method.

* Replace project references with package references across multiple projects and remove obsolete cshells-related solution entries.

* Remove `SampleCatalogEndpointExtensions.cs` and related endpoint mappings.

* Improve `TenantTaskManager` by using `TryRemove` for state clean-up and clarify `SemaphoreSlim` disposal behavior.

* Remove hardcoded default admin credentials and add warning for unconfigured AdminRoleName in admin user setup.

* Address unresolved review comments: fix doc comments, security defaults, compilation issue, and restore reload response contracts

Agent-Logs-Url: https://github.com/elsa-workflows/elsa-core/sessions/34eb1e13-833f-4b3c-9db6-2e9221d221b9

Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>

* Refine reload endpoints: use specific exceptions, add error messages, rename ReloadedAt to Timestamp, remove unused model

Agent-Logs-Url: https://github.com/elsa-workflows/elsa-core/sessions/34eb1e13-833f-4b3c-9db6-2e9221d221b9

Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>

* Potential fix for pull request finding 'Generic catch clause'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Potential fix for pull request finding 'Generic catch clause'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Potential fix for pull request finding 'Generic catch clause'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Add `ExceptionExtensions` with `IsFatal` method and simplify exception handling in `TenantTaskManager`. Remove unused properties from `Directory.Build.props`.

* Add unit tests for `TenantTaskManager` and fix potential state orphaning issue.

* Potential fix for pull request finding 'Generic catch clause'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Fix logger dependency in `SampleEndpointFeature` constructor to use correct type.

* Add unit tests for Elsa Shells API endpoints and update solution configuration.

* Refactor ShellReload models: remove ShellReloadItemResult, update ShellReloadResponse properties.

* Potential fix for pull request finding 'Generic catch clause'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-04-18 14:33:34 +02:00
Sipke Schoorstra 22d457ec77
Update Elsa+ link in README for professional support 2026-04-14 15:35:36 +02:00
Sipke Schoorstra fddfcfc064
Update Feedz badge in README.md 2026-03-07 11:48:45 +01:00
Sipke Schoorstra 7377103817
Rename project to Elsa Workflows and update support info
Updated project name and support section in README.
2026-02-11 21:57:31 +01:00
Sipke Schoorstra dfa94e4295
Update image reference in README.md 2026-02-06 15:36:33 +01:00
Sipke Schoorstra b3ad57191a
Add DeepWiki badge to README 2025-11-15 19:44:16 +01:00
Sipke Schoorstra f24b4394cf
Add WorkflowStateCommitted notification support and update state handling logic
- Introduced `WorkflowStateCommitted` notification to encapsulate workflow execution context, state, and instance details.
- Updated `DefaultCommitStateHandler` to publish `WorkflowStateCommitted` via `IMediator`.
- Adjusted `DispatchWorkflowExtensions` to use `WorkflowStateCommitted` for workflow completion.

Updates KubernetesClient and Microsoft packages (#6917)

* Remove Proto.Cluster.Kubernetes dependency due to vulnerability

- Temporarily removed `Proto.Cluster.Kubernetes` package and provider integration because of a vulnerability in its dependency (https://avd.aquasec.com/nvd/2025/cve-2025-9708).
- Adjusted related cluster provider and remote configuration logic.
- Updated `PortAttribute` default parameter for clarity.

* Revert "Remove Proto.Cluster.Kubernetes dependency due to vulnerability"

This reverts commit 0720d970968e4f7338825407258b34ddffb1d2a4.

* Add KubernetesClient package and update MicrosoftVersion to 9.0.9

- Added `KubernetesClient` package to the project dependencies.
- Updated `MicrosoftVersion` to `9.0.9` in `Directory.Packages.props`.
Update Polly packages

- Bump Polly and Polly.Extensions package versions to 8.6.3.

Update `Microsoft.AspNetCore.Authorization` to use `MicrosoftVersion` property

Ensure Docker images ship CA trust and add TLS smoke tests (#6918)

Remove TlsSmoke project and related solution references

- Deleted `TlsSmoke` project files (`Program.cs` and `TlsSmoke.csproj`).
- Removed `TlsSmoke` project reference from the solution file (`Elsa.sln`).

Add comprehensive Copilot coding agent instructions for repository onboarding (#6920)

* Initial plan

* Add comprehensive .github/copilot-instructions.md with validated build instructions

Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>
Add ForEach tests, introduce asynchronous workflow runner and enhance workflow events. (#6926)

* Introduce asynchronous workflow runner and enhance workflow events.

- Added `AsyncWorkflowRunner` to enable asynchronous workflow execution and result tracking.
- Introduced new event arguments, such as `ActivityExecutedEventArgs` and `WorkflowStateCommittedEventArgs`.
- Expanded `WorkflowEvents` class to include `ActivityExecuted`, `ActivityExecutedLogUpdated`, and `WorkflowStateCommitted` events.
- Refactored event arguments into the `Elsa.Testing.Shared.EventArgs` namespace.
- Enhanced tests with `AsyncWorkflowRunner` and new event-driven workflow scenarios.

* Refactor event argument classes to unify namespace and simplify inheritance

* Add shared component DotSettings file to support namespace exclusions
Refactor `WaitAsync` call in `DispatchWorkflowsTests` to remove unnecessary generic type.
2025-09-25 20:58:21 +02:00
Sipke Schoorstra 1361138443
Update README and enhance ScheduleActivityExecutionContextTests with cancellation token 2025-06-23 11:26:34 +02:00
Ouail Laamiri a037ab873f
Update README.md (#6629) 2025-05-09 19:55:21 +02:00
Sipke Schoorstra eba7eb289d
Update README.md 2025-01-15 11:25:43 +01:00
Sipke Schoorstra 965a67c62f Fix punctuation in link text for better clarity.
Added a missing comma in the README link text for the Elsa 2 section to improve readability and align with proper punctuation standards. No functional changes were made.
2025-01-05 20:29:08 +01:00
Kursat Aktas 184c9efec9
Introducing Elsa Guru on Gurubase.io (#6118)
Signed-off-by: Kursat Aktas <kursat.ce@gmail.com>
2024-11-13 20:21:45 +01:00
Sipke Schoorstra ca643a8611
Update README.md 2024-10-07 09:36:10 +02:00
zergmk2 fe6ff588e6
[Fix] Replace "bundles" with "apps" in the content of README.md to align with current source code structure. (#5885) 2024-08-13 20:56:32 +02:00
Sipke Schoorstra 659dd8f5ff Add new Elsa v3 avatar to design and update README
Introducing a new avatar image for Elsa 3.0. The README file has been updated to reference the new avatar image instead of the old logo art.
2024-08-07 21:09:39 +02:00
Mohamed Ali d146c5d938
[no ci] Update README.md 2024-04-02 21:46:18 +03:00
Sipke Schoorstra 2f50470480 Update Docker commands in README
The Docker commands in README.md have been updated to pull the latest version of elsa-server-and-studio container instead of elsa-v3. Additionally, a new environment variable `HTTP__BASEURL` was added to the `docker run` command for configuration purposes.
2024-02-25 13:38:48 +01:00
Sipke Schoorstra ae3664a5d8 Add contributing guide to README.md
This update adds a comprehensive guide to the README file detailing the steps for interested individuals to contribute to the Elsa Workflow project. The guide covers everything from forking and cloning the repository, to understanding the structure of the solution, submitting changes via a pull request, and the importance of opening an issue first for discussing intended changes.
2024-02-08 18:42:55 +01:00
Sipke Schoorstra 6a5835e51a Update artwork 2023-12-25 12:27:07 +01:00
Sipke Schoorstra 6b1f29d451 Merge branch 'main' of https://github.com/elsa-workflows/elsa-core 2023-12-16 11:47:12 +01:00
Sipke Schoorstra 1204ac0319 Remove Console and ASP.NET examples, simplify README.md
Simplified README.md by removing in-depth Console and ASP.NET Core examples, as well as mentions about building from source, serving overall clarity and readability. Added descriptions for coded and visual workflow design possibilities.
2023-12-16 11:44:41 +01:00
Mohamed Ali 4a8269efdf [no ci] add link to Elsa 2 in README 2023-12-14 14:21:39 +03:00
zergmk2 3ca9b29ad6
Update README to add access information when user tried to run elsa with docker (#4708) 2023-12-14 11:35:48 +01:00
Sipke Schoorstra 318d956db6 Update description in README.md
The current diff modifies the description of the Docker image in the README file. The revised description consolidates information about the image, its reference ASP.NET application nature, and its non-production intention into a single, more succinct sentence.
2023-12-13 21:43:03 +01:00
Sipke Schoorstra eeba1f8e9b Reorganize README and add Docker instructions
The README file was reorganized to make it more readable by grouping related badges together. Additionally, instructions on how to start the Elsa Docker container were appended for users who want to quickly try out the Elsa Studio and Elsa Server.
2023-12-13 10:04:12 +01:00
Sipke Schoorstra 49e96d53b3 Update README with enhanced instructions for Elsa server and studio
The README updates include specific instructions for running the Elsa server on port 5001 and the Elsa studio application on port 6001. These enhanced guidelines provide comprehensive steps for configuring the applications regarding authentication, module usage, and use of API endpoints.
2023-12-11 11:01:55 +01:00
Sipke Schoorstra 8bf05c73a3 Add badges to README.md
The README.md file has been updated to include badges for packages, continuous delivery, and discussions related to Elsa workflows. These badges provide quick access to key information and resources like Nuget, npm, GitHub Actions, feedz.io, Docker, Discord, Stack Overflow, and subreddit subscribers.
2023-12-11 00:10:45 +01:00
Sipke Schoorstra 6b25231218 Update title in README.md
The README.md file has been updated to reflect the new version of Elsa - Elsa 3.0.
2023-12-10 23:43:52 +01:00
Sipke Schoorstra daea741320 Add new visuals and update descriptions in README
The visuals and their respective descriptions on the README page have been updated. A new image has been added at the top of the document, and one existing image and its caption are updated to better describe the content.
2023-12-10 22:59:13 +01:00
Sipke Schoorstra 2dee2039ac Add "Building from Source" section in README.md
In this update, a "Building from Source" section was added to the README.md file. This section provides instructions on how to build and test the current project using the .NET 6 SDK or later. It also includes steps to run the Elsa.AllInOne.Web project.
2023-12-10 22:33:31 +01:00
Sipke Schoorstra c3a3e5be87 Update README with scheduling instructions
Added detailed instructions in the README file on how to update the Program.cs file with the UseScheduling() method. Also made modifications to the HeartbeatWorkflow class to use the Elsa.Scheduling.Activities.Timer.
2023-12-10 22:28:24 +01:00
Sipke Schoorstra 3aeacfeebb Update README with detailed usage instructions and examples
This commit improves the README by providing in-depth instructions on how to run the application and examples of more complex workflows. In addition, it includes details on creating an ASP.NET Core application to act as a workflow server and demonstrates how to handle HTTP requests using workflows.
2023-12-10 22:13:00 +01:00
Sipke Schoorstra 6ff6cc6826 Refactor expression descriptors and remove unnecessary async calls
This commit refactors how expression descriptors are created and retrieved across Elsa project. The asynchronous methods have been simplified to synchronous ones removing unnecessary `ValueTask` returns. Additionally, `IExpressionDescriptorRegistryPopulator` has been removed resulting in less complexity and better performance.
2023-12-10 21:43:24 +01:00
Sipke Schoorstra 3d68207547 Update description of Capsules in README
The short description of Capsules under the feature list has been updated for clarity. The updated description more accurately reflects that Capsules are "hot" deployable workflow packages that contain activities and configuration.
2023-12-10 21:24:39 +01:00
Sipke Schoorstra b26e39abed Move Elsa logo in README
The Elsa logo image has been moved in the README for better visualization. This small reordering aims to improve overall project documentation readability and presentation.
2023-12-10 12:30:06 +01:00
Sipke Schoorstra ab4d2992d2 Move logo image in README.md
The logo image in the README file has been moved to a more suitable location. This adjustment enhances the overall structure and readability of the document.
2023-12-10 12:29:26 +01:00
Sipke Schoorstra 5128454217 Refactor README.md for improved readability and clarity
This update applies significant changes to the README.md file. A major restructuring of the content was done to improve the overall readability and understandability of the file. This includes modifications to several sections, like the introduction, documentation, features, known limitations, and more, along with adding a table of contents. The examples were also refined to make them clearer and more digestible.
2023-12-10 12:27:39 +01:00
Sipke Schoorstra 18a717c83a Update README 2023-12-10 12:15:11 +01:00
Sipke Schoorstra 1b3fd3be0a Update readme 2023-07-25 22:52:11 +02:00
Sipke Schoorstra 6bcfe21725 Update common.props and readme 2023-07-25 22:32:33 +02:00
Sipke Schoorstra c75e0b3839 Update readme 2023-04-03 19:56:20 +02:00
Sipke Schoorstra 3dfede96d3 Move shared test utility to common folder + various incremental changes 2022-12-20 12:13:53 +01:00
Sipke Schoorstra 1b5ec1ce1b Update README 2022-12-19 12:21:08 +01:00
Sipke Schoorstra cc1325010a Update readme 2022-12-19 12:18:53 +01:00
Sipke Schoorstra 689147b9ca Add sources from experimental repo 2022-01-04 09:42:12 +01:00
Sipke Schoorstra 42ce946d64 Reset 2022-01-04 09:38:11 +01:00