n8n/cypress/e2e
Milorad FIlipović 4bd7ae29f7
perf(editor): Improve performance when opening large workflows with node issues (#7901)
This PR should improve performance when opening large workflows that
contain node issues (Fixes ADO-1521)

**Background**
Main reason for this poor performance is that our `getCurrentWorkflow()`
store getter is unnecessarily heavy but on top of that we are calling it
more than we need. This addresses the second part of the issue by
changing the following:
- Pausing node issue processing while workflows are loading
- Only getting current workflow once (instead for every node) when
calling `refreshNodeIssues`

**Benchmark**
This was tested on a workflow attached to [this Linear
ticket](https://linear.app/n8n/issue/ADO-1501/deliveryhero-enterprise-instance-very-slow-loading-workflows)
and this fix brings down opening time from **~1m10s** to **~28s** on my
laptop.

**Tests**
- [Latest e2e tests
run](https://github.com/n8n-io/n8n/actions/runs/7060874994)

https://community.n8n.io/t/ui-very-slow-with-more-than-100-nodes/8236/14
2023-12-04 10:57:03 +01:00
..
1-workflows.cy.ts ci: Refactor e2e tests to delete boilerplate code (no-changelog) (#6524) 2023-06-23 00:38:12 +02:00
2-credentials.cy.ts ci: Skip the regularly failing tests in 2-credentials.cy.ts (no-changelog) (#7736) 2023-11-16 17:42:58 +01:00
4-node-creator.cy.ts feat(editor): Add sections to create node panel (#7831) 2023-12-04 10:02:07 +01:00
5-ndv.cy.ts feat: Add AI tool building capabilities (#7336) 2023-11-29 12:13:55 +01:00
6-code-node.cy.ts ci: Fix prettier auto-formatting (no-changelog) (#7063) 2023-09-01 13:29:31 +02:00
7-workflow-actions.cy.ts fix(editor): Only show push to git menu item to owners (#7766) 2023-11-21 15:20:15 +01:00
8-http-request-node.cy.ts feat(editor): Add HTTP request nodes for credentials without a node (#7157) 2023-11-13 12:11:16 +01:00
9-expression-editor-modal.cy.ts ci: Refactor e2e tests to delete boilerplate code (no-changelog) (#6524) 2023-06-23 00:38:12 +02:00
10-settings-log-streaming.cy.ts feat(editor): Migrate Design System and Editor UI to Vue 3 (#6476) 2023-07-28 09:51:07 +02:00
10-undo-redo.cy.ts feat(editor): Add node context menu (#7620) 2023-11-20 14:37:12 +01:00
11-inline-expression-editor.cy.ts fix(editor): Avoid infinite loops when resolving the expression {{ $parameter }} (no-changelog) (#6855) 2023-08-07 11:52:33 +02:00
12-canvas-actions.cy.ts feat(editor): Add node context menu (#7620) 2023-11-20 14:37:12 +01:00
12-canvas.cy.ts feat(editor): Add node context menu (#7620) 2023-11-20 14:37:12 +01:00
13-pinning.cy.ts feat(editor): Add node context menu (#7620) 2023-11-20 14:37:12 +01:00
14-data-transformation-expressions.cy.ts feat(Set Node): Overhaul (#6348) 2023-09-19 13:16:35 +03:00
14-mapping.cy.ts refactor(editor): Color palette updates, introduce dark mode (#6980) 2023-11-01 13:33:36 +01:00
15-scheduler-node.cy.ts feat(editor): Migrate Design System and Editor UI to Vue 3 (#6476) 2023-07-28 09:51:07 +02:00
16-form-trigger-node.cy.ts feat(n8n Form Trigger Node): New node (#7130) 2023-10-17 07:09:30 +03:00
16-webhook-node.cy.ts fix(Convert to/from binary data Node): Rename 'Move Binary Data' to 'Convert to/from binary data' (#7318) 2023-10-04 13:23:33 +02:00
17-sharing.cy.ts feat(editor): Improve performance by importing routes dynamically and add route guards (no-changelog) (#7567) 2023-11-03 16:22:37 +02:00
17-workflow-tags.cy.ts fix(editor): Close tags dropdown when modal is opened (#6766) 2023-07-28 10:45:46 +02:00
18-user-management.cy.ts feat(editor): Replace middleware for Role checks with Scope checks (#7847) 2023-11-29 10:35:40 +02:00
19-execution.cy.ts fix(editor): Fix deletion of last execution at execution preview (#7883) 2023-11-30 12:12:26 +01:00
20-workflow-executions.cy.ts ci: e2e tests don't need to enable saving manual executions 2023-07-05 20:36:58 +02:00
21-community-nodes.cy.ts feat(editor): Migrate Design System and Editor UI to Vue 3 (#6476) 2023-07-28 09:51:07 +02:00
23-variables.cy.ts ci: Refactor e2e tests to delete boilerplate code (no-changelog) (#6524) 2023-06-23 00:38:12 +02:00
24-ndv-paired-item.cy.ts fix(core): Fix expression with paired item with multi-input node (#7424) 2023-10-12 17:32:14 +02:00
25-stickies.cy.ts feat(editor): Add node context menu (#7620) 2023-11-20 14:37:12 +01:00
26-resource-locator.cy.ts fix(editor): Fix remote options fetching on every keystroke (#7320) 2023-10-12 14:18:35 +02:00
27-opt-in-trial-banner.cy.ts fix(editor): Fix Admin panel icon in the sidebar for cloud deployments (no-changelog) (#7738) 2023-11-17 14:44:47 +01:00
27-two-factor-authentication.cy.ts fix: Flaky mfa e2e tests (no-changelog) (#7192) 2023-10-06 11:06:38 +02:00
28-debug.cy.ts perf(editor): Improve performance when opening large workflows with node issues (#7901) 2023-12-04 10:57:03 +01:00
28-resource-mapper.cy.ts fix(editor): Fix remote options fetching on every keystroke (#7320) 2023-10-12 14:18:35 +02:00
29-sql-editor.cy.ts feat(Loop Over Items (Split in Batches) Node): Automatically add a loop + rename (#7228) 2023-10-06 15:31:18 +02:00
29-templates.cy.ts feat: Add onboarding flow (#7212) 2023-09-25 15:49:36 +02:00
30-editor-after-route-changes.cy.ts fix(editor): Reset canvas zoom before workspace reset in node view (#7625) 2023-11-06 18:15:49 +01:00
30-langchain.cy.ts feat: Add AI tool building capabilities (#7336) 2023-11-29 12:13:55 +01:00
30-workflow-filters.cy.ts ci: Disable Workflow filters e2e tests to unblock the CI (no-changelog) (#7668) 2023-11-09 13:30:17 +01:00
31-demo.cy.ts fix(editor): Allow overriding theme from query params (#7591) 2023-11-02 16:06:33 +01:00
32-node-io-filter.cy.ts feat(editor): Node IO filter (#7503) 2023-11-15 16:19:48 +01:00
32-worker-view.cy.ts feat(editor): Adds a EE view to show worker details and job status (#7600) 2023-11-10 23:48:31 +01:00
33-settings-personal.cy.ts fix(editor): Validate user info before submiting (#7608) 2023-11-22 12:14:44 +01:00
34-template-credentials-setup.cy.ts feat(editor): Allow partial template credential setup (no-changelog) (#7899) 2023-12-04 09:30:34 +02:00