Commit graph

453 commits

Author SHA1 Message Date
Sipke Schoorstra 4f90cfbbdf
fix: register built-in activation strategy serialization aliases (#8049)
* fix: register built-in activation strategy serialization aliases

3.8 type-resolution hardening no longer falls back to Type.GetType, so
Studio-selected and 3.7-era SQN activation strategy types failed to
deserialize. Register the four built-in strategies with legacy names
and advertise registry aliases from the descriptor endpoint.

Fixes https://github.com/elsa-workflows/elsa-core/issues/8049

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

* test: DRY activation strategy serialization test setup

Extract shared registry/JSON arrange helpers so activation alias tests
share setup without collapsing their assertions.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

* test: qualify Options.Create in serialization test helpers

Avoid Elsa.Options colliding with Microsoft.Extensions.Options.Options.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

* test: keep activation alias setup local and obvious

Drop the shared Testing.Shared helper and extra Runtime wrapper. Those
hid one-line registry construction. Leave same-class helpers only.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

* fix: advertise resolvable activation strategy type names

When the registry has no preferred alias, fall back to the simple
assembly-qualified name so Studio stores an identifier the resolver
can load. FullName is not a registered alias.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-09-11 18:09:51 -07:00
Sipke Schoorstra 2787ff6bd0
Preserve StateMachine composite transition continuations 2026-08-31 04:51:34 +02:00
Sipke Schoorstra da5ccca2be
Yield triggerless StateMachine cycles 2026-08-31 03:30:17 +02:00
Sipke Schoorstra 5a820ce33e
Expand StateMachine conformance coverage 2026-08-31 03:11:19 +02:00
Sipke Schoorstra 6a2e530d77
Enforce StateMachine trigger identity boundaries 2026-08-31 02:54:01 +02:00
Sipke Schoorstra 051e12f864
Fix StateMachine transition lifecycle ordering 2026-08-31 02:47:29 +02:00
Sipke Schoorstra dff7d9f987
Harden output converter contracts
(cherry picked from commit 0737def83d)
2026-08-21 22:22:47 +02:00
Sipke Schoorstra 61fc376dac
Add output converter support at binding boundaries
Backport to release/3.8.0 so Elsa.Api.Client 3.8.0-rc2 exposes the
Resources/OutputConverters surface that Elsa Studio's release/3.8.0 branch
already consumes. Without it, Studio cannot build against a released client:
it was green against 3.8.0-preview.5397 (built from main) and broke when its
pin moved to 3.8.0-rc1 (built from this branch).

(cherry picked from commit d698e6b005)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 22:22:46 +02:00
Sipke Schoorstra ff10a68100
refactor: update package reference configuration
- Updated `CShells.Abstractions` package reference to use the default version in the unit test project.
2026-08-03 13:15:18 +02:00
Sipke Schoorstra e59a0f1721
Merge remote-tracking branch 'origin/release/3.8.0' into release/3.8.0 2026-08-03 02:08:23 +02:00
Sipke Schoorstra 103028452f
feat: introduce HTTP webhooks module
Adds a new `Elsa.Http.Webhooks` module, enabling workflows to receive incoming webhook events and dispatch outgoing webhooks. This integrates the WebhooksCore library.

Further improvements include:
- Enhanced validation for configured application instance names, providing clearer feedback, especially regarding Azure Service Bus entity name limits.
- Improved API error reporting for shell reload operations, distinguishing between blueprint not found (404) and other failures (503).
- Updated release announcement rendering to dynamically reference the correct major.minor release line for feedback messages.
2026-08-03 02:08:15 +02:00
Sipke Schoorstra c557c455ad
Merge release/3.8.0 into bugfix/7900-tenant-request-services 2026-08-03 00:48:56 +02:00
Sipke Schoorstra 286a0d83d1
Harden external identity race compensation 2026-08-02 23:19:49 +02:00
Sipke Schoorstra d10dbdd482
Merge branch 'codex/pr-7903-review-fixes' into release/3.8.0 2026-08-02 22:40:23 +02:00
Sipke Schoorstra f4d749d3f1
Merge branch 'codex/auth-refinements' into release/3.8.0 2026-08-02 22:39:54 +02:00
Sipke Schoorstra fe125ac336
Fix external authentication review findings 2026-08-02 03:35:39 +02:00
Sipke Schoorstra 1b74bb94c0
fix: validate external login methods before discovery
Use the same structural and secret-binding assessment for management, discovery, and initiation so incomplete overrides are never advertised as available sign-in methods.
2026-08-02 02:47:28 +02:00
Sipke Schoorstra 542058971b
Avoid repeated tenant-agnostic registry population 2026-08-02 01:59:45 +02:00
Sipke Schoorstra a60b5a36b2
Refine test for archived connections in shadow relationships; introduce IsAvailableForAuthentication helper for improved connection filtering logic. 2026-08-02 00:49:26 +02:00
Sipke Schoorstra 572cd325b5
Merge compact external authentication secret IDs 2026-08-02 00:22:29 +02:00
Sipke Schoorstra 119f49f7a2
fix: simplify external authentication secret IDs
Use a compact namespaced GUID for newly managed secrets while preserving unique staging and opaque existing references.
2026-08-02 00:22:16 +02:00
Sipke Schoorstra 9f09aca3f6
Refine test to ensure archived connections do not participate as active shadows; update shadow relationship management to exclude archived entries. 2026-07-31 23:07:08 +02:00
Sipke Schoorstra 14f373528d
Add test for handling archived database overrides in connection shadows 2026-07-31 21:34:35 +02:00
Sipke Schoorstra c3c6f12858
fix: restore commit notification scope before flush
Detach the AsyncLocal scope synchronously so notifications published after an asynchronous flush are not re-buffered and discarded. Add regression coverage that forces the flush across an async boundary.
2026-07-31 04:50:31 +02:00
Sipke Schoorstra d63dae95bc
Introduce shadow relationship management in identity provider connections 2026-07-31 01:00:36 +02:00
Rostislav Statko 56b16caa0e
fix: restore request services after tenant middleware exceptions 2026-07-30 09:54:00 +03:00
Sipke Schoorstra ec9acd4f3f
Fix tenant service mutation race (#7898)
Serialize tenant lifecycle mutations and keep synchronization available through shutdown.

Closes #7771.
2026-07-30 02:47:44 +02:00
Sipke Schoorstra edb5f7cd51
Add workflow state rehydration diagnostics (#7899) 2026-07-30 02:28:56 +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 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 04e58690ff
chore: apply safe dependency upgrades (#7896) 2026-07-26 21:42:27 +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 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 1692fcd193
Fix CShells dependency mismatch 2026-07-11 15:38:09 +02:00
Sipke Schoorstra 74b4778552
Merge pull request #7756 from MohitGuptaC/main
fix: correct Oracle identifier quoting and NVARCHAR2 type cast in GenerateOracleUpsert
2026-07-11 15:37:45 +02:00
Sipke Schoorstra 33181b2c9d
test: cover Oracle bulk upsert SQL generation
Exercise quoted Oracle identifiers, NVARCHAR2 casts, multi-row SQL, update/insert clauses, and parameter ordering. Reuse the provider SQL generation helper so identifier delimiting stays aligned with Oracle EF Core.
2026-07-11 14:35:36 +02:00
Sipke Schoorstra 5336f9ea06
Increase AI host test coverage 2026-06-27 04:04:39 +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