Commit Graph

6476 Commits

Author SHA1 Message Date
Guillaume Jacquart
396fc5dfcf
feat(editor): Show sub-workflow progress on the node border
Replaces the in-body progress bar with a determinate arc on the node's own
border, plus a step count in the status-icon slot that gives way to the success
checkmark on finish. The running child node name reuses the subtitle line, so
nothing shifts as the child advances.

The arc is drawn on its own layer rather than sharing the running halo's ring:
compositing the two there made the shimmer's bright head vanish behind the solid
arc and read as a flicker. It trickles between steps, bounded to half a step, so
a slow child node doesn't read as a stalled bar, and stops short of a full turn
so only completion closes the loop.

The step count carries no denominator. Nodes reached is knowable, the total is
only estimated, so the count is reported unclamped and the estimate is used just
to scale the arc. That total now counts only nodes reachable from the
sub-workflow's entry point (plus their AI/tool sub-nodes), which stops leftover
trigger branches and disconnected islands from scaling the arc down.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-27 22:07:12 +02:00
Guillaume Jacquart
400592482e
perf(core): Throttle sub-workflow progress pushes and limit them to direct children
The progress stream forwarded from a sub-workflow to the parent's canvas was
effectively unthrottled. The previous guard only suppressed consecutive
`nodeExecuteBefore` events for the same node with no intervening
`nodeExecuteAfter` — a sequence the engine does not produce — so steady state
was two messages per child node execution. Each of those is a pubsub broadcast
in scaling mode and a full canvas re-map in the editor, so a looping child
workflow could emit thousands of messages for one run.

Replace it with a trailing-edge throttle: the leading edge still emits
immediately so the overlay appears at once, subsequent events inside the window
coalesce into a single pending snapshot, and a trailing timer sends the latest
state. The overlay only renders the running node name, an "X / Y" counter and a
bar, so intermediate states are disposable. A 200-iteration child now emits two
messages instead of ~400. `workflowExecuteAfter` drops any pending snapshot,
since the finished event clears the overlay outright.

Also stop forwarding progress for nested sub-workflows. Only the workflow open
on the canvas renders the overlay, so a grandchild's parent node is not on
screen and the editor discarded those messages anyway. Resolving the direct
parent's pushRef instead of walking the whole ancestor chain removes that
wasted traffic and simplifies the lookup.

