Commit graph

7134 commits

Author SHA1 Message Date
Sipke Schoorstra 1ccf5b7611
Add test for callback session persistence; extend authentication broker for refresh token hash initialization; enable config connection overrides 2026-07-29 13:59:24 +02:00
Sipke Schoorstra 22bc531aa8
Allow promoting shadowed authentication connections 2026-07-29 12:13:06 +02:00
Sipke Schoorstra 238080c465
feat: add configuration-backed Keycloak demo providers 2026-07-28 00:12:12 +02:00
Sipke Schoorstra eb07aa2cde
Fix external authentication connection contracts 2026-07-27 10:07:29 +02:00
Sipke Schoorstra 75a3216ae8
Persist external authentication in identity shell 2026-07-27 02:25:41 +02:00
Sipke Schoorstra 0fa7657b30
Harden external identity link management 2026-07-27 00:40:23 +02:00
Sipke Schoorstra e97a90d442
Add atomic external identity link replacement 2026-07-26 23:40:17 +02:00
Sipke Schoorstra 97c459f198
Add OpenID Connect authentication features 2026-07-26 23:38:20 +02:00
Sipke Schoorstra 7e82a55a9f
Fix local external authentication refresh 2026-07-26 01:49:36 +02:00
Sipke Schoorstra e8aa353d57
Auto stash before merge of "release/3.8.0" and "origin/release/3.8.0" 2026-07-26 00:54:04 +02:00
Sipke Schoorstra 42e507b0d8
Preserve Elsa permissions during external sign-in 2026-07-26 00:27:54 +02:00
Sipke Schoorstra 379e03fdda
Reconcile configured admin role permissions 2026-07-25 23:16:32 +02:00
Sipke Schoorstra f1e2a092f9
Fix external authentication setting field identifiers 2026-07-25 14:07:06 +02:00
Sipke Schoorstra b402d4da8f
Merge pull request #7889 from elsa-workflows/codex/012-external-authentication
Add extensible external authentication and SSO broker
2026-07-25 11:00:33 +02:00
Sipke Schoorstra 939a89c9e8
Fix external authentication host composition 2026-07-25 10:51:36 +02:00
Sipke Schoorstra 128569f6c0
Harden external authentication contracts and flows 2026-07-25 03:48:50 +02:00
Sipke Schoorstra 95b2ce8d84
Revise external authentication architecture 2026-07-25 02:35:56 +02:00
Sipke Schoorstra ef83541edd
Add external authentication broker 2026-07-24 19:04:26 +02:00
Sipke Schoorstra e96c8f23c9
Merge pull request #7748 from elsa-workflows/sfmskywalker-fix-commit-state-atomicity
Fix workflow commit atomicity and bookmark queue retries
2026-06-23 03:10:36 +02:00
Sipke Schoorstra 97c62a718c
Address PR review comments
Document why activity execution context taint is cleared after commit instead of in the log sink, and refactor commit handler tests to share repeated fixture setup.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-23 03:07:50 +02:00
Sipke Schoorstra c6a3366463
Fix commit notification flush edge cases
Preserve cooperative cancellation during buffered notification flushes and still publish WorkflowStateCommitted after a successful database commit when buffered notification handlers fail.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-23 02:44:06 +02:00
Sipke Schoorstra 98f931ae35
Address workflow commit review feedback
Keep buffered commit notification flushes from dropping remaining entries after a handler failure, use the maximum configured transaction timeout for SQL Server commit transactions, and back off distributed bookmark queue retries after lock misses.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-23 02:27:06 +02:00
Sipke Schoorstra 0658037275
Resolve vulnerable transitive persistence packages 2026-06-22 00:45:06 +02:00
Sipke Schoorstra 2074384ff9
Update safe dependency patch versions 2026-06-22 00:03:50 +02:00
Sipke Schoorstra 8474b3fedb
Merge pull request #7746 from elsa-workflows/sfmskywalker-fix-scheduling-startup-backlog
Fix scheduling startup backlog catch-up
2026-06-21 23:48:26 +02:00
Sipke Schoorstra e77da02d52
Fix workflow commit atomicity
Wrap SQL Server EF Core workflow commits in a provider-safe transaction and buffer commit notifications until persistence succeeds. Also preserve dirty activity context state until commit success and make bookmark queue retries resilient to processed-row deletion and transient distributed lock misses.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-21 19:58:09 +02:00
Sipke Schoorstra 7449d2e703 address greptile review feedback (greploop iteration 1)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-21 19:43:09 +02:00
Sipke Schoorstra c7912fd2c8 Fix scheduling startup backlog catch-up
Rebuild local schedules in bounded pages and stagger past-due specific-instant catch-up so orphaned scheduling bookmarks do not flood dispatch during startup.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-21 19:43:09 +02:00
Sipke Schoorstra 6a4c141ce1 Shorten configured application instance names
Configured stable application instance names that exceed the Azure Service Bus transport entity limit are now shortened deterministically instead of failing startup. The same configured value resolves to the same shortened name across restarts, preserving stable per-instance transport identity while supporting normal Kubernetes pod names.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-20 12:50:02 +02:00
Sipke Schoorstra ef6237c4eb
Merge pull request #7743 from elsa-workflows/sfmskywalker-port-asb-stable-instance-380
Port ASB stable application instance name to 3.8
2026-06-20 00:22:53 +02:00
Sipke Schoorstra c442c5f543
Address Greptile review feedback
- Promote boundary constants to internal in ConfiguredApplicationInstanceNameProvider
- Add InternalsVisibleTo for test assembly to eliminate constant duplication
- Update tests to reference service constants directly
- Replace probabilistic NotEqual assertions with deterministic hex-format assertions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-20 00:13:34 +02:00
Sipke Schoorstra b78649a366
Port ASB stable application instance name
Backports the opt-in configured application instance name provider from #7734 to release/3.8.0, including 3.8 shell-feature wiring and tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-20 00:03:43 +02:00
Sipke Schoorstra 1417e797ec
Merge pull request #7741 from elsa-workflows/sfmskywalker-fix-optout-publish-validation
Add opt-out for publish-on-validation-error failure
2026-06-19 23:58:23 +02:00
Sipke Schoorstra 6b08988edd
Fix CShells package restore in CI
CI failed during restore because the centrally pinned CShells preview version
was no longer available from the mapped cshells Feedz source. Local builds did
not reproduce while the preview packages existed in the developer NuGet cache.

