After an interactive step (a payment, say) is resumed, its token is consumed and the branch advances. A branch-scoped link pointing at that step then shows "Thank you. There is nothing for you to do right now.", even when the branch has parked on a render-only status step in the same chain (for example "Awaiting confirmation" after a payment).
Cause
InteractionController::step() resolves the link's own token with parkedTokenById(), which returns nothing once that token is consumed, so it falls into catchUp(). catchUp() is gated entirely behind the per-workflow old_link_catch_up opt-in, so in the default (isolated) mode even the link's own chain's current status is hidden and the visitor sees the neutral "nothing to do" message.
Per the chain model (docs/interaction-chains.md) the isolated default should still show only its own chain, including its current status. Only forward-resolving into a later chain should require catch-up.
Steps to reproduce
Run a booking workflow whose payment step is followed by an operator "awaiting confirmation" message: complete the payment and return to the workflow.
Proposed resolution
When the link's own token is consumed, show the link's own chain's current render-only status without the opt-in: resolve the token's own chain (chainId) and the token now parked in it (parkedTokenInChain), and render that chain's messages. Only crossing into a later chain (a new interactive interaction started downstream) stays behind old_link_catch_up.
Remaining tasks
Fix InteractionController::step(), add a kernel test for the consumed-token same-chain status case, and note in docs/interaction-chains.md that the own chain holds even after the link's own step is consumed.
Issue fork orchestra-3608298
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
mably commentedComment #4
mably commentedComment #5
mably commentedComment #7
mably commented