Follow-up to the 1.0.0-alpha6 pre-release audit. The two High findings were fixed separately (#3607819, #3607820). This issue collects every remaining finding into one change: the Mediums, Lows, the two performance items, the documentation refresh, and the French translations.

Performance

  • Task notifications resolved the process variables once per recipient (up to ~1000 full instance-token re-loads for a role pool). They are now resolved once per distinct recipient language, so the common single-language case is a single resolution.
  • Bulk "Cancel selected" and "Migrate selected to current" on the instance list now run through the Batch API (one operation per instance), instead of cancelling or migrating up to 50 deep instances synchronously in one request.

Mediums and Lows (code)

  • The version migration now holds each live token's advance lock while rewriting it, so a migration cannot clobber a token a concurrent advance is processing; a busy instance is refused rather than corrupted.
  • orchestra_easy_email warns (runtime requirement) when orchestra_mail is also enabled, since both channels would deliver every notification twice.
  • The default "generic" mail template falls back to a non-empty subject and body when a Notify node supplies neither, instead of sending a blank email.
  • The inbox candidate resolution and the Reassign editor now skip notify-only audiences, matching the assignment-versus-audience split.
  • The webform start and resume handlers strip the interaction binding element from the captured submission values, so the capability token never lands in a process variable.
  • The cross-site API write and list endpoints return the same sanitized 500 envelope as the read endpoints when a consumer's tenant binding is missing or dangling.
  • The ECA "resume a waiting task" action confines the token to the active tenant, mirroring the "load attached entity" action.
  • Smaller correctness and consistency fixes: DOMElement guards in the BPMN layout reader, a redundant guard removed on the webform start handler, an O(1) cycle guard on the lineage walk, a cheaper orphan-version prune, package name and docblock corrections.

Documentation

  • Rewrote the orchestra_mail README to the dumb-channel model it now implements.
  • Propagated the Assignment to Audience plugin-type rename across the docs (concepts, index, notifications, human-tasks, roadmap, maestro, the interaction README and the notification submodule description).
  • Updated notifications.md to describe recipients as Recipient value objects (contact/langcode/label/account) and added the account-less email audiences.
  • Documented the token nested dot-path and entity-reference chaining, the per-instance version migration, and added READMEs for the four new notification/interaction submodules.

French translations

  • Added the interface-translation plumbing and a French catalog to the new submodules, and filled the gaps in the kernel, orchestra_mail and orchestra_ui catalogs (the Audience labels, notification strings and migration UI added since alpha5).

Issue fork orchestra-3607898

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 878f9a20 on 1.x
    task: #3607898 Fix the remaining 1.0.0-alpha6 audit findings: mediums,...
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.