Commit graph

1132 commits

Author SHA1 Message Date
Sipke Schoorstra 0d3e19dcd3 WIP: Orleans grains 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 4cf43882dc Update packages 2021-04-02 12:43:14 +02:00
Sipke Schoorstra fbb574213a Fix SetVariable extensions 2021-04-02 12:43:14 +02:00
Sipke Schoorstra c019599fae Add extensions to register dispatchers 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 5796cf2893 Fix warnings and formatting 2021-04-02 12:43:14 +02:00
Sipke Schoorstra f91caf14bc Update Azure Service Bus workers to use new dispatcher APIs 2021-04-02 12:43:14 +02:00
Sipke Schoorstra bd87f5b2df Incremental work on default dispatchers in preparation for actor model implementation 2021-04-02 12:43:14 +02:00
Craig Fowler e21154f7b8 Fixup for #761 - Now with 100% fewer compile errors!
Yeah, my bad :D
2021-04-01 20:25:09 +02:00
Craig Fowler 0eaa11e69d Trivial - correct a typo in class naming 2021-04-01 20:25:09 +02:00
Craig Fowler 8e16f5f269 Related to #761 - Refactor complex conversion
This removes all of the (now actually non-trivial) conversion logic from
the class which is actually responsible for executing the Jint engine.
This moves it all to a new service which uses chain of responsibility to
convert the result, using one of a few different mechanisms.

Of note is the handling of ExpandoObject when no specific type
information has been provided, and also the handling of enumerables,
with the exception of strings.
2021-04-01 20:25:09 +02:00
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