Commit graph

4390 commits

Author SHA1 Message Date
Sipke Schoorstra a5d13e4e9b
Enhance HTTP Endpoint + Flowchart fix (#4469)
* Fix flowchart next activity scheduling bug

This fixes a bug where the Flowchart activity would schedule connected activities regardless of the outcome of the completed activity.

* Cancel activity execution when cancellation token is triggered.

* Enable user to handle HTTP endpoint validation failures as outcomes

* Don't respond with full details in case of HTTP Endpoint faults for security
2023-09-22 18:45:18 +02:00
Sipke Schoorstra a201672584 FlowSendHttpRequest improvements 2023-09-22 11:13:23 +02:00
Sipke Schoorstra e7ca310eac
HTTP File Response Improvements (#4465)
* Make local temp path configurable

* Generate entity tag based on file content hash instead of modified date
2023-09-21 19:42:41 +02:00
Sipke Schoorstra fc14cfb7b0
Exclude Activity from being serialized in instance and execution log (#4464) 2023-09-21 18:09:48 +02:00
Sipke Schoorstra edc2335d82 Add initial version of Document Approval sample from Elsa 2 2023-09-21 00:05:50 +02:00
Sipke Schoorstra 841628011a Add metadata to control non-serialized output 2023-09-20 22:55:58 +02:00
Sipke Schoorstra a4750883f5 Fix HTTP Endpoint activity 2023-09-20 22:02:37 +02:00
Sipke Schoorstra a0ef307ff6 Revert FlowSendHttpRequest outcome UI hint
It breaks the Stencil designer. Additionally, we might need more advanced control over the available outcomes in the future.
2023-09-20 10:29:35 +02:00
Sipke Schoorstra 710950a287 Cleanup 2023-09-19 22:43:44 +02:00
Sipke Schoorstra 89f94a2261
File Uploads (#4457)
* Initial support for receiving files via HTTP Endpoint activity

* Implement HTTP endpoint request timeout

* Implement request time out handling

* Implement request size validation

* Formatting

* Implement application and system level cancellation tokens

* Create CancellationTokens struct

* Cleanup HttpEndpoint

* Implement file size validation

* Implement file extension validation

* Implement mime type validation

* Update usages of cancellation tokens
2023-09-19 22:42:53 +02:00
Sipke Schoorstra fbdd555dd9 Implement workflow-level exception handling
Fixes #4451
2023-09-18 20:52:53 +02:00
Sipke Schoorstra e52c4eb91f Add support for registering customized output names
Issue #4174
2023-09-18 19:45:49 +02:00
Sipke Schoorstra cb4637fe19 Add timeout outcome to SendHttpRequest activities
Issue #4456
2023-09-18 15:56:38 +02:00
Sipke Schoorstra ef0022b610 Merge branch 'v3-terminal-nodes' into v3 2023-09-18 15:44:07 +02:00
Sipke Schoorstra c82dc2a1ec Add Input accessors for Liquid 2023-09-18 15:42:59 +02:00
Sipke Schoorstra 635d4f6948
Terminal Activities (#4454)
* Implement terminal node behavior

* Cleanup
2023-09-18 14:23:43 +02:00
Sipke Schoorstra b8aee60e0e Cleanup 2023-09-18 14:21:53 +02:00
Sipke Schoorstra 6b90a1506c Move ITerminalNode interface to general Contracts namespace 2023-09-18 14:21:16 +02:00
Sipke Schoorstra a71341f435 Implement terminal node behavior 2023-09-18 14:17:31 +02:00
Sipke Schoorstra 13cdd43502 Rename download correlation ID header 2023-09-17 22:35:56 +02:00
Sipke Schoorstra cb87d2ed82
Implement resumable downloads (#4448)
* Incremental work on persistent file cache

* Rename providers to handlers

* Implement zip file caching for resumable downloads

* Implement partial download for zipped files

* Allow executing workflows using GET verb

* Implement custom header for correlating downloads

* Rename FileName to Filename for consistency

* Update interface XML comment

* Cleanup

* Fix that source Downloadables were executed even when cached zip exists

* Make download correlation ID optional
2023-09-17 22:35:13 +02:00
Alexander Rose a21751672d
make type name helper aware of generics (#4442)
* make type name helper aware of generics

* fix ActivityTypeNameHelper.GenerateTypeName for generic types specifying a type name in the activity attribute
2023-09-17 20:08:38 +02:00
Sipke Schoorstra 66a8ad084f
WriteFileHttpResponse updates (#4446)
* Incremental work on buffered download

* Save zip file to a temp file to prevent OOM and support resumption
2023-09-16 19:02:07 +02:00
Sipke Schoorstra f153a104bb Formatting Elsa.Http.csproj file 2023-09-16 12:02:51 +02:00
Sipke Schoorstra eb88e40efa Use ContentDisposition class to parse and create content disposition 2023-09-16 11:43:34 +02:00
Sipke Schoorstra bb2fa55d0e
WriteHttpFileResponse Activity (#4445)
* Incremental work on WriteFileHttpResponse activity

* BREAKING Schema change - Increase bookmark flexibility

* Implement zipped file response
2023-09-16 11:06:56 +02:00
Sipke Schoorstra 12f9e0844b Add logging of composite completion signal 2023-09-14 17:27:42 +02:00
Sipke Schoorstra 7f0b3cb8fc Fix cascaded handling of SetOutcome 2023-09-14 16:30:18 +02:00
Sipke Schoorstra 1f3851b652 Add debug logging to Flowchart activity 2023-09-14 12:51:10 +02:00
Sipke Schoorstra a21400af12 Fix EF Core complaint about ActivityIncident 2023-09-14 11:49:46 +02:00
Sipke Schoorstra 45169d0e71 Add incident timestamp 2023-09-14 11:19:05 +02:00
Sipke Schoorstra 03b608410b
Incidents (#4436)
* Implement Incident Strategy interface and resolver

* Add ActivityIncident model

* Add IncidentCount and Incidents properties and update migrations

* Expose incident strategies API endpoint

* Update API client with Incident Strategy models

* Replace Fault with Incidents

* Register fault status when any children have faulted

* Map incident count

* Remove unnecessary AlreadyCompleted result

* Ensure next activities are scheduled only if activity completed normally

* Incident roundtrip and fix workflow instance realtime updates

* Remove unused variable

* Add integration tests
2023-09-14 10:50:02 +02:00
Sipke Schoorstra 6fddd5223d Add execution context affinity and prevent duplicate scheduling for Join
This fixes the issue where the Join activity executes twice and potentially one instance never completes.
2023-09-12 20:27:36 +02:00
Sipke Schoorstra 287442ca7e Update middleware to also inspect memory block for output values 2023-09-11 21:58:27 +02:00
Sipke Schoorstra e16d11f262 Merge remote-tracking branch 'origin/v3' into v3 2023-09-11 21:36:12 +02:00
Sipke Schoorstra e8421bd148 Fix SetOutput when used in composite activity 2023-09-11 21:36:07 +02:00
GitHub Action c2882207ea Updated designer version to 3.0.3-preview.201 2023-09-11 17:00:53 +00:00
Sipke Schoorstra 9bb2c44d32 Fix broken select list options 2023-09-11 18:58:10 +02:00
Sipke Schoorstra 2ba5051880 Fix connection comparison
Fixes the issue where restored connections would keep being restored upon deserialization
2023-09-11 11:22:03 +02:00
Sipke Schoorstra a8b3cbab74 Add request exception handling to SendHttpRequest activity 2023-09-10 21:31:57 +02:00
Sipke Schoorstra f6c4ffb934 Fix tag not passed to child completion callback
Fixes #4387
2023-09-10 18:34:40 +02:00
Sipke Schoorstra cbf609760e Ensure BookmarksDeleting and BookmarksDeleted events are published
Fixes #4389
2023-09-10 16:39:42 +02:00
Sipke Schoorstra 4f73419573 Add error logging for SendEmail activity
Fixes #4394
2023-09-10 16:02:25 +02:00
Sipke Schoorstra 5d7188a4e8 Add ability to schedule outcome names. 2023-09-10 15:34:26 +02:00
Sipke Schoorstra 73326bb228 Fix HTTP request console sample project
Fixes #4261
2023-09-09 22:35:41 +02:00
Sipke Schoorstra fc3b82aa46 Fix SetOutput activity when used inside root scope 2023-09-09 22:35:04 +02:00
Sipke Schoorstra 2d61569cab Add parent/child workflow programmatic ASP.NET sample 2023-09-09 16:54:27 +02:00
Sipke Schoorstra f63acfa465 Add missing Npgsql package to Dapper module 2023-09-09 16:54:01 +02:00
Sipke Schoorstra c71dc296c9 Merge remote-tracking branch 'origin/v3' into v3 2023-09-09 14:40:53 +02:00
Sipke Schoorstra 76720103b4 Handle erroneous routes
Fixes #4415
2023-09-09 14:40:48 +02:00