Repository navigation
Rust #325: worker history shows consumed signal sequences; full task snapshots - #710
Conversation
…s, like Server 2.11.1 Worker polls and history pages add workflow_sequence to a consumed signal's SignalReceived from its record, as WorkflowTaskPoller does; the run history route still shows the event as recorded. Task snapshots keep compatibility, the dispatch and claim stamps and errors when they are set, as WorkflowHistoryEvent::taskSnapshot does.
Workflow 2.10.2's applySignal takes a workflow sequence only from the signal's own wait, so a declared signal applied while a condition wait is open keeps no sequence; only an undeclared signal takes the condition wait's. Native recorded the condition wait's sequence for both, which became visible once worker polls showed the record: the published-SDK signal and query cohorts require worker history to equal the run's history prefix (all nine SDK pairings on every database). A new test covers the declared case and fails without the change.
|
|
Rust Server: hosted run 40012133977 attempt 2 failed on all three databases with the same nine Cause. PHP's Fix. Native now records a sequence only from the signal's own wait, or from a condition wait for an undeclared signal. The new test |



Part of #325.
Two differences found while comparing the message-stream fixture's worker polls with published Server 2.11.1:
workflow_sequenceon itsSignalReceived(WorkflowTaskPoller::historyEventsWithSignalArgumentEnvelopes). Native now does the same, from the signal record, when the payload lacks one. The run's own history route still shows the event as recorded, as PHP's does.WorkflowHistoryEvent::taskSnapshot). Native now addscompatibility,last_dispatch_attempt_at,last_dispatched_at,last_dispatch_error,last_claim_failed_atandlast_claim_errorwhen present.Checks
worker_history_presentationtest passes on SQLite, PostgreSQL, MySQL and MariaDB.--all-targetspasses, apart from that test's first draft (it forgot to register its worker; fixed).Not changed here
Some events that PHP records with a task snapshot have none in native, such as
ConditionWaitOpenedandSignalWaitOpened; that audit is a follow-up.Checkpoint:
docs/rust-server-port-checkpoints/2026-10-23-worker-history-presentation.md.