Commit graph

1558 commits

Author SHA1 Message Date
Csaba Tuncsik e128b23a2b
build: Upgrade to Vite 5 (#7784) 2023-11-23 11:55:02 +01:00
Milorad FIlipović 77bc8ecd4b
feat(editor): Show avatars for users currently working on the same workflow (#7763)
This PR introduces the following changes:
- New Vue stores: `collaborationStore` and `pushConnectionStore`
- Front-end push connection handling overhaul: Keep only a singe
connection open and handle it from the new store
- Add user avatars in the editor header when there are multiple users
working on the same workflow
- Sending a heartbeat event to back-end service periodically to confirm
user is still active

- Back-end overhauls (authored by @tomi):
  - Implementing a cleanup procedure that removes inactive users
  - Refactoring collaboration service current implementation

---------

Co-authored-by: Tomi Turtiainen <10324676+tomi@users.noreply.github.com>
2023-11-23 10:14:34 +01:00
कारतोफ्फेलस्क्रिप्ट™ 96fd2c51bd
fix(core): Show webhook urls for all webhook nodes (no-changelog) (#7783)
This reverts parts of https://github.com/n8n-io/n8n/pull/7113
2023-11-22 17:45:26 +01:00
Csaba Tuncsik 50f568560f
perf: Make frontend linting faster (no-changelog) (#7717)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-22 15:01:22 +01:00
Michael Auerswald 0d3d33dd1f
fix(editor): Only show push to git menu item to owners (#7766)
Removes the menu entry of "Push to Git" from the workflow menu for
non-owners, since they would not be able to push in the first place.
2023-11-21 15:20:15 +01:00
Michael Auerswald ff0b6511f7
fix(editor): Use project diagram icon for worker view (#7764)
Swap monster truck for project diagram icon
2023-11-21 15:18:14 +01:00
Michael Auerswald 366cd672a7
fix(editor): Move workerview entry into settings menu (#7761)
As the worker view is not an essential function, it is being moved from
the main side bar to the settings side bar for the time being.
2023-11-21 11:29:24 +01:00
Elias Meire 8d12c1ad8d
feat(editor): Add node context menu (#7620)
![image](https://github.com/n8n-io/n8n/assets/8850410/5a601fae-cb8e-41bb-beca-ac9ab7065b75)
2023-11-20 14:37:12 +01:00
Milorad FIlipović 4dbae0e2e9
feat: Add Creator hub link to Templates page (#7721)
Replace the `New Blank Workflow` button with link to the new Creator Hub
in the Templates page
2023-11-20 10:51:46 +01:00
Iván Ovejero 4c4082503c
feat(core): Coordinate manual workflow activation and deactivation in multi-main scenario (#7643)
Followup to #7566 | Story: https://linear.app/n8n/issue/PAY-926

### Manual workflow activation and deactivation

In a multi-main scenario, if the user manually activates or deactivates
a workflow, the process (whether leader or follower) that handles the
PATCH request and updates its internal state should send a message into
the command channel, so that all other main processes update their
internal state accordingly:

- Add to `ActiveWorkflows` if activating
- Remove from `ActiveWorkflows` if deactivating
- Remove and re-add to `ActiveWorkflows` if the update did not change
activation status.

After updating their internal state, if activating or deactivating, the
recipient main processes should push a message to all connected
frontends so that these can update their stores and so reflect the value
in the UI.

### Workflow activation errors

On failure to activate a workflow, the main instance should record the
error in Redis - main instances should always pull activation errors
from Redis in a multi-main scenario.

### Leadership change

On leadership change...

- The old leader should stop pruning and the new leader should start
pruning.
- The old leader should remove trigger- and poller-based workflows and
the new leader should add them.
2023-11-17 15:58:50 +01:00
कारतोफ्फेलस्क्रिप्ट™ 2d039010db
fix(editor): Fix Admin panel icon in the sidebar for cloud deployments (no-changelog) (#7738)
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Mutasem Aldmour <mutasem@n8n.io>
2023-11-17 14:44:47 +01:00
कारतोफ्फेलस्क्रिप्ट™ b66b8c18e9
fix(editor): Remove n8nHooksNext flag (no-changelog) (#7733)
Hooks won't be injected anymore
https://github.com/n8n-io/n8n-hosted-backend/pull/816
2023-11-17 14:44:28 +01:00
Mutasem Aldmour 44d3b3ed7e
fix(editor): Show v1 banner dismiss button if owner (#7722)
Github issue / Community forum post (link here to close automatically):

https://community.n8n.io/t/v1-upgrade-banner-shall-be-dismissed-permanently/32775
2023-11-17 14:15:13 +01:00
कारतोफ्फेलस्क्रिप्ट™ fc60e9a809
refactor(core): Convert dynamic node-parameter routes to a decorated controller (no-changelog) (#7284)
1. Reduce a lot of code duplication
2. Move more endpoints out of `Server.ts`
3. Move all query-param parsing and validation into a middleware to make
the route handlers simpler.
2023-11-17 12:03:05 +01:00
Ricardo Espinoza 8e0ae3cf8c
refactor: Extract Invitation routes to InvitationController (no-changelog) (#7726)
This PR:

- Creates `InvitationController`
- Moves `POST /users` to `POST /invitations` and move related test to
`invitations.api.tests`
- Moves `POST /users/:id` to `POST /invitations/:id/accept` and move
related test to `invitations.api.tests`
- Adjusts FE to use new endpoints
- Moves all the invitation logic to the `UserService`

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-16 12:39:43 -05:00
कारतोफ्फेलस्क्रिप्ट™ ebee1a5908
fix(editor): Make sure LineController is registered with chart.js (#7730)
Tree shaking in production build of the editor-ui package removed the
LineController, this makes sure it is in the final package.
2023-11-16 11:57:43 +01:00
Csaba Tuncsik 18817651ec
feat(editor): Node IO filter (#7503)
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-11-15 16:19:48 +01:00
Giulio Andreini 0cebd28582
fix(editor): Dark mode sticky notes (no-changelog) (#7716) 2023-11-15 12:56:09 +01:00
Ricardo Espinoza 4020c14d59
refactor: Use POST /users to re-invite users (no-changelog) (#7714) 2023-11-15 06:40:57 -05:00
Giulio Andreini f1e7ef0117
fix(editor): Dark mode switch style fix and other tweaks (no-changelog) (#7599)
Github issue / Community forum post (link here to close automatically):
2023-11-14 17:13:30 +01:00
Alex Grozav a262c450f7
feat: Rewrite Front End cloud and posthog hooks using TypeScript (no-changelog) (#5491) 2023-11-13 15:10:42 +02:00
Michael Kret 1c7225ebdb
feat(core): Expression function $ifEmpty (#7660)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Elias Meire <elias@meire.dev>
2023-11-13 13:28:41 +02:00
Elias Meire 14035e1244
feat(editor): Add HTTP request nodes for credentials without a node (#7157)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-13 12:11:16 +01:00
Michael Kret 460ac85fda
fix(core): Send pairedItem error to Posthog (no-changelog) (#7697)
Github issue / Community forum post (link here to close automatically):
2023-11-13 13:07:12 +02:00
Michael Auerswald cbc690907f
feat(editor): Adds a EE view to show worker details and job status (#7600)
This change expands on the command channel communication introduced
lately between the main instance(s) and the workers. The frontend gets a
new menu entry "Workers" which will, when opened, trigger a regular call
to getStatus from the workers. The workers then respond via their
response channel to the backend, which then pushes the status to the
frontend.
This introduces the use of ChartJS for metrics.
This feature is still in MVP state and thus disabled by default for the
moment.
2023-11-10 23:48:31 +01:00
Csaba Tuncsik 37dd658dc5
fix(editor): More securely clear executions tab auto refresh timer (#7685) 2023-11-10 14:51:49 +01:00
Elias Meire 00dff50140
fix(editor): Fix resource mapper component being truncated (#7664)
Github issue / Community forum post (link here to close automatically):
2023-11-10 10:43:47 +01:00
Iván Ovejero f73a0597ba
refactor: Add rule no-constant-binary-expression (no-changelog) (#7670)
https://eslint.org/docs/latest/rules/no-constant-binary-expression
2023-11-09 17:50:59 +01:00
Michael Kret 6a53c2a375
feat(Discord Node): Overhaul (#5351)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Marcus <marcus@n8n.io>
2023-11-08 16:11:23 +02:00
Ricardo Espinoza afd637b5ea
feat(editor): Add workflow filters to querystring (#7456)
fixes:
https://linear.app/n8n/issue/ADO-1222/feature-save-filters-in-workflows
2023-11-08 08:42:53 -05:00
Ricardo Espinoza 8359364536
feat(editor): Add color selector to sticky node (#7453)
fixes: https://linear.app/n8n/issue/ADO-1223/feature-sticky-colors

---------

Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Mutasem <mutdmour@gmail.com>
2023-11-08 08:23:57 -05:00
Csaba Tuncsik 020042ef1a
fix(editor): Redirect to workflow editor after saving in debug mode (#7645) 2023-11-08 14:04:02 +01:00
Csaba Tuncsik 3d5a485bcf
fix(editor): Fix workflow history prune time limit (getting hours instead of days) (#7644) 2023-11-07 17:44:58 +01:00
कारतोफ्फेलस्क्रिप्ट™ 60314248f4
fix(core): Make password-reset urls valid only for single-use (#7622) 2023-11-07 15:35:43 +01:00
Ricardo Espinoza b3470fd64d
fix: Error handling on forgot password page (no-changelog) (#7633)
fixes:
https://linear.app/n8n/issue/ADO-1339/fix-error-handling-on-forgot-password-page
2023-11-07 08:45:58 -05:00
Mutasem Aldmour 151e60f829
fix(editor): Fix local storage flags defaulting to undefined string (#7603)
useStorage takes the default value `undefined` and sets it in local
storage.. also returns "undefined" as string which breaks onboarding
flows

Github issue / Community forum post (link here to close automatically):
2023-11-07 10:06:08 +01:00
Csaba Tuncsik 78b84af8d1
fix(editor): Reset canvas zoom before workspace reset in node view (#7625) 2023-11-06 18:15:49 +01:00
कारतोफ्फेलस्क्रिप्ट™ 4934462b41
fix(editor): More dark-mode fixes (no-changelog) (#7624)
This fixes:
1. The `OR` divider background when SSO Login is enabled
2. Scanning of QR code in settings in dark mode
2023-11-06 14:32:38 +01:00
Jan Oberhauser db56a9ee37
fix(editor): Fix issue that frontend breaks with unkown nodes (#7596)
Because of recent changes does the frontend break when a node is not
known.

![Screenshot from 2023-11-03
08-27-43](https://github.com/n8n-io/n8n/assets/6249596/ab340c3c-9b72-4220-b1f8-70d80f7a5522)



Github issue / Community forum post (link here to close automatically):

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-11-06 13:44:05 +01:00
Ricardo Espinoza b11c4de039
fix(editor): Focus mfa token input (no-changelog) (#7610)
Github issue / Community forum post (link here to close automatically):
2023-11-04 20:34:05 -04:00
Ricardo Espinoza 5790e251b8
feat(core): Rate limit forgot password endpoint (#7604)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2023-11-03 13:44:12 -04:00
Omar Ajoue c6049a2e97
feat(editor): Fix some UTM tags (no-changelog) (#7583)
Github issue / Community forum post (link here to close automatically):
2023-11-03 16:17:39 +01:00
Alex Grozav 24dfc95974
feat(editor): Improve performance by importing routes dynamically and add route guards (no-changelog) (#7567)
**Before:**
<img width="657" alt="image"
src="https://github.com/n8n-io/n8n/assets/6179477/0bcced2b-9d3a-43b3-80d7-3c72619941fa">


**After:**
<img width="660" alt="image"
src="https://github.com/n8n-io/n8n/assets/6179477/e74e0bbf-bf33-49b4-ae11-65f640405ac8">
2023-11-03 16:22:37 +02:00
Elias Meire c92402a3ca
fix(editor): Zoom in/out on canvas the same amount on scroll/gesture (#7602)
Github issue / Community forum post (link here to close automatically):

https://community.n8n.io/t/ctrl-mousewheel-zoom-jumps-out-possible-to-avoid/31952
2023-11-03 14:09:18 +01:00
Jan Oberhauser b532a7bdb7
fix(editor): Hide not supported node options (#7597)
Currently Trigger-Nodes and Sub-Nodes display options that do not make
sense or work like:
- Always Output Data
- Execute Once
- On Error

This PR hides those options for nodes that can not make use of them
anyway to not confuse users.

Github issue / Community forum post (link here to close automatically):
2023-11-03 12:18:00 +01:00
Csaba Tuncsik 85e1a10021
refactor(editor): Simplify data count in NDV (no-changelog) (#7568) 2023-11-03 12:07:04 +01:00
Milorad FIlipović 9c55702661
fix(editor): Fix flaky ResourceMapper unit tests (no-changelog) (#7593)
Github issue / Community forum post (link here to close automatically):
2023-11-03 09:56:19 +01:00
Iván Ovejero d633753687
fix(editor): Remove unknown credentials on pasting workflow (#7582)
https://linear.app/n8n/issue/PAY-881
2023-11-02 17:26:39 +01:00
Mutasem Aldmour 2854a0cf46
fix(editor): Allow overriding theme from query params (#7591)
Allow overriding theme through query params.. to be able to override it
from preview iframe in webcomponent

Github issue / Community forum post (link here to close automatically):
2023-11-02 16:06:33 +01:00
Jan Oberhauser be49778388
fix(editor): Fix more dark mode issues (no-changelog) (#7578)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2023-11-02 10:57:08 +01:00
Alex Grozav 721a36637c
feat(editor): Handle pin data edge cases and unify validation (no-changelog) (#6685)
Github issue / Community forum post (link here to close automatically):
2023-11-02 10:43:02 +02:00
कारतोफ्फेलस्क्रिप्ट™ 100291e109
refactor(editor): Dark theme improvements (no-changelog) (#7574)
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
2023-11-01 17:56:15 +01:00
Mutasem Aldmour 1d81afcbdf
fix: Fix dark mode small issues (#7573)
Github issue / Community forum post (link here to close automatically):
2023-11-01 16:27:32 +01:00
Jan Oberhauser cc2bd2e19c
feat(HTTP Request Node): Add pagination support (#5993)
Is still WIP and does not implement the correct UI yet.

Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/pagination-included-into-http-node/15080

https://community.n8n.io/t/how-to-paginate-through-data-in-http-requests/28103
2023-11-01 14:24:43 +01:00
Giulio Andreini 0746783e02
refactor(editor): Color palette updates, introduce dark mode (#6980)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Mutasem <mutdmour@gmail.com>
2023-11-01 13:33:36 +01:00
Csaba Tuncsik b94b8b2eb0
fix(editor): Rename and move isObjectLiteral utility function (no-changelog) (#7565) 2023-10-31 21:28:01 +01:00
OlegIvaniv 774d521dbd
fix(editor): Keep NodeView component alive for TEMPLATE_IMPORT and WORKFLOW_ONBOARDING routes (no-changelog) (#7557)
Github issue / Community forum post (link here to close automatically):
2023-10-31 10:03:57 +01:00
Jan Oberhauser 655efeaf66
feat(core): Add optional Error-Output (#7460)
Add an additional optional error output to which all items get sent that
could not be processed.
![Screenshot from 2023-10-18
17-29-15](https://github.com/n8n-io/n8n/assets/6249596/e9732807-ab2b-4662-a5f6-bdff24f7ad55)

Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/error-connector-for-nodes/3094

https://community.n8n.io/t/error-handling-at-node-level-detect-node-execution-status/26791

---------

Co-authored-by: OlegIvaniv <me@olegivaniv.com>
2023-10-30 18:42:47 +01:00
Csaba Tuncsik 3b5e181e66
fix(editor): Fix NDV close after using input select (#7544) 2023-10-30 13:44:19 +01:00
Csaba Tuncsik 2853fcff73
fix(editor): Fix NDV unexpected re-render (#7532) 2023-10-30 09:22:08 +01:00
कारतोफ्फेलस्क्रिप्ट™ c05bc6728d
fix(editor): Handle localStorage being blocked/unavailable (#7348) 2023-10-27 15:51:20 +02:00
कारतोफ्फेलस्क्रिप्ट™ 35bb42c1b9
refactor(core): Avoid passing around static state like default timezone (no-changelog) (#7221) 2023-10-27 14:17:52 +02:00
Iván Ovejero 62c096710f
refactor: Run lintfix (no-changelog) (#7537)
- Fix autofixable violations
- Remove unused directives
- Allow for PascalCased variables - needed for dynamically imported or
assigned classes, decorators, routers, etc.
2023-10-27 14:15:02 +02:00
Alex Grozav 1c4ac02db5
fix(editor): Fix executions sidebar height (no-changelog) (#6909)
<img width="1397" alt="image"
src="https://github.com/n8n-io/n8n/assets/6179477/cb142085-3b21-4e18-9f0d-92c5c4018578">
2023-10-27 14:32:23 +03:00
Csaba Tuncsik 12a89e6d14
fix(editor): Fix route component caching, incorrect use of array reduce method and enable WF history feature (#7434)
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2023-10-26 20:47:42 +02:00
Iván Ovejero ae616f146b
fix(editor): Do not truncate form inputs (#7528) 2023-10-26 17:54:51 +02:00
Jan Oberhauser df89685e15
fix(editor): Fixes the issue that Switch Node can not be created (#7516)
Fixes the issue that currently no Switch-Node can be created by for
example pressing + on the parent node or via tab when another node is
already selected.

Github issue / Community forum post (link here to close automatically):

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-10-26 09:46:26 +02:00
कारतोफ्फेलस्क्रिप्ट™ 05586a900d
refactor(core): Make Logger a service (no-changelog) (#7494) 2023-10-25 16:35:22 +02:00
OlegIvaniv 2febc61ec9
feat(Switch Node): Add support for infinite Switch outputs (#7499)
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/add-more-outputs-to-switch-node/3864

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2023-10-25 14:34:47 +02:00
Mutasem Aldmour c47d27dd6d
feat(editor): Add PH tracking to event (#7511)
Github issue / Community forum post (link here to close automatically):
2023-10-25 12:18:19 +02:00
OlegIvaniv 450e0cc66a
fix(editor): Fix connections disappearing after reactivating canvas and renaming a node (#7483)
Github issue / Community forum post (link here to close automatically):
-
https://community.n8n.io/t/1-11-1-possible-bug-all-nodes-randomly-losing-their-connectors/31856
- https://community.n8n.io/t/lines-between-nodes-have-disappeared/31846

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2023-10-23 10:07:33 +02:00
कारतोफ्फेलस्क्रिप्ट™ 3c0a166f7f
fix(editor): Allow importing the same workflow multiple times (#7458)
Fixes #7457
2023-10-20 13:58:30 +02:00
Elias Meire ac814a9c61
feat(Facebook Lead Ads Trigger Node): Add Facebook Lead Ads Trigger Node (#7113)
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/facebook-lead-ads-integration/4590/19

---------

Co-authored-by: Marcus <marcus@n8n.io>
2023-10-20 13:43:55 +02:00
कारतोफ्फेलस्क्रिप्ट™ 91dfc4d513
feat(core): Update LLM applications building support (no-changelog) (#7418)
extracted out of #7336

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Deborah <deborah@starfallprojects.co.uk>
Co-authored-by: Jesper Bylund <mail@jesperbylund.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
2023-10-20 10:52:56 +02:00
Milorad FIlipović bc473655fb
fix(editor): Fix canvas selection breaking after interacting with node actions (#7466)
Sometimes canvas selection stops working after users interact with node
action buttons (for example if node is moved by dragging one of the
buttons)
NOTE: Ticket number in the branch name is wrong, this fixes ADO-1226
2023-10-20 09:26:40 +02:00
Csaba Tuncsik c7c8048430
feat(editor): Workflow history [WIP] - Remove pinned data from workflow history version preview (no-changelog) (#7406) 2023-10-19 14:38:00 +02:00
Csaba Tuncsik 82129694c6
feat(editor): Workflow history [WIP] - Add cloned workflow link to success toast message (no-changelog) (#7405) 2023-10-19 14:02:59 +02:00
Michael Kret 3ddc176dfa
feat(n8n Form Trigger Node): New node (#7130)
Github issue / Community forum post (link here to close automatically):

based on https://github.com/joffcom/n8n-nodes-form-trigger

---------

Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
2023-10-17 07:09:30 +03:00
Inga c599006b91
fix(editor): Open only one tab with plans page (#7377)
## Issue

In community edition, clicking on "View plans" button on "Settings" ->
"Usage and plan" page (e.g. http://127.0.0.1:5678/settings/usage) opens
two new tabs with n8n pricing (one of them with UTM tracking, another
without).
This was introduced in #6317 , when click handler of "View plans" link
container [started
calling](https://github.com/n8n-io/n8n/pull/6317/files#diff-0bf26afac8a06e03b3d39d0668f22408859355b585a9ab420800c125e33f0691R109)
`uiStore.goToUpgrade(...)` which opens n8n pricing in a new tab, while
browser opens another tab for the link URL.

The simplest fix, implemented in this PR, is to prevent default event
handling (so that, after `onViewPlans` is called, browser will not
attempt to process the click additionally as clicking on the link),
similarly to how it is prevented on some other pages. It only solves the
immediate problem of browser opening two new tabs on clicking "View
plans".

Note that **I didn't implement any tests for the changed behavior**,
because it was not covered by tests before, and I couldn't quite figure
out how to cover it now within the existing test approach (considering
that testing the fact that only one new tab is open will likely require
to write entirely new tests relying on puppeteer; as far as I can see,
no existing `editor-ui` tests are doing anything like that). I'll gladly
implement tests for the new behavior if you tell me how you would like
them to look.
The existing tests for `editor-ui` still pass; I didn't run tests for
other subpackages (see "additional contribution notes" below).

## Additional notes on the issue.

I'm not sure that the change in this PR is the correct long-term
solution for the issue, because the URLs for these two methods (custom
click handler for link container and default link handling) are slightly
different:
* Custom click handler calls `useTelemetryStore().track('User clicked
upgrade CTA', ...)`; then calls `sendUsageTelemetry('view_plans')` (it
feels weird that two calls to telemetry are made); then opens new tab
for `https://n8n.io/pricing?utm_campaign=open&source=usage_page` (note
that prior to #7316 the second call to telemetry was done after the new
tab is opened, not before);
* Link itself refers to another page, with slightly different tracking
parameters:
`https://subscription.n8n.io/?instanceid=[REDACTED]&version=1.10.0&callback=http%3A%2F%2F127.0.0.1%3A5678%2Fsettings%2Fusage&source=usage_page`;
but this page redirects to `https://n8n.io/pricing/`.
It is not clear which one of the two is the right way of doing things.
Although `goToUpgrade` is called in 20 places throughout `editor-ui`,
while `viewPlansUrl`, as far as I can see, is used for this button only.

Additionally, since Settings pages don't work without JS anyway, I can
only think of two separate scenarios where any tab would be opened:
* Left-clicking the link (or Ctrl-clicking, or pressing Space or Enter
when the link is focused, or tapping): previously, both custom click
handler was executed and link's `href` was opened; in this PR, only
custom click handler is executed (similarly to how it is done in the
other places where `goToUpgrade` is called);
* Right-clicking (or long tapping, or opening context menu in any other
way) and selecting "open link in new tab" (or similar): opens a new tab
for URL from the `href` attribute (and does not send any telemetry at
all).

I'd say that the better permanent solution would probably be to get rid
of one of these methods entirely, and only rely on another in all cases
(for me, as an outside contributor, the preferred way would be for
custom click handler to only send telemetry, while letting my browser
handle the actual navigation). However, that would be a large change,
much more than one line in this PR.
Additionally, other similar places where `goToUpgrade` is currently
called (directly or indirectly) would also need to be adapted for this
change.

## Additional contribution notes

As a first-time contributor, I've encountered several things I didn't
expect; I'm not sure if they should be expected or are issues:

1. Tests for the entire monorepo consume a lot of RAM; 20GB free RAM was
not enough, so I couldn't run tests for the entire monorepo and had to
only run them for `packages/editor-ui`;
2. Linting is very slow; `pnpm lint` in `packages/editor-ui` takes ten
minutes to complete;
3. It seems that types are not checked. Code OSS highlights numerous
errors in code files: for example, `'debug'` is incompatible with
`CloudUpdateLinkSourceType` expected by `goToUpgrade` here:
3e7a4d3b2c/packages/editor-ui/src/composables/useExecutionDebugging.ts (L128)
However, I'm not getting any errors during build. There is a `typecheck`
script defined in `package.json`, but `pnpm typecheck` fails with:
    ```
    n8n-toy-demo:~/projects/n8n/packages/editor-ui$ pnpm typecheck

> n8n-editor-ui@1.10.0 typecheck
/home/inga/projects/n8n/packages/editor-ui
    > vue-tsc --emitDeclarationOnly

error TS5069: Option 'emitDeclarationOnly' cannot be specified without
specifying
    option 'declaration' or option 'composite'.


    Found 1 error.

     ELIFECYCLE  Command failed with exit code 1.
    n8n-toy-demo:~/projects/n8n/packages/editor-ui$ 
    ```
Replacing `--emitDeclarationsOnly` with `--noEmit` in `package.json`
unblocks typechecking and results in seemingly, at first glance, correct
"Found 1924 errors in 306 files" (at least several of the reported
errors that I've checked seem to be correct).
But maybe I'm missing something and there are not in fact two thousands
type errors in `editor-ui`?
2023-10-13 14:14:26 +02:00
Milorad FIlipović 367255ab2c
fix(editor): Fix remote options fetching on every keystroke (#7320)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-12 14:18:35 +02:00
कारतोफ्फेलस्क्रिप्ट™ 2b075bfc2d
fix(editor): Sanitize HTML binary-data before rendering in the UI (#7400) 2023-10-11 12:09:19 +02:00
Csaba Tuncsik 53c3379282
feat(editor): Workflow history [WIP]- Create workflow history item preview component (no-changelog) (#7378)
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
2023-10-11 10:13:04 +02:00
Omar Ajoue 7ed466db7f
fix(editor): Make workflow history button available only for dev builds (#7392)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Csaba Tuncsik <csaba.tuncsik@gmail.com>
2023-10-10 12:15:18 +02:00
Elias Meire 7e06b31a5f
fix(editor): Implement canvas zoom UX improvements (#7376)
- Fix pinch-to-zoom
- Support command + scroll to zoom
- Improve accuracy of zooming (scroll more = zoom more)
- Zoom limits
- Zoom relative to mouse position
2023-10-10 11:07:58 +02:00
Iván Ovejero 86e7ec796a
fix(editor): Fix completions for .json on quoted node name in Code node (#7382)
To reproduce, request completion with `$input.first().json.` from a node
with a quote in the name, e.g. `When clicking "Execute Workflow"`.

Context:
https://linear.app/n8n/issue/PAY-635/autocomplete-only-supports-3-levels-of-children#comment-234f738b
2023-10-10 10:05:41 +02:00
कारतोफ्फेलस्क्रिप्ट™ 8187be1b7d
feat(editor): Make PDF and Audio binary-data viewable in the UI (#7367)
fixes #7361
2023-10-09 17:43:57 +02:00
कारतोफ्फेलस्क्रिप्ट™ c5ee06cc61
refactor(core): Refactor nodes loading (no-changelog) (#7283)
fixes PAY-605
2023-10-09 16:09:23 +02:00
Csaba Tuncsik b3247e5935
feat(editor): Workflow history [WIP]- Add restore and clone into new workflow actions (no-changelog) (#7359) 2023-10-09 13:50:08 +02:00
Ricardo Espinoza a43f720658
fix: Add role check for upgrade path (#7374)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Mutasem <mutdmour@gmail.com>
2023-10-09 11:18:08 +02:00
Iván Ovejero 3fa27647d8
fix(editor): Remove excess margin below run data editor (#7372)
https://n8nio.slack.com/archives/C03594NKD7W/p1696605203051309

<img width="581" alt="Capture 2023-10-06 at 17 48 51@2x"
src="https://github.com/n8n-io/n8n/assets/44588767/c00ecd2e-1f6b-4041-9854-1b6012513a5d">
2023-10-09 09:20:37 +02:00
Iván Ovejero 34bda535e6
refactor(core): Create controller for binary data (no-changelog) (#7363)
This PR adds a controller for binary data + integration tests.
2023-10-06 16:21:13 +02:00
Elias Meire 7b773cc5cc
feat(Loop Over Items (Split in Batches) Node): Automatically add a loop + rename (#7228)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Michael Kret <michael.k@radency.com>
2023-10-06 15:31:18 +02:00
Ricardo Espinoza 1dfa052301
feat(editor): Support autologin for upgrade path (#7316)
Github issue / Community forum post (link here to close automatically):
2023-10-06 13:16:27 +02:00
Csaba Tuncsik cd12a5990a
feat(editor): Workflow history [WIP]- Improve switching between workflow history and editor (no-changelog) (#7353) 2023-10-05 15:49:59 +02:00
Iván Ovejero 1a661e6d00
feat(core): Integrate object store as binary data manager (#7253)
Depends on: #7225 | Story:
[PAY-848](https://linear.app/n8n/issue/PAY-848)

This PR integrates the object store service as a new binary data manager
for Enterprise.
2023-10-05 15:25:17 +02:00
Tomi Turtiainen afbf0c3d5e
fix(editor): Use display option's @Version specifier (#7351)
Nodes can have properties that have a displayOption which specifies a
version
for which node versions that property applies to. We should take this
into
account when forming the action types for a Node in the NodeList.

For example Notion node has 2 version which have different Page
operations.
2023-10-05 15:57:47 +03:00
Milorad FIlipović 7ebf8f327a
fix(editor): Fix disappearing NDV header in code nodes (#7290)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-05 12:31:52 +02:00
Csaba Tuncsik 4bc9164032
feat(editor): Workflow history [WIP]- Add workflow history opening button to main header component (no-changelog) (#7310)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-10-04 16:45:18 +02:00
OlegIvaniv b59b9086d7
fix(editor): Fix canvas endpoint snapping when dragging connection (#7346)
Github issue / Community forum post (link here to close automatically):

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2023-10-04 16:10:42 +02:00
Elias Meire ddc26c21bd
fix(editor): Fix RLC not loading when an expression can't resolve (#7295)
Also fixes label (list -> From list)

Github issue / Community forum post (link here to close automatically):
2023-10-04 16:01:44 +02:00