Problem/Motivation

On a French site a task row reads Validate submission as its heading while the line under it reads En attente de : Valider la soumission. The same step, twice, in two languages.

Both name the same workflow node. They disagree because they come from different places:

  • The heading is the work item's stored label column, rendered by a plain field handler. It is a string written when the task was created, so it carries whatever language was current then and never follows a translation made later.
  • The line below is the current-step field, which resolves the node through the workflow configuration and therefore reads the French override.

A French translation of the workflow already existed on the site where this was found, translating every node label, which is why the two disagree so visibly.

The engine itself does this correctly: WorkItemManager::getLabel() reads the live node label first and falls back to the stored column only when the workflow or node is gone. The stored column is a sound fallback; it is wrong as the thing a row is headed by.

Proposed resolution

Head the row with the workflow name instead, and let the step keep its own line. The row then says what the run is and what it is waiting for, each once:

  • The card takes its title from a workflow_label field on the instance relationship, the orchestra_workflow_label handler this project already ships and three other views already use. It resolves the workflow config entity, so it follows the same translation as everything else on the row.
  • The stored label field leaves the view. Left in, it would simply move from the heading to a labeled column, since the card renders every field no role claims.
  • Both displays take the change: they are two displays of one view and share one row template, so they are not allowed to drift apart.

The stored column stays on the entity, where it is the fallback getLabel() needs, and remains the exposed sort it already is.

Remaining tasks

None beyond the change and its test.

AI-Generated: Yes (Claude Code was used to diagnose this against a running site and to draft this issue summary and the change. The two sources were confirmed by reading the stored column, the live node label, and the French workflow override that already existed.)

Issue fork orchestra-3624998

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 675c6a9f on 1.x
    fix: #3624998 A task row is headed by a stored copy of the step name, so...
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.