elsa-core/doc
Sipke Schoorstra 091e3bc0e4
fix(bpmn): let a process with only a plain start event publish (#8081)
* fix(bpmn): let a process with only a plain start event publish (#8078)

An imported root BpmnProcess is an ITrigger with CanStartWorkflow set
(IsRootScope). For a process whose start events carry no event definition
it rightly returns no payloads, but TriggerIndexer then stored a
null-payload placeholder row and ValidateWorkflowRequestHandler refused
publication with "Trigger should have a payload". That blocked import,
bind, publish and run for most Camunda models.

Adds an additive, opt-in seam: TriggerIndexingContext.RegistersNoTriggers.
A trigger that sets it and returns no payloads gets no row. It has no
effect when the trigger returns payloads, and a trigger that throws still
gets the placeholder, so a failure is never read as a deliberate decline.
Every other ITrigger indexes exactly as before.

BpmnProcess sets it only for a root scope none of whose start events
carries an event definition. A declared start that resolves to nothing,
such as a process whose only start is a refused timer, keeps the
placeholder and still fails publication. Nested scopes are opted out
before that check and are unchanged, and IsRootScope/CanStartWorkflow
semantics are untouched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* test(bpmn): publish for real in the stale-after-publish tests

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* test(bpmn): name the publish helper for what it does

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 11:07:59 -07:00
..
adr test(user-tasks): add a persistence conformance suite with fault injection (#7986) 2026-08-25 04:36:18 +02:00
agent-logs feat: extend shells integration and modular server support (#7399) 2026-04-18 14:33:34 +02:00
bounty Refactor Fault Propagation and Simplify Bookmark Management (#6545) 2025-04-10 15:01:49 +02:00
changelogs Adopt the Jint 4.15 host-integration surface: lazy type globals, enum names, and register-what-is-referenced (#7895) 2026-08-17 01:44:03 +02:00
codebase feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
migrations refactor(identity)!: retire the SecurityRoot policy in favour of endpoint permissions (#8003) 2026-08-28 22:28:29 +02:00
qa docs(qa): add workflow throughput analysis 2026-05-11 21:19:40 +02:00
security-assessment fix(build): make ConfigureAwait.Fody weaving actually take effect (#7983) 2026-08-25 01:37:23 +02:00
website [codex] Fix console log metadata and type resolution (#7542) 2026-05-30 22:52:01 +02:00
wiki fix(bpmn): let a process with only a plain start event publish (#8081) 2026-09-12 11:07:59 -07:00
user-tasks.md fix(user-tasks): let managers revoke a consumed guest invitation (#7984) 2026-08-25 02:38:12 +02:00