Commit graph

1122 commits

Author SHA1 Message Date
Craig Fowler 4b5d86135d Follow-up #761 - Fix for recursive case
Unfortunately Jint still chokes in this case if the expando contains
further nested expandos.  It turns out that I need to do this
recursively for it to always work.

We also have trouble with IEnumerable types.  They also can't be
round-tripped from/to JSON when they aren't deserialized as a very
specific type.
2021-04-01 20:25:09 +02:00
Craig Fowler 7ed875e53c Resolve #761 - Add special-case for ExpandoObject
It appears that this can be fixed by intercepting occasions
when Jint returns an ExpandoObject but the desired return type
is simply object.  In this scenario we must return
a Dictionary<string,object> instead of a simple object, or else
Jint freaks out should we try to stringify it later.

I also added a second test to prove that making this change hasn't
broken the way we expect Jint to work for us.
2021-04-01 20:25:09 +02:00
Craig Fowler a7f8926698 WIP #761 - Experimental commit (no exception)
This is an experimental commit.  It does stop the exception from
occurring, but it doesn't really fix the problem because now the
output is always empty-object.

It does prove that the exception was occurring because of the
usage of JsonConvert to serialize/deserialize the result.
The change made in this commit probably can't go into prod
but it is useful because it llustrates a part of the problem.
2021-04-01 20:25:09 +02:00
Craig Fowler dd9c1f5cdc WIP #761 - Unit test indicates location of problem
This unit test narrows the problem down to the class
JavaScriptService.
2021-04-01 20:25:09 +02:00
Craig Fowler 84f3d3d32c WIP #761 - Integration test reproduces problem
StackOverflowException reproduced exactly as reported.
2021-04-01 20:25:09 +02:00
Jens Willmer 20bbcd4b5a
Update appveyor.yml 2021-04-01 11:05:58 +02:00
Jens Willmer 5f902a4c13
Removed docker build from appveyor 2021-04-01 10:59:16 +02:00
Jens Willmer 0c9bbc7b63 Update appveyor.yml 2021-04-01 09:44:24 +02:00
Jens Willmer 78b210cda9 Refactored docker build scripts 2021-03-31 21:47:57 +02:00
tomy2105 4384bdaab4 Fix for "complex" content type in HTTP Endpoint and HTTP Send request 2021-03-31 21:42:12 +02:00
Craig Fowler 89e1c604c9
Merge pull request #819 from tomy2105/feature/811-812-Send_HTTP_Request_Activity_Enhancements
SendHttpRequest enhancement for form post as well as URL bug resolution
2021-03-29 16:45:40 +01:00
tomy2105 79f4c0d8e0 SendHttpRequest enhancement for form post as well as URL bug resolution 2021-03-29 17:24:13 +02:00
Sipke Schoorstra bfe621af7d Add Telnyx options method to register custom extension provider 2021-03-29 14:57:26 +02:00
Sipke Schoorstra 19d52b6bc3 Remove custom node version installation 2021-03-29 13:48:10 +02:00
Sipke Schoorstra edd9de5156 Add automatic variable assignment of Call Control ID 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 326129e45a Add SpeakText and StartRecording activities 2021-03-29 13:06:37 +02:00
Sipke Schoorstra f1c80b5fad Add TelnyxClientStateTag (liquid support for Telnyx) 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 80b4b9dc6a Add PlayAudio Telnyx activity 2021-03-29 13:06:37 +02:00
Sipke Schoorstra c4f8eafba7 Add support for custom liquid tags 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 64e2b74092 Comment out pruning call (fixes Finish activity returning output to parent) 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 7423e82bbd Fix order of execution results in CompositeActivity 2021-03-29 13:06:37 +02:00
Sipke Schoorstra b868145d91 Telnyx: Fix extension method name 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 94f297c618 Fix property name of Dial 2021-03-29 13:06:37 +02:00
Sipke Schoorstra eda9a4cb68 Fix actual bridging in CallRingGroup 2021-03-29 13:06:37 +02:00
tomy2105 6773a73a81 Method to skip adding core activites automatically. 2021-03-29 12:05:56 +02:00
Craig Fowler 6bdaac7607
Merge pull request #814 from craigfowler/feature/temp-disable-docker
Temporarily disable docker deployment
2021-03-28 14:29:15 +01:00
Craig Fowler 78beea3a7f Temporarily disable docker deployment
It looks like the docker credentials are incorrect, because
builds are failing with an auth problem.  For example build 2.0.0-preview7.1704:
  https://ci.appveyor.com/project/sfmskywalker/elsa/builds/38438996#L6715

