Skip to content

Token simulation allows incoming sequence flows for events after an event based gateway #139

Open
@marstamm

Description

@marstamm
Contributor

Describe the Bug

Reported as camunda/camunda-modeler#3984

When adding token simulation to the modeler, I can model non spec-compliant diagrams, which are not possible without the plugin.

image

Steps to Reproduce

Try to model the above diagram

Expected Behavior

282849938-8fa48095-8cfa-446f-b660-f8a8590039ef

Environment

  • Host (Browser/Node version), if applicable: [e.g. MS Edge 18, Chrome 69, Node 10 LTS]
  • OS: [e.g. Windows 7]
  • Library version: [e.g. 2.0.0]

Activity

sombrek

sombrek commented on Aug 18, 2024

@sombrek
Contributor

I found that EventBasedGatewayBehavior.js (token-simulation) overrides EventBasedGatewayBehavior.js (bpmn-js). The latter removes sequence flows disallowed by the spec.

nikku

nikku commented on Aug 18, 2024

@nikku
Member

This should make it easy for us to fix. Thanks for the root causing.

sombrek

sombrek commented on Aug 23, 2024

@sombrek
Contributor

I discovered more examples before I noticed your reference to the public API bug.

  • The token simulator exposes a BoundaryEventBehavior, so boundary events of receiving tasks are not removed when they become target of an event gateway.
  • It also exposes multiple MessageFlowBehavior, so message flows pointing to elements within a pool don't reconnect to a pool that's being collapsed.
Demo

visual-demo

barmac

barmac commented on Aug 23, 2024

@barmac
Member

Thanks for reporting. I think we should look into this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogQueued in backlogbugSomething isn't workinggood first issueGood for newcomersspring cleaningCould be cleaned up one day

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @nikku@marstamm@barmac@sombrek

        Issue actions

          Token simulation allows incoming sequence flows for events after an event based gateway · Issue #139 · bpmn-io/bpmn-js-token-simulation