Commit graph

162 commits

Author SHA1 Message Date
Sipke Schoorstra 45d194125d
Remove WorkflowStateStore (#4374)
* Remove WorkflowStateStore and use WorkflowInstanceStore instead

* Delete RunningWorkflows actor

* Cleanup
2023-08-30 15:42:16 +02:00
Abhijit d9fd79a307
Upgraded nupkg DistributedLock to v2.3.3 (#4360)
DistributedLock v2.3.2 was indirectly referencing System.Drawing.Common v5.0.0 nupkg which has one critical vulnerability.
2023-08-29 12:46:32 +02:00
Sipke Schoorstra 4d37c2a1da
Fix Default Workflow Runtime Race condition (#4362)
* Refactor Telnyx activities to use instance ID for correlating events

* Ensure SetVariable sets value in correct scope

* Fix race condition between new instances that are being resumed

* Fix tests
2023-08-24 21:41:45 +02:00
Sipke Schoorstra a30ac939ee
Refactor safe serializer (#4361) 2023-08-24 13:15:28 +02:00
Sipke Schoorstra 48b2e29b00
Refactor activity state serializer (#4357) 2023-08-23 21:57:10 +02:00
Sipke Schoorstra 73482a8e4c
Enhanced Logging for Activity Outcomes and Outputs (#4352)
* Add result to logs

* Include outcomes and outputs with activity execution log

* Include outputs with completed activity events
2023-08-23 13:34:30 +02:00
Sipke Schoorstra 10533131e3 Add fault information to journal 2023-08-21 22:45:56 +02:00
Sipke Schoorstra 0413cbebf6 Fix duplicate workflow inbox message effect 2023-08-21 21:17:40 +02:00
Sipke Schoorstra e73d618b1a Remove IsHandled filter when delivering messages 2023-08-21 10:18:12 +02:00
Sipke Schoorstra e43e36b157 Fix hashing 2023-08-17 20:27:35 +02:00
Sipke Schoorstra 8c3f2658e8 Include hash in trigger comparer
This ensures triggers are updated when anything changes
2023-08-16 13:44:03 +02:00
Sipke Schoorstra f4ae684edd
Implement workflow inbox cleanup service (#4327) 2023-08-13 12:35:15 +02:00
Sipke Schoorstra af34276d60
Delete ActivityExecutionRecords when deleting workflow instances (#4324)
* Delete ActivityExecutionRecords when deleting workflow instances

* Enable Hangfire for testing, code formatting
2023-08-12 22:22:40 +02:00
Sipke Schoorstra b829a0acef Update Event Trigger endpoint to resume HTTP bookmarks 2023-08-12 21:58:15 +02:00
Sipke Schoorstra e2e861af05 Use FireAndForget strategy instead of Background worker
For some reason, the background worker causes duplicate handling of notifications
2023-08-12 21:09:07 +02:00
Sipke Schoorstra 6b68bd8f6d Prevent WorkflowInbox from triggering new workflows
when targeting a specific workflow instance
2023-08-12 21:08:14 +02:00
Sipke Schoorstra 7c99037de2
EF Core NoTracking (#4323)
* Use NoTracking for EF Core

* Use Activity ID as Node ID for modern tooling

* Fix DispatchWorkflow activity

* Update tests and remove redundant ToolVersion
2023-08-12 16:41:16 +02:00
Sipke Schoorstra 3ba6a548e1
Update ForEach activity with local variables (#4315)
* Update ForEach activity with local variables

* Add option to include activity instance ID as part of bookmark hash
2023-08-11 21:59:39 +02:00
Sipke Schoorstra 57d06244ec Remove unused constructor argument 2023-08-11 11:35:02 +02:00
Sipke Schoorstra 62ae3b1f6e
Add ability to push variables to scheduled work (#4306) 2023-08-09 22:35:44 +02:00
Sipke Schoorstra 95cefe631f
Bookmarks & Activity Instances (#4301)
* Add ActivityInstanceId to bookmark model

* Fix Telnyx activity resumption

* Fix missing activity instance ID forwarding to workflow inbox
2023-08-09 13:02:20 +02:00
Sipke Schoorstra a8079090aa
Telnyx fixes (#4300)
* Update flowchart to consider activity instance completion

* Update Telnyx activities to leverage workflow inbox

* Fix Telnyx webhook activities

* Fix TransferCall and IncomingCall activities

* Turn collections into arrays for JS

* Telnyx activity fixes
2023-08-08 20:50:21 +02:00
Sipke Schoorstra d355363bc9 Add Local Event option to PublishEvent
Closes #4291
2023-08-06 21:14:23 +02:00
Sipke Schoorstra 166e11c416
Fix loss of source file + line number (#4293)
Fixes #4287
2023-08-06 20:55:24 +02:00
Sipke Schoorstra c9ca4a121d
Workflow Inbox (#4292)
* Initial implementation of workflow inbox, submission and delivery

* Implement persistence providers

* Update EF Core migrations

* Rename Services to Stores in Dapper module

* Use default serializer for primitive arrays

* Update MongoDB provider to map BookmarkId to be primary key

* Implement MongoDB provider for activity execution logs

* Use EF Core by default

* Fix private JSON constructor logic
2023-08-06 17:03:36 +02:00
Sipke Schoorstra b6f41aff9b Fix import issue with workflow definition store populator
Fixes #4224
2023-07-28 13:13:34 +02:00
Sipke Schoorstra 0c8bbb935c Implement real time workflow update broadcasting using SignalR 2023-07-25 15:12:27 +02:00
Sipke Schoorstra a2a2b60d05 Update ActivityExecutionRecord model 2023-07-23 21:05:31 +02:00
Sipke Schoorstra 78aa011df8 Generate default instance ID 2023-07-23 19:38:52 +02:00
Sipke Schoorstra e5e34c821b Add ActivityExecutionRecord entity, persistence and endpoints 2023-07-22 21:05:33 +02:00
Sipke Schoorstra d473f2354b Add ActivityName to execution log, remove FaultedAt instance timestamp 2023-07-21 17:52:52 +02:00
Sipke Schoorstra 1902307cf5 Add support for filtering journal by activity IDs 2023-07-20 22:12:45 +02:00
Sipke Schoorstra f71e5c89ce Ensure schedules are deleted when bookmarks are deleted 2023-07-20 13:00:09 +02:00
Sipke Schoorstra 8652843f48 Implement schedule deletion when workflow instances are deleted 2023-07-20 11:57:20 +02:00
Sipke Schoorstra 72f4461ca3 Implement cascading deletion 2023-07-20 00:05:43 +02:00
Sipke Schoorstra 6ae59f06d6 Include activity version with execution log 2023-07-18 11:20:00 +02:00
Sipke Schoorstra 6e458e0053 Make Mediator package reusable from outside Elsa feature system 2023-07-17 21:43:35 +02:00
gurkanguran c11aa6cf5f
Implemented workflow validation for httpendpoint path (#4181)
* Validates HttpEndpoint path before publishing workflow

* Updated behaviour of mediator apis and implemented validation for workflow path

* Implement default strategy option

* Update mediator service names

* Return validation errors as 400 BadRequest

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-07-14 19:19:41 +02:00
Sipke Schoorstra dd3bdaa8d7 Enable workflow instance exporter by default 2023-07-13 16:13:09 +02:00
Sipke Schoorstra 9671d85013 Cleanup namespaces 2023-07-09 14:02:41 +02:00
Sipke Schoorstra fe2a897a30 Restructure models in Workflows.Core 2023-07-09 13:12:13 +02:00
Sipke Schoorstra 8c701aa0a7 Implement activity execution log record sequence ordering
This ensures events are always stored in sequence, even if their timestamps are the same.
2023-07-09 12:36:33 +02:00
Sipke Schoorstra 760b925e2a Add ability to sort on multiple fields 2023-07-09 12:35:48 +02:00
Sipke Schoorstra 77b1a97682 Cleanup unused code and blanks 2023-07-09 12:33:26 +02:00
Sipke Schoorstra 7224d19272 Create at least one trigger when no payloads are provided 2023-07-03 15:47:20 +02:00
Sipke Schoorstra 3c0dfbf46b Fix typo in description of RunTask activity 2023-06-30 15:52:35 +02:00
gurkanguran bc2b4e8fde
Mongodb implementation (#4127)
* Implemented MongoDb

* Use main entity models in mongodb

* Fixed object serialization issue

* Fixed issues caused by duplicate collection names

* Optimized count query

* Fixed the issues after merge

* Revert "Fixed the issues after merge"

This reverts commit 5568af60cfc107b8ee68fd4c89fbb02946f8a6a3.

* Use expression helper to solve mongodb query issue

* Handle null values during deserialization

* Moved MongoDb project to persistence folder

* Did some refactor and added type serializer for variable fix

* Modularize mongodb indices creation

* Fixed the build

* Implement variable serializer

* Update SQLite migrations

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-06-28 22:44:51 +02:00
MariusVuscanNx 545df0ea53
Publish event improvements (#4150) 2023-06-22 11:50:02 +02:00
MariusVuscanNx 183e2bc0a3
Fixed workflow definition populator to also take into consideration the isReadonly field (#4138) 2023-06-14 10:55:43 +02:00
Sipke Schoorstra c216185c5e
Update Workflow model with support for Inputs, Outputs and Outcomes (#4112)
* Fix mutable prop changes warning

* Fix graph no longer scrolling to content

* Remove unused namespace imports

* Update Workflow model with support for input, output and outcomes

* Update sample with EF core persistence

* Rename FluentStorage to BlobStorage
2023-06-08 11:39:19 +02:00