Pin the CShells packages to the public 0.0.28 release and allow CShells package
IDs to resolve from NuGet.org in package source mapping, so clean CI restores no
longer depend on unavailable private/feed preview packages.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-19 23:31:54 +02:00
Sipke Schoorstra 2863c980f3
Surface publish validation warnings on API responses
In lenient mode (FailOnValidationErrors = false), PublishAsync returns
Succeeded = true while ValidationErrors may still be non-empty. Previously the
publish API endpoints discarded those warnings, so lenient-mode callers got a
200 OK with no indication of the validation issues.

- Publish and Post (save-and-publish) responses now include a ValidationErrors
  collection populated with the publish result's validation messages.
- BulkPublish response now includes a Warnings dictionary mapping each
  successfully-published definition id to its validation warning messages.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-19 23:31:39 +02:00
Sipke Schoorstra 354d59942c
Honor publish result in Publish/BulkPublish endpoints
The Publish and BulkPublish API endpoints invoked PublishAsync but ignored
the returned result.Succeeded, so publications that failed due to validation
errors were silently reported as successful. On main, strict publishing is the
default, making this a high-impact correctness issue.

- Publish endpoint: when the publish result indicates failure, surface the
  validation errors via AddError and return a 400, mirroring the existing
  save-and-publish (Post) endpoint pattern.
- BulkPublish endpoint: add a Failed bucket; definitions whose publication
  fails are recorded in Failed instead of Published, and the new bucket is
  returned on the response.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-19 23:31:39 +02:00
Sipke Schoorstra b266b32ef9
Restore trailing newline in ManagementOptions.cs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-19 23:31:39 +02:00
Sipke Schoorstra 7981892838
Add opt-out for publish-on-validation-error failure (3.8)
This forward-ports the FailOnValidationErrors publish toggle to the 3.8
mainline. It is purely additive and changes no default behavior: publishing
a workflow definition still fails when validation errors are present
(FailOnValidationErrors defaults to true, i.e. strict = opt-out).

Setting FailOnValidationErrors to false — via
WorkflowManagementFeature.UseFailOnValidationErrors(false) or the
ManagementOptions.FailOnValidationErrors option — allows publication to
succeed while surfacing the validation errors as warnings on the publish
result. This enables publishing workflows that intentionally leave required
properties blank (for example, an empty Cron expression used to disable a
trigger).

This is the 3.8 counterpart to #7740, which introduces the same toggle as
opt-in (default false) on the 3.6.x line. References #7738.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-19 23:31:38 +02:00
Sipke Schoorstra f74087ea8b
Merge remote-tracking branch 'origin/release/3.8.0' into release/3.8.0 2026-06-18 18:27:36 +02:00
Sipke Schoorstra e9d89969b7
Add Platform integration 2026-06-18 18:27:27 +02:00
Sipke Schoorstra 116381e543
Merge pull request #7729 from elsa-workflows/codex/runtime-status-read-permission
Add read-only workflow runtime status permission
2026-06-16 23:55:56 +02:00
Sipke Schoorstra 18fc26d891
Clarify runtime status permission summary 2026-06-16 23:34:13 +02:00
Sipke Schoorstra dd47148164
Add read-only workflow runtime status permission 2026-06-16 23:27:59 +02:00
Sipke Schoorstra 20c1064ca5
Remove unneeded CliPath prop 2026-06-08 23:35:31 +02:00
Sipke Schoorstra c66f9aed45
Add Weaver grounding tools
Adds Spec Kit-backed Weaver grounding tools for activities, workflow definitions, workflow proposals, runtime instances, incidents, and Studio capability discovery.
2026-06-08 15:40:10 +02:00
Sipke Schoorstra c84891cdac
Merge pull request #7703 from elsa-workflows/codex/ai-provider-specific-efcore-migrations
Move AI EF Core migrations to provider projects
2026-06-08 15:23:44 +02:00
Sipke Schoorstra 5c0d8b0f4e
Move AI EF Core migrations to provider projects 2026-06-08 15:22:59 +02:00
Sipke Schoorstra 92f451e655
Add PackageManifest.props and build properties for package manifest generation 2026-06-08 09:49:12 +02:00
Sipke Schoorstra 8c4b6fa115
Merge remote-tracking branch 'origin/release/3.8.0' into release/3.8.0 2026-06-08 09:49:04 +02:00
Sipke Schoorstra c3395fe86b
Remove PackageManifestCategories and update feature categories to inline strings 2026-06-08 09:48:55 +02:00