mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-08 19:37:29 -08:00
a8049a0def
## Summary In an effort to do as little processing as possible in each `Node` component, this PR passes current workflow object to it as a property instead of calling the slow `getCurrentWorkflow` store getter a few times in each node. This should substantially improve loading times for large workflows. As a benchmark, I was using a workflow from [this Linear ticket](https://linear.app/n8n/issue/ADO-1501/deliveryhero-enterprise-instance-very-slow-loading-workflows) and this fix brought down opening time by **20 seconds**. Together with fixes from #7901, this workflow was opening in less than **10 seconds** on my laptop. [Latest e2e run](https://github.com/n8n-io/n8n/actions/runs/7062162739) #### How to test the change: 1. Open a large workflow 2. Observe loading time ## Issues fixed ADO-1523 https://community.n8n.io/t/ui-very-slow-with-more-than-100-nodes/8236/14 ## Review / Merge checklist - [x] PR title and summary are descriptive. **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** ([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md)) - [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up ticket created. - [ ] Tests included. > A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. > > *(internal)* You can use Slack commands to trigger [e2e tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227) or [deploy test instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce) or [deploy early access version on Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e). |
||
---|---|---|
.. | ||
__tests__ | ||
SetupWorkflowFromTemplateView | ||
AuthView.vue | ||
CanvasAddButton.vue | ||
ChangePasswordView.vue | ||
CredentialsView.vue | ||
ErrorView.vue | ||
ExecutionsView.vue | ||
ForgotMyPasswordView.vue | ||
LoadingView.vue | ||
MfaView.vue | ||
NodeView.vue | ||
SamlOnboarding.vue | ||
SettingsApiView.vue | ||
SettingsAuditLogs.vue | ||
SettingsCommunityNodesView.vue | ||
SettingsExternalSecrets.vue | ||
SettingsFakeDoorView.vue | ||
SettingsLdapView.vue | ||
SettingsLogStreamingView.vue | ||
SettingsPersonalView.vue | ||
SettingsSourceControl.vue | ||
SettingsSso.vue | ||
SettingsUsageAndPlan.vue | ||
SettingsUsersView.vue | ||
SettingsView.vue | ||
SetupView.vue | ||
SigninView.vue | ||
SignoutView.vue | ||
SignupView.vue | ||
TemplatesCollectionView.vue | ||
TemplatesSearchView.vue | ||
TemplatesView.vue | ||
TemplatesWorkflowView.vue | ||
VariablesView.vue | ||
WorkerView.vue | ||
WorkflowHistory.vue | ||
WorkflowOnboardingView.vue | ||
WorkflowsView.vue |