From c07750985f7be3058c3fd4514e2b7f6f53b42bc5 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 10 Aug 2026 02:35:13 +0000 Subject: [PATCH] fix(service-automation): align notify node form-descriptor strings with #7085 vocabulary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The notify node's hand-written configSchema (Studio form descriptor) still said "Requires sourceId." / "Requires sourceObject." — the same phantom requirement PR #7111 removed from NotifyConfigSchema's .describe() strings. The schema deliberately accepts a half-specified pair; the executor drops it at execute time so the inbox never renders a dead link. Mirror the settled wording onto the form-descriptor face, string-only (no key/type/required change). Fixes #7112 Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_015fkdTyGmMD5s8ZtEifvuGy --- .changeset/notify-node-descriptor-align.md | 7 +++++++ .../services/service-automation/src/builtin/notify-node.ts | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 .changeset/notify-node-descriptor-align.md diff --git a/.changeset/notify-node-descriptor-align.md b/.changeset/notify-node-descriptor-align.md new file mode 100644 index 0000000000..e05f538d81 --- /dev/null +++ b/.changeset/notify-node-descriptor-align.md @@ -0,0 +1,7 @@ +--- +'@objectstack/service-automation': patch +--- + +Align the `notify` node's Studio form-descriptor strings with the schema's actual acceptance behaviour (docs-only; no acceptance or `configSchema` key/type/required change): + +- `sourceObject` / `sourceId` no longer say "Requires sourceId." / "Requires sourceObject.". Both are optional and the executor drops a half-specified click-through target at execute time (so the inbox never renders a dead link) — the descriptions now state that tolerance instead of a phantom requirement, mirroring the `NotifyConfigSchema.sourceObject`/`sourceId` `.describe()` wording fixed in #7085 (PR #7111). (#7112) diff --git a/packages/services/service-automation/src/builtin/notify-node.ts b/packages/services/service-automation/src/builtin/notify-node.ts index 8987fcc3c2..4fb79cbfc7 100644 --- a/packages/services/service-automation/src/builtin/notify-node.ts +++ b/packages/services/service-automation/src/builtin/notify-node.ts @@ -163,11 +163,11 @@ export function registerNotifyNode(engine: AutomationEngine, ctx: PluginContext) // ── Click-through target (#2675) ───────────────────────── sourceObject: { type: 'string', - description: 'Object name of the record the notification links to (writes sys_notification.source_object). Requires sourceId.', + description: 'Object name of the record the notification links to (writes sys_notification.source_object). Only takes effect together with sourceId — a half-specified click-through target is dropped at execute time, so the inbox never renders a dead link.', }, sourceId: { type: 'string', - description: 'Record id the notification links to (writes sys_notification.source_id). Requires sourceObject. The inbox synthesizes a `/{object}/{id}` deep-link from these.', + description: 'Record id the notification links to (writes sys_notification.source_id). Only takes effect together with sourceObject — a half-specified click-through target is dropped at execute time, so the inbox never renders a dead link. The inbox synthesizes a `/{object}/{id}` deep-link from these.', }, actorId: { type: 'string',