Commit Graph

3355 Commits

Author SHA1 Message Date
Guillaume Jacquart
1388954a26 fix(editor): Grow the sub-workflow progress arc clockwise from the top
A conic gradient's 0deg already sits at 12 o'clock and advances clockwise, so the
`from -90deg` offset — an SVG/canvas convention, where 0deg is 3 o'clock — started
the arc at 9 o'clock and swept it the wrong way. At 25% it filled the upper-left
quadrant instead of the upper-right, and at 90% the remaining gap sat at the
bottom-left rather than just short of the top, losing the "almost closed" read.

Found by pinning --node--progress--fraction to fixed values against a running
instance with the transition disabled. The unit tests assert the fraction value,
which was right all along — only where the ink landed was wrong.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-28 11:18:23 +02:00
Guillaume Jacquart
3e2ed4ea61 perf(editor): Keep sub-workflow progress off the execution hot path
Two costs that scaled with the number of sub-executions rather than with
anything visible, both of which a parent loop over a few hundred items would
have multiplied.

The progress arc no longer trickles between steps. The trickle needed a
1s interval, and because the composable was called unconditionally, every
default node on the canvas ran one whether a sub-workflow was executing or
not. The arc's own reason for existing was weak once the point was granted
that the rotating running border already shows the node is alive, so this
drops the behaviour rather than gating the timer.

The reachable-node count is now computed on first emit instead of at hook
registration, and node events return early when no parent pushRef resolves.
Executions with no editor session — the overwhelming majority — no longer
walk the child workflow's graph at all. Nodes are still tallied before that
bail-out, so an editor attaching mid-run sees a truthful count.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-28 10:55:57 +02:00
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
b4fb8a5ea3
fix(editor): Ignore stale sub-workflow finished events when clearing progress
`clear` deleted the progress entry using only the parent execution id and node
name, while `updateProgress` already ignored events from a superseded child.
That asymmetry meant a late `subworkflowExecutionFinished` from a previous child
could wipe the overlay of a newer one that is still running.

