elsa-core/src/modules/Elsa.Workflows.Core
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
..
Abstractions
ActivationValidators
Activities fix: preserve Sequence ownership when retrying child activities (#8027) 2026-09-05 18:42:28 -07:00
Attributes Adds activity host registration support (#7172) 2025-12-27 20:52:52 +01:00
Behaviors [codex] Fix ForEach completion from nested flowchart (#7702) 2026-06-08 12:04:55 +02:00
Builders Add named WithVariable overload (#7701) 2026-06-08 10:42:59 +02:00
CommitStates Clarify commit strategy fallback behavior in documentation; update test method signature for consistency 2025-12-16 08:01:49 -05:00
Constants [codex] Harden C# expression host-code execution (#7519) 2026-05-21 00:50:25 +02:00
Contexts fix(bpmn): let a process with only a plain start event publish (#8081) 2026-09-12 11:07:59 -07:00
Contracts fix(bpmn): let a process with only a plain start event publish (#8081) 2026-09-12 11:07:59 -07:00
Enums Add output converter support at binding boundaries 2026-08-21 22:22:46 +02:00
Exceptions Add output converter support at binding boundaries 2026-08-21 22:22:46 +02:00
Expressions
Extensions Add output converter support at binding boundaries 2026-08-21 22:22:46 +02:00
Features Add output converter support at binding boundaries 2026-08-21 22:22:46 +02:00
Handlers
Helpers
IncidentStrategies
LogPersistence
Memory
Middleware fix(core): a throwing FaultSignal handler must not escape the middleware (#7924) 2026-08-12 05:34:19 +02:00
Models Add output converter support at binding boundaries 2026-08-21 22:22:46 +02:00
Notifications Graceful shutdown for the workflow runtime (drain, pause, recover) (#7424) 2026-05-02 19:27:08 +02:00
Options Adds activity execution call stack support (#7271) 2026-02-24 15:23:59 +01:00
Pipelines
PortResolvers
Serialization Add output converter support at binding boundaries 2026-08-21 22:22:46 +02:00
Services Merge remote-tracking branch 'origin/release/3.8.0' 2026-09-06 00:06:14 +02:00
ShellFeatures Add output converter support at binding boundaries 2026-08-21 22:22:46 +02:00
Signals fix(core): a throwing FaultSignal handler must not escape the middleware (#7924) 2026-08-12 05:34:19 +02:00
State Preserve StateMachine composite transition continuations 2026-08-31 04:51:34 +02:00
Telemetry Add OpenTelemetry workflow instrumentation (#7514) 2026-05-22 01:17:05 +02:00
UIHints
VariableStorageDrivers Update multitenancy logic and improve Result handling: (#7281) 2026-02-11 10:11:12 +01:00
Elsa.Workflows.Core.csproj Add output converter support at binding boundaries 2026-08-21 22:22:46 +02:00
Elsa.Workflows.Core.csproj.DotSettings