-
Notifications
You must be signed in to change notification settings - Fork 635
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent/unnecessary escaping of characters in inputs #9859
Comments
To add to this I see zeebe escaping unicode characters (i.e.
turns into
|
Is there a chance this can be fixed at some point? Or do we regard this as a nasty-bug-turned-public-api? |
@felix-mueller this is something which mostly effects connectors but it is very unexpected behavior. We would like to understand if you have any input on priority for this. |
It should be fixed at some point. Since we still need to root-cause and better understand the issue it is probably not S. We won't priotize it for the next few iterations (first we need to finish instance modification, DMN evaluation and delete definitions). |
Thanks Felix, I put the priority on "Later" for now |
I don't know whether I'm hitting the same issue. I'm using the Go client to ingest JSON formatted data into Zeebe. Jobs are failing due to escaped double quotes. If I set vars manually via simple-monitor everything works as expected. |
Hi team, is there any ETA to fix this? It is affecting currently 3 connectors. |
@igpetrov currently we have planned to look into it after instance modification, DMN evaluation and Delete Definitions. these topics are scheduled to be included in our April minor release, so if we don't change priorities we probably will look at it in a few months. from connectors perspective can we live with this for a few months? |
Hi @felix-mueller, appreciate your update. Absolutely. Just wanted to understand the ETA. Thank you! |
For reference, in Connectors, we currently do the following to work around this with data we receive as variables after Zeebe has processed the user input:
This uses |
Currently there is a known issue where modeler adds an escape character to special characters. Example: "Hello, World 🤩" will end up as "Hello, World \uD83E\uDD29". This commit forces unescaping. Functionality es expected to be removed after related issues are fixed. Closes #15. Refs: - camunda/camunda#9859 - camunda/camunda-modeler#2031
@felix-mueller The longer we keep such behavior in the core, the harder it will be for people to unbuild their hacks (trying to work with zeebe data). My 2️⃣ 🪙. |
A similar issue is reported by a customer through SUPPORT-15887. |
I've updated the issue with a clear expected behavior, reflecting https://jira.camunda.com/browse/SUPPORT-15887, but also #9859 (comment) have reported. |
Discussed in the planning meeting on 2023-02-17. Right now we don't have capacity to work on this, and deprioritize it as the customer has a workaround available. |
When we work on this, we need to make sure not to break user space when backporting it to patches. We can do this by adding a configuration setting that allows switching between the current (broken) and new (fixed) behaviors. The default should stay the same in patch releases, but in a minor release we can change the default. This should be clearly communicated in the release notes (and blog) so users understand the change. |
This issue was mentioned again in SUPPORT-17621 and blocking connectors team's here |
When we resolve this issue, please verify whether the fix also resolves: |
I run into this issue when using the GH outbound connector and create a new issue with a multi line description field. As this is a quite common use case I'm wondering when we are planning to provide a fix. @felix-mueller is this still scheduled for the 8.5 release in April 2024? |
Would https://github.com/camunda/product-hub/issues/1040 help here or is it just a quick fix on string behavior? |
@nicpuppa started to work on this issue by fixing the escaping in the FEEL engine here. We plan to deliver a fix in one of the next patch releases. 🚀 @christian-konrad the FEEL templating is a bigger topic. Let's fix the issue with the escaping first. 👍 |
Perfect @saig0 ! Thanks |
Hi @abbasadel , according to the previous assessment this should have been fixed with this version bump. Can you verify from Zeebe perspective please and update this issue? Thanks |
We need to clarify whether this change is breaking, especially in regards to present workaround in other components such as https://github.com/camunda/connector-slack/issues/48 & If it's breaking we may prefer to only release it in the next minor or at least coordinate with the affected components to remove the workaround applied for a patch. But then we have the risk that we have a dependency between patch levels of connectors and zeebe. @abbasadel will sync with @saig0 on this tomorrow and ping back. |
Hi everyone, this is Zeebe's assessment:
|
Thanks @abbasadel . Will you and the ZPA team please ensure that all these things happen? If so, can we please track this via a breakdown and DRI assignments? Why is the issue not in |
@MaxTru, we will take care of this issue |
Hi everyone, as follow up I created 3 separate issues to reduce the scope and make easier to follow the progress:
|
Thanks, @nicpuppa, for the updates. I added the sub-issues into the main issue description for clarity and tracking purpose |
Hi everyone,
|
@abbasadel will this be included with the alpha release next week? Since this is a Zeebe task, I'm not sure what the expectation is. When you open your docs PR, please follow our PR template so we can review ASAP if you want it reviewed, merged, and published on Tuesday. |
15696: Dump feel-engine 1.17.4 r=saig0 a=saig0 ## Description Dump the FEEL engine from 1.17.3 to [1.17.4](https://github.com/camunda/feel-scala/releases/tag/1.17.4). The new version includes a bug fix that double quotes were escaped in the resulting string value. Read more about the issue [here](camunda/feel-scala#778). ## Related issues related to #9859 related to #13551 Co-authored-by: Philipp Ossler <[email protected]>
It seems this can be closed as done? @nicpuppa ? |
Describe the bug
As a user I want to pass special chars in strings (FEEL ref) in a way that I can consume them in a job worker.
I've defined the following input mappings:
= "Hello\n\nYOU!"
Hello\n\nYOU!
HELLO<newline><newline>YOU!
Executing my process I receive the following input variable values in operate (but also in my process worker):
"Hello\\n\\nYOU!"
"Hello\\\\n\\\\nYOU!"
"Hello\\n\\nYOU!"
As you can see inputs are escaped differently depending on whether I use
\n
encoded newlines or actual newline characters. Escaping happening in the first place is fine I believe as this is a JSON string and\\n
is the standard way to encode newlines there.To Reproduce
Expected behavior
We do the unescaping magic ourselves so that in user land no one needs to worry:
foo = "a\nb"
foo = "a\nb"
As a more user un-friendly alternative we could consider: String inputs are escaped like expression inputs (no double escaping), we clearly document how escaped strings shall be worked with (and how un-escaping has to be done in user land). This is closer to the existing behavior.
Log/Stacktrace
none.
Environment:
Support:
SUPPORT-15887
SUPPORT-17621
Tasks
The text was updated successfully, but these errors were encountered: