Commit graph

925 commits

Author SHA1 Message Date
Sipke Schoorstra 9416461f78 Fix SendHttpRequestActivity response handling logic
This fixes a bug where the "unmatched status code" activity would be scheduled even if the returned status code was defined as an expected outcome.
2023-08-22 13:42:23 +02:00
Sipke Schoorstra 68a20de07f Ignore MemoryBlockReference from Argument when serializing to JSON 2023-08-22 00:21:02 +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 10218c27ff Serialize activity state using activity state serializer
This fixes the issue where an activity's input contains objects that cannot be deserialized.
2023-08-21 11:12:17 +02:00
Sipke Schoorstra 776e3c141b Revert PolymorphicObjectConverter changes 2023-08-21 11:10:11 +02:00
Sipke Schoorstra 1eaaecd132 Fall back to JsonObject
When deserialization dails due to the target type not being deserializable, return a JsonObject instead. This enable e.g. ActivityExecutionLogRecord to store JSON information for ActivityState, which does not need to be reconstructed into the original type. An improvement could be considered to store activity execution log record activity state in a non-polymorphic structure in the first place.
2023-08-21 11:00:21 +02:00
Sipke Schoorstra e73d618b1a Remove IsHandled filter when delivering messages 2023-08-21 10:18:12 +02:00
Sipke Schoorstra 15ca560882 Update StopAudioPlayback 2023-08-19 13:37:28 +02:00
Sipke Schoorstra 687768bd3e Prevent multiple activity completion
This enables CodeActivity to explicitly complete itself
2023-08-18 10:01:03 +02:00
Sipke Schoorstra c25f33434c Fix Telnyx response models 2023-08-17 22:41:21 +02:00
Sipke Schoorstra 061ecc1476 Fix PlayAudio 2023-08-17 20:48:08 +02:00
Sipke Schoorstra e43e36b157 Fix hashing 2023-08-17 20:27:35 +02:00
Sipke Schoorstra 1cc7a91fc5 Fix Telnyx bookmark resumption 2023-08-16 19:49:45 +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 a684d3d8b5 Don't invoke CatchAll if To and From workflows were triggered 2023-08-14 21:12:25 +02:00
Sipke Schoorstra 7ad3da2c2a Minor cleanup 2023-08-14 14:47:35 +02:00
Sipke Schoorstra 811827c393 Fix unintended attempt to convert dictionary to array 2023-08-14 14:38:33 +02:00
Sipke Schoorstra ebc585b11a Restore getGuidString and getShortGuid functions and deprecate them 2023-08-14 14:34:40 +02:00
Sipke Schoorstra 6430d9beec Serialize missing Fault details 2023-08-14 14:34:11 +02:00
Sipke Schoorstra ebd6375f7f Implement workflow inbox cleanup service 2023-08-13 12:31:58 +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 a2b587d0d1 Order workflow definitions by name by default 2023-08-12 21:09:24 +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 0b8d97c422
Fix WriteHttpResponse when NoContent (#4322) 2023-08-12 11:47:07 +02:00
Sipke Schoorstra 74eec314fe
Create variable in local scope (#4321) 2023-08-12 11:04:30 +02:00
RuslanSay a0bc324b83
V3 improve dispatch endpoint (#4317)
* add versionOptions to Dispatch endpoint

* Add DispatchWorkflow API client
2023-08-11 22:59:51 +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 8815284cde Update DefaultApplicationCredentialsValidator with empty value check 2023-08-11 11:34:50 +02:00
Sipke Schoorstra 265434b651
Update output selector with support for activity instances (#4307)
* Update output selector with support for activity instances

* Update tests
2023-08-10 00:20:30 +02:00
Sipke Schoorstra 62ae3b1f6e
Add ability to push variables to scheduled work (#4306) 2023-08-09 22:35:44 +02:00
GitHub Action 594c98e066 Updated designer version to 3.0.3-preview.198 2023-08-09 11:26:17 +00: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 3f3d75940f Set Name on activity descriptors 2023-08-05 11:04:46 +02:00
Sipke Schoorstra 17a59eaa97 Use List instead of HashSet
Fixes #4286
2023-08-05 10:35:48 +02:00
Sipke Schoorstra 68c0ad0bff Update MongoDB provider with support for non-Id key fields 2023-08-04 23:05:37 +02:00
Sipke Schoorstra e2cea7310f Update Break behavior to also handle "CompleteComposite" signal 2023-08-04 22:15:07 +02:00
Sipke Schoorstra 4faf40b3ae Improve Telnyx activities 2023-08-04 22:14:41 +02:00
Sipke Schoorstra 815b544f53 Update Flowchart completion logic
In addition to taking into account scheduled work, also check if there are actual activity instances still running
2023-08-04 11:45:07 +02:00
Sipke Schoorstra 226c25169f Improve Flowchart "Start" activity logic
With this change, the user has better control over what activity to use as the starting node. Originally, the designer wouls store the ID of the first activity to have dropped on the designer, which would cause unexpected results when later adding another activity as the root node. The logic is now changed to:

1. Use the trigger node if that node was triggered.
2. Use the Start node, if there is one.
3. Use the first activity that has no inbound connections.
4. Use the first activity in the collection.
2023-08-04 10:15:15 +02:00
Sipke Schoorstra 1c8ce5211d Minor cleanup and code polishing 2023-08-02 22:54:51 +02:00
Sipke Schoorstra fa9e3f13a0 Copy activity attributes into descriptor 2023-08-02 22:54:11 +02:00