This can be re-enabled once the auth issue is fixed.  There should be
no real harm in disabling it, since it's not working at the moment anyway.
2021-03-28 13:43:29 +01:00
Craig Fowler 93f438ceb6
Merge pull request #813 from craigfowler/feature/fix-build-error
Fix build failure: ForEachWorkflowTests
2021-03-28 12:55:36 +01:00
Craig Fowler d9000b22b3 Fix build failure: ForEachWorkflowTests
It seems that some work done in these commits, for the
file ForEachBuilderExtensions was responsible:
* 4807ace13c
* dfbba1e176

A couple of the extension methods were missing out a ToList()
which later caused an ArgumentException when setting a property
value via reflection.

I also added an extra exception for the set-value logic.  This way,
if/when there is a problem, the exception will indicate which property
it was trying to set at the time.
2021-03-28 12:39:32 +01:00
Sipke Schoorstra 3ba1582b54 Remove unused namespace 2021-03-26 11:40:22 +01:00
Sipke Schoorstra b4154bf7ea Complete CallRingGroup activity with support for RingAll strategy 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 560b7225c4 Add Unbridge to the English dictionary 2021-03-26 11:40:22 +01:00
Sipke Schoorstra aa0c2fe711 Incremental work on CallRingGroup and other Telnyx activities 2021-03-26 11:40:22 +01:00
Sipke Schoorstra dfbba1e176 Fix casting issue with ForEach and ParallelForEach builder extensions 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 2a22a328c4 Add type parsing support with object target type 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 890789c9cd Incremental work on call ring group activity 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 4807ace13c Implement ring group transfer for prioritized hunt strategy 2021-03-26 11:40:22 +01:00
Sipke Schoorstra ae27cbb301 Remove test property 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 58f79cef11 Add support for nullable enum properties 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 8ace98740a Use dropdown UI hint by default for enum property types 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 423af35493 Fix repeating markup 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 3ac97a0444 Fix loss of multi-text input value 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 6374aa643b Update run-javascript-plugin with updated property name 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 39b8c4b343 Initial version of CallRingGroup 2021-03-26 11:40:22 +01:00
Sipke Schoorstra d6d44ff57b Improve ParallelForEach extensions 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 61b57de61c Turn Fork into self-cleaning scoped activity 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 7e3464c504 WIP: CallRingGroup 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 6fef9874da **BREAKING API** Update Builder API to allow to connect to named activities as well as activities by type name
This replaces the `Then(string activityName)` method with `ThenNamed(string activityName)`.
A new method is added to allow connecting to activities by type name: `ThenTypeNamed(string activityTypeName)`.

The reason for this change and addition is to allow workflow builders to connect to activity types that do not have a corresponding type.
For example, the Telnyx project has an activity type provider that *dynamically* provides activity types based on Telnyx webhook callback types.
2021-03-26 11:40:22 +01:00
Sipke Schoorstra 5d8d05aec5 Stash 2021-03-26 11:40:22 +01:00
Craig Fowler 009f840477
Merge pull request #805 from craigfowler/feature/785-StringValuesModel-improvements
Resolve #785 - improve API for StringValuesModel
2021-03-25 22:50:51 +00:00