Pass the child execution id through from the push handler and only clear when it
matches the stored entry, mirroring the existing guard in `updateProgress`. The
id is optional so a caller with no specific child (such as a reset) still clears
unconditionally.

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
Ricardo Espinoza
4f7c725b83
fix(editor): Clamp persisted sidebar width when expanding the main sidebar (#34923) 2026-07-27 08:09:24 +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
n8n-assistant[bot]
d93d2dea5b
chore: Update node popularity data (#34981)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-27 00:52:53 +00:00
Alex Grozav
75366af57c
refactor(editor): Move users.store into @n8n/stores (no-changelog) (#34900)
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 Opus 4.8 <noreply@anthropic.com>
2026-07-26 17:30:27 +00:00
Aryan Bahl
734f957395
fix(editor): Refresh subworkflow input schema from draft on parent open (#34522)
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
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Util: Update Node Popularity / approve-and-automerge (push) Has been cancelled
Co-authored-by: Dawid Myslak <dawid.myslak@gmail.com>
2026-07-25 23:08:44 +00:00
Albert Alises
7d8426f055
feat: Add admin-managed instance credentials (#34364) 2026-07-25 14:22:22 +00:00
Guillaume Jacquart
3e63d9a935 feat(editor): Show live sub-workflow progress on Execute Sub-workflow node 2026-07-24 23:09:48 +02: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
6b4021147b
fix(ai-builder): Make channel config dropdown enabled - Linear and Telegram - in AIA agent builder (#34706) 2026-07-24 15:25:51 +00:00
Anne Aguirre
490b7220e1
fix(ai-builder): Make labels be more specific about access token for Slack setup (#34893) 2026-07-24 15:24:44 +00:00
Ricardo Espinoza
359d82fb05
fix(editor): Center empty state content vertically on short viewports (#34820) 2026-07-24 14:59:37 +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
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
Kai
5a97bd1a2e
feat(editor): Sync a new workflow version into an existing open review (#34842) 2026-07-24 14:06:07 +00:00
Alex Grozav
335b9d7a96
refactor(editor): Move useToast into @n8n/composables behind a shim (no-changelog) (#34861)
Co-authored-by: multica-agent <github@multica.ai>
2026-07-24 12:38:44 +00:00
Mike Repeć
016421680d
fix(editor): Add document title and adopt new settings layout on migration report pages (#34609)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 12:08:16 +00:00
RomanDavydchuk
a0f6861e17
fix(editor): Keep Switch fallback outputs available with unresolved expressions (#34698) 2026-07-24 12:05:14 +00:00
Charlie Kolb
0c613b4405
fix(core): Publish workspace packages required by n8n at runtime (#34886)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 11:55:52 +00:00
Alex Grozav
8c49c405be
refactor(editor): Move cloudPlan.store to @n8n/stores (no-changelog) (#34859) 2026-07-24 11:52:36 +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
Filipe Tavares
d5b5d8ead5
fix(editor): Inject instance UTM parameters in all links to the templates website (#34790)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 10:41:06 +00:00
Alex Grozav
7040b69102
refactor(editor): Move useStyles into @n8n/composables behind a shim (no-changelog) (#34856)
Co-authored-by: multica-agent <github@multica.ai>
2026-07-24 09:01:51 +00:00
Ilfat Mindubaev
a2d5aec831
feat(Microsoft SharePoint Node): Add v2 Item Update action (no-changelog) (#34712)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 08:49:57 +00:00
Ricardo Espinoza
25c5a7341e
fix(editor): Debounce node creator search filtering (#34828) 2026-07-24 07:37:02 +00:00
Alex Grozav
7c5196ddf6
refactor(editor): Decouple useExternalHooks for package use (no-changelog) (#34705)
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 Opus 4.8 <noreply@anthropic.com>
2026-07-24 07:28:19 +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
Alex Grozav
40cd7c4424
refactor(editor): Extract the notification slice out of ui.store into @n8n/stores (no-changelog) (#34638)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 06:22:04 +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
Alex Grozav
ac6fb2b6ba
refactor(editor): Unify decoupled stores on a shared ModalOpeners contract (no-changelog) (#34727)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 17:01:18 +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
Milorad FIlipović
41f0825235
fix(editor): Hide Add to n8n AI button on self-hosted (no-changelog) (#32737) 2026-07-23 15:20:50 +00:00
Rob Hough
c692ef81d9
refactor(editor): Polish artefact UX for agent (no-changelog) (#33908)
Co-authored-by: Michael Drury <me@michaeldrury.co.uk>
Co-authored-by: Michael Drury <michael.drury@n8n.io>
2026-07-23 14:38:34 +00:00
Ricardo Espinoza
e2840a7443
feat(editor): Revamp MCP settings view with instance settings components (#34041) 2026-07-23 14:21:27 +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
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
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
Denisf88
4fdf3ed633
fix(editor): Keep chat typing indicator visible until response arrives (#34768) 2026-07-23 11:26:55 +00:00
Miguel Ángel Moreno
1666f1ec67
fix(editor): Preserve canvas groups when converting a selection to a sub-workflow (#34664)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 10:20:22 +00:00
Filipe Tavares
1138f1196f
fix(editor): Update copy for executions tab empty state (#34731)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 09:44:42 +00:00
Sandra Zollner
b2cbcc1b81
feat(core): Create reviews page and render inbox (#34357) 2026-07-23 09:40:36 +00:00
Michael Drury
ac839bb54a
fix(editor): Restore agent channel credential setup (#34737) 2026-07-23 06:36:04 +00:00
Arvin A
df3e092473
feat(core): Generate eval collection insights with an LLM (no-changelog) (#34254)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 23:38:11 +00:00
Riqwan Thamir
94e505a972
fix(core): Strip null optional node fields from AI-generated workflows (#34668)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 15:38:56 +00:00