danielgerlag / danielgerlag/workflow-core
Workflow DSL - Control Structures "If" is not evaluating properly when Inputs -> Condition includes JObject properties
- Dominant language
- C#
- Stars
- 5.9k
- Forks
- 1.3k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 5
Description
We are using Workflow Core for one of our projects. Our workflows are dynamically build using Workflow.DSL. Most of our input properties that are evaluated by WF Control Structures are JObject types. I am encountering an issue when "If" condition is evaluating against one of the JObject type properties. For example below is an fragment of DSL JSON workflow where condition of first step (If) is evaluated against "data.SystemEvent.Event.TaskEventType" and Event is JObject property. This condition would return "true" if "Event.TraskEventType" is strongly type; however, I get "false" if it is JObject.

Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the Workflow.DSL If control structure and reproduce the reported JSON workflow using a JObject Event property. Compare its condition evaluation with the strongly typed Event case; done means equivalent values produce the same result, with a regression check covering both cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100