Skip to content
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

Camunda Optimize - Analysis not working when flownode names contain dots #4843

Open
1 task
venetrius opened this issue Dec 10, 2024 · 0 comments
Open
1 task
Assignees
Labels
group:support All requests that are linked to a customer request. DRI: Tassilo potential:optimize 3.14.4 potential:optimize 3.15.2 scope:optimize Changes to Optimize. type:bug Issues that describe a user-facing bug in the project.

Comments

@venetrius
Copy link
Member

venetrius commented Dec 10, 2024

Environment (Required on creation)

Reported Camunda Optimize 3.13.6
Reproduced: Camunda Optimize latest

Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket)

When selecting a process instance in analyse tab, if an outlier flowNode name constaind a dot an error page is shown

Steps to reproduce (Required on creation)

  1. Deploy process instance which has a flow nodes that contain dots . (e.g. flow.node.name.with.dot
    testFlowNodeNames.bpmn.zip
  2. Trigger and complete a few instances
  3. Trigger one more process instance and delay completion a few minutes to have at least one outlier
  4. Navigate to Optimize #/analysis page
  5. Select the process instance (e.g.: TestNameFlowNode)
  6. Observe error

Observed Behavior (Required on creation)

The page renders an error
image

Expected behavior (Required on creation)

The page is rendered without error

Root Cause (Required on prioritization)

When making a flow node clickable in the heatMap the id is not sanitised

indicateClickableNodes = () => {
    if (this.props.data) {
      Object.keys(this.props.data).forEach((id) => {
        const node = document.body.querySelector(`[data-element-id=${id}]`);
        node?.classList.add('clickable');
      });
    }
  };

Solution Ideas

Use CSS.escape to handle special characters:

indicateClickableNodes = () => {
    if (this.props.data) {
      Object.keys(this.props.data).forEach((id) => {
        const node = document.body.querySelector(`[data-element-id=${CSS.escape(id)}]`);
        node?.classList.add('clickable');
      });
    }
  };
image

Hints

Similar error can be observed when a BPMN contains a multi instance subprocess. The same fix resolved that error as well.

Error screen shot Image

https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape_static

Links

Breakdown

Pull Requests

Preview Give feedback

Dev2QA handover

  • Does this ticket need a QA test and the testing goals are not clear from the description? Add a Dev2QA handover comment
@venetrius venetrius added type:bug Issues that describe a user-facing bug in the project. group:support All requests that are linked to a customer request. DRI: Tassilo scope:optimize Changes to Optimize. labels Dec 10, 2024
@PHWaechtler PHWaechtler changed the title Camunda Optimize - Analysis not working Camunda Optimize - Analysis not working when flownode names contain dots Dec 10, 2024
@venetrius venetrius removed their assignment Dec 12, 2024
@venetrius venetrius self-assigned this Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
group:support All requests that are linked to a customer request. DRI: Tassilo potential:optimize 3.14.4 potential:optimize 3.15.2 scope:optimize Changes to Optimize. type:bug Issues that describe a user-facing bug in the project.
Projects
None yet
Development

No branches or pull requests

2 participants