Tests now exercise real engine before/after sequences rather than the synthetic
double-`nodeExecuteBefore` the old throttle keyed on.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-27 11:12:44 +02:00
Guillaume Jacquart
63631c391e
Merge branch 'master' into subworkflow-progress 2026-07-27 10:52:05 +02:00
n8n-cat-bot[bot]
1f4e65419a
feat: Default package import workflowIdPolicy to source (#34989)
Some checks are pending
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.22.3) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.18.0) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-27 08:36:24 +00:00
Emilia
e2054f984c
feat(core): Route poll triggers through the durable scheduler (no-changelog) (#34733)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-27 07:32:08 +00:00
Robin Braumann
771d038657
fix(editor): Remove episodic memory callout and knowledge base publish requirement (#34888)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 07:27:44 +00:00
Ali Elkhateeb
91751c3ce2
feat(API): Add endpoint to list workflow version history (GET /workflows/{id}/history) (#34656) 2026-07-27 07:27:04 +00:00
Miguel Ángel Moreno
0dabb99ce5
refactor(core): Dispatch MCP workflow operations via a handler table (no-changelog) (#34926)
Some checks are pending
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.22.3) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.18.0) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 15:16:23 +00:00
Albert Alises
7d8426f055
feat: Add admin-managed instance credentials (#34364) 2026-07-25 14:22:22 +00:00
Miguel Ángel Moreno
6d66056058
feat(core): Make MCP clients aware of node groups (no-changelog) (#34810)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 14:17:11 +00:00
Albert Alises
dee23d2de5
test(core): Align MCP server name validation (#34946) 2026-07-25 13:38:35 +00:00
Guillaume Jacquart
152cad7c45 feat(core): Forward sub-workflow node progress to the parent execution 2026-07-24 23:09:34 +02:00
Riqwan Thamir
55e92cc283
refactor(core): Consolidate sandbox and skill guidance in system prompt (no-changelog) (#34909)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 15:50:37 +00:00
Anne Aguirre
decb3228c5
feat(ai-builder): Tidy up tool names and agent builder tool UX (#34646)
Some checks failed
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.22.3) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.18.0) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Build: Benchmark Image / build (push) Has been cancelled
Util: Sync API Docs / sync-public-api (push) Has been cancelled
2026-07-24 15:26:08 +00:00
Anne Aguirre
bac8debc0e
feat(ai-builder): Format zod erros on agent config - better toast msg (#34867) 2026-07-24 15:24:59 +00:00
Robin Braumann
8017b3d85f
feat(core): Add telemetry events for agent publishing, builder capabilities, and interactive flows (#34887)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 14:34:11 +00:00
Danny Martini
3f2bc68846
feat(core): Detect and heal published-version skew in trigger reconciliation (#34877)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 14:15:42 +00:00
Arvin A
e6a08eec58
fix(core): Normalize eval-collection scores per-run and harden re-run (no-changelog) (#34736) 2026-07-24 14:14:49 +00:00
Yen Su
f99d75c3d5
fix(Gmail Node): Roll back advanced HITL Send and Wait (no-changelog) (#34865)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 14:14:17 +00:00
Svetoslav Dekov
fdd4e33f9c
feat(core): Add availableInMCP column to agents (#34665)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 14:09:04 +00:00
Kai
5a97bd1a2e
feat(editor): Sync a new workflow version into an existing open review (#34842) 2026-07-24 14:06:07 +00:00
Lorent Lempereur
4212fc2202
fix(core): Avoid loading execution data during credentials security audit (#34876) 2026-07-24 13:54:37 +00:00
Ricardo Espinoza
9e09ff4d23
fix(core): Reject workflow deletion while unpublish is still in progress (#34836) 2026-07-24 13:43:48 +00:00
Ricardo Espinoza
bf8f5d85a3
perf(core): Skip allowed-methods lookup on successful production webhook requests (#34833) 2026-07-24 12:50:40 +00:00
Lorent Lempereur
efa86c697b
feat(core): Include acting user identity in workflow lifecycle external hooks (#34769) 2026-07-24 12:43:46 +00:00
Milorad FIlipović
ddc1766af3
feat(core): Improve grouping operations in mcp (no-changelog) (#34852) 2026-07-24 12:39:05 +00:00
Arvin A
e5bb60f663
feat(core): Add agent-scoped eval data model and migration (no-changelog) (#34657) 2026-07-24 12:37:53 +00:00
Bernhard Wittmann
6e124263dc
fix(core): Resolve synthetic tool nodes to the requested version (#34850) 2026-07-24 12:09:58 +00:00
Sandra Zollner
f4edeeba31
feat(core): Return open and closed counts for the review inbox tabs (#34789) 2026-07-24 11:26:39 +00:00
Michael Drury
9503892225
fix: Improve MCP tool handling (no-changelog) (#34827) 2026-07-24 11:00:35 +00:00
Robin Braumann
a647aeff23
feat(core): Store agent execution logs in blob storage (#34796)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 10:57:49 +00:00
José Braulio González Valido
da0de05058
fix(core): Mount the MCP registry test seed endpoint whenever E2E tests are enabled (no-changelog) (#34811)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 10:08:34 +00:00
Lorent Lempereur
697174f3f8
feat(core): Add workflow.deactivate external hook (#34746) 2026-07-24 09:15:28 +00:00
José Braulio González Valido
e904939db2
fix(ai-builder): Halt workflow verification at send-and-wait gates on loops (#34809)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 08:50:41 +00:00
Filipe Tavares
39490bcda8
build: Mark @n8n/telemetry as private (no-changelog) (#34826)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 07:20:25 +00:00
Ricardo Espinoza
eca731c2de
fix(core): Include RFC 9207 iss parameter on OAuth authorization error redirects (#34751)
Some checks are pending
Build: Benchmark Image / build (push) Waiting to run
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.22.3) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.18.0) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Util: Sync API Docs / sync-public-api (push) Waiting to run
2026-07-23 22:46:09 +00:00
Guillaume Jacquart
01e06399d8
feat(editor): Polish end-user credential setup modal and NDV states (#34766)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 19:53:12 +00:00
Filipe Tavares
855c283101
feat: Add @n8n/telemetry event registry with typed track() support (no-changelog) (#34662)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 16:09:54 +00:00
Riqwan Thamir
b0a14728d7
refactor(core): Remove unused templates and list_skills AI tools (no-changelog) (#34741)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 15:38:41 +00:00
Irénée
09c90f9bf4
feat(core): Auto-include sub-workflows in package exports (#34218)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 15:03:07 +00:00
Rodrigo Santos da Silva
bd6f617efb
feat(core): Nest delegated sub-agent spans under the parent agent trace (#34720)
Some checks are pending
Build: Benchmark Image / build (push) Waiting to run
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.22.3) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.18.0) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Util: Sync API Docs / sync-public-api (push) Waiting to run
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 14:46:48 +00:00
Robin Braumann
21f5097bfe
refactor(core): Centralize agent draft model/credential validation (no-changelog) (#34775)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 14:05:53 +00:00
Dmitrii
05c691b0b7
feat(API): Deprecate workflow activate/deactivate public API endpoints (#34771) 2026-07-23 13:41:42 +00:00
Milorad FIlipović
4ead8600f9
feat(core): Improve workflow groups validation/support in mcp (no-changelog) (#34778) 2026-07-23 13:41:27 +00:00
Guillaume Jacquart
d8d89cc381
fix(core): Redact a sub-workflow's own execution record per its own policy (#34621)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 12:55:51 +00:00
Robin Braumann
e5b1ac9f38
feat(core): Build agent drafts before asking for setup in the agent builder (no-changelog) (#34615)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 12:55:51 +00:00
Dmitrii
e9933bd1c0
feat(API): Add workflow publish/unpublish public API endpoints (#34745) 2026-07-23 12:32:27 +00:00
Anne Aguirre
96268910d3
feat(ai-builder): Add Fix with Assistant for failed agent preview tools - pass single execution context (#34616)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-07-23 12:31:07 +00:00
Raúl Gómez Morales
a8c90f84fe
fix(core): Fall back to the run's resolved model for AI Assistant verification LLM calls (#34627) 2026-07-23 11:16:03 +00:00
Mike Repeć
4d861d16a6
fix(core): Prevent concurrent instance startups from racing database migrations (#34685)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 10:54:41 +00:00