Problem

With interaction chains (#3606902) a visitor gets a link scoped to their chain. Once the run moves past that chain the link is stale: today a stale branch-scoped link shows "nothing for you to do". For a multi-step journey we want a choice in how an old link behaves.

Proposed

A per-workflow setting:

  • isolated (default): an old chain link shows only its own chain. A leaked or bookmarked link to an earlier step reveals nothing about what came later. Privacy-safe.
  • catch-up: an old chain link forward-resolves through the chain predecessor links to the visitor's current chain, so one durable link always lands them where they are now.

Mechanism

The chain predecessor links recorded in #3606902 already form a per-branch list of chains. catch-up walks them forward (the chain whose predecessor is this one, repeatedly) to the latest chain in the branch's lineage, then renders that chain's parked interaction or aggregated messages. An instance-scoped link already follows the current parked step, so the setting mainly governs a branch-scoped link once its token is consumed.

The setting is stored as a third_party_setting on the workflow (owned by orchestra_interaction, like the chain fields) and read by the dispatcher. Default isolated.

Fork caveat

Under a fan-out a chain can have more than one successor, so catch-up has no single current chain to resolve to; it falls back to isolated there.

Dependency

Builds on the interaction chains work in #3606902.

Issue fork orchestra-3606924

Command icon 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

mably created an issue. See original summary.

mably’s picture

Status: Active » Needs review

  • mably committed 2efac84d on 1.x
    feat: #3606924 Per-workflow setting: isolated vs catch-up for old chain...
mably’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.