Closed (fixed)
Project:
Orchestra
Version:
1.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
30 Jun 2026 at 22:57 UTC
Updated:
15 Jul 2026 at 07:50 UTC
Jump to comment: Most recent
Rework Orchestra notifications into a channel-neutral concern, fully separate from the audit log, and add a visible Notify node plus task-completer capture.
OrchestraNotificationEvent (recipients, type, params, instance, token, context), a NotificationAudience resolver, and an OrchestraNotification emitter that stamps each event with the instance variables and current node. The audit event is never used to notify.orchestra_mail becomes a dumb default channel: one subscriber, one hook_mail template per type, no triggers, no recipient resolution, no inbox dependency.*_notification own the trigger and audience: orchestra_interaction_notification (park-on-arrival link) now emits the neutral event, and a new orchestra_inbox_notification emits task assigned, reassigned and reminder off a dedicated non-audit WorkItemEvent and TaskTimedOutEvent. orchestra_interaction_mail and InteractionNotificationEvent are removed (folded into orchestra_mail and the neutral event).orchestra_notification submodule: a Notify workflow node, a visible step the flow routes to conditionally. It renders nothing, resolves its recipients with the reused assignment-row widget, dispatches the event, then advances.orchestra_mail by subscribing to the same event.Tests green (kernel and functional), phpcs/phpstan/cspell clean. MR to follow.
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 #3
mably commentedComment #5
mably commentedComment #7
mably commentedHeads-up for anyone updating an existing install: this change removes the orchestra_interaction_mail submodule and moves task notifications to the new orchestra_inbox_notification dispatcher. orchestra_mail no longer listens to the audit event; it is now a dumb delivery channel.
After updating, on a site that had orchestra_interaction_mail enabled (or relied on orchestra_mail for task-assigned emails):
Orchestra is pre-1.0 with no update hooks, so this is a manual step. Follow-up for account-less recipients (external email, phone, Slack): #3607367.