Alex Grozav
885dba6f12
refactor: Migrate externalHooks mixin to composables (no-changelog) ( #7930 )
...
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
As part of NodeView refactor, this PR migrates all externalHooks calls
to `useExternalHooks` composable.
#### How to test the change:
1. Run using env `export N8N_DEPLOYMENT_TYPE=cloud`
2. Hooks should still run as expected
## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers
https://linear.app/n8n/issue/N8N-6349/externalhooks
## 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 ))
- [x] [Docs updated](https://github.com/n8n-io/n8n-docs ) or follow-up
ticket created.
- [x] 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 ).
2023-12-06 17:28:09 +02:00
Alex Grozav
6b678b5b9e
fix(editor): Use hasOwnProperty to check for canvas key on connector (no-changelog) ( #7921 )
...
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
Fixes `key in object` check by replacing with `hasOwnProperty`.
## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers
https://linear.app/n8n/issue/N8N-7077/typeerror-cannot-use-in-operator-to-search-for-canvas-in-null
## 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 ))
- [x] [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 ).
2023-12-05 10:34:25 +02:00
Tomi Turtiainen
6448d4c8a5
fix(editor): Tune credential template layout (no-changelog) ( #7903 )
...
Add max width to the content and scale it based on that
2023-12-04 15:27:38 +02:00
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
Csaba Tuncsik
132d691cbf
fix(editor): Replace isInstanceOwner checks with scopes where applicable ( #7858 )
...
Co-authored-by: Alex Grozav <alex@grozav.com>
2023-12-04 10:02:54 +01:00
Tomi Turtiainen
a78729b12f
feat(editor): Allow partial template credential setup (no-changelog) ( #7899 )
...
Enable continue button even if all credentials havent been setup
2023-12-04 09:30:34 +02:00
Milorad FIlipović
a8049a0def
perf(editor): Improve node rendering performance when opening large workflows ( #7904 )
...
## 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 ).
2023-12-01 17:50:11 +01:00
Tomi Turtiainen
38e4b56280
fix(editor): Tune styles of template credential setup (no-changelog) ( #7898 )
2023-12-01 16:00:48 +02:00
Tomi Turtiainen
f8e93b3852
fix: Fix credential setup for templates with unnamed credentials (no-changelog) ( #7891 )
...
The template credentials were matched before solely based on the
credential name on the template. This fixes the matching to use both
credential type name and credential name.
2023-12-01 14:56:51 +02:00
Tomi Turtiainen
fe3417a615
feat(editor): Select credentials in template setup if theres only one ( #7879 )
...
Automatically select credentials in the template credential setup if
there's only one available.
NOTE! This feature is still behind a feature flag. To test, set:
```js
localStorage.setItem('template-credentials-setup', 'true')
```
https://github.com/n8n-io/n8n/assets/10324676/edc1f586-214f-4c37-b7ec-dd1786433dc1
2023-11-30 15:46:14 +02:00
Tomi Turtiainen
627ddb91fb
feat(editor): Open template credential setup from collection ( #7882 )
...
Open the template credential setup when using a template from the
collection view.
NOTE! This feature is still behind a feature flag. To test, set:
```js
localStorage.setItem('template-credentials-setup', 'true')
```
https://github.com/n8n-io/n8n/assets/10324676/46ccec7c-5a44-429e-99ad-1c10640e99e5
2023-11-30 14:09:12 +02:00
Milorad FIlipović
8b99384367
fix(editor): Fix cloud plan data loading on instance ( #7841 )
...
Moving cloud hooks and store initialization logic after users are
authenticated. This will ensure user local account is available when
their cloud plan data is being fetched.
This PR also adds the following error handling improvements:
- Added error handling to the same initialization logic
- Fixed empty `catch` clauses inside the cloud store which caused it to
silently fail and complicated debugging of this bug
2023-11-29 10:51:15 +01:00
Alex Grozav
72852a60eb
feat(editor): Replace middleware for Role checks with Scope checks ( #7847 )
2023-11-29 10:35:40 +02:00
Csaba Tuncsik
d4970410e1
fix(editor): Add telemetry to workflow history ( #7811 )
2023-11-29 09:09:21 +01:00
Milorad FIlipović
c0633987bf
fix(editor): Fix mouse position in workflow previews ( #7853 )
...
This PR fixes mouse position detection in workflow previews (executions
preview and workflow history view):
https://github.com/n8n-io/n8n/assets/2598782/83237b76-b099-4560-9c47-a963f0848297
**Cause**:
We were setting `isDemo` state in canvas store only when the `NodeView`
component is activated, which never happens for `NodeView` instances
that are kept alive (above mentioned workflow previews)
**Fix**:
This workflow updates store state also when the `NodeView` component is
mounted.
2023-11-28 19:02:19 +01:00
Csaba Tuncsik
685ffd7413
fix(editor): Suppress dev server websocket messages in workflow view ( #7808 )
2023-11-28 17:30:44 +01:00
कारतोफ्फेलस्क्रिप्ट™
117962d473
feat(core): Update LLM applications building support (no-changelog) ( #7710 )
...
extracted out of #7336
---------
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
2023-11-28 16:47:28 +01:00
कारतोफ्फेलस्क्रिप्ट™
4a89504d54
fix(editor): Fix push connection on WorkerList and CommunityNodes pages (no-changelog) ( #7851 )
2023-11-28 16:45:50 +01:00
Csaba Tuncsik
e87e928144
fix(editor): Remove ability for users to select admin role in the UI (no-changelog) ( #7850 )
2023-11-28 15:11:02 +01:00
कारतोफ्फेलस्क्रिप्ट™
753cbc1e96
refactor(editor): Delete some barrel files and reduce circular dependencies (no-changelog) ( #7838 )
2023-11-28 12:15:08 +01:00
Michael Kret
df691fba0c
fix(core): Node version in the user added node to workflow canvas event (no-changelog) ( #7814 )
...
Github issue / Community forum post (link here to close automatically):
2023-11-27 19:50:20 +02:00
Tomi Turtiainen
ac744d6702
test: Ado 1296 add e2e tests ( #7792 )
...
Adds e2e tests for the template credential setup.
2023-11-27 17:18:10 +02:00
Tomi Turtiainen
aae45b043b
feat: Ado 1296 spike credential setup in templates ( #7786 )
...
- Add a 'Setup template credentials' view to setup the credentials of a
template before it is created
2023-11-27 16:30:28 +02:00
Csaba Tuncsik
137e23853f
feat: Add user role select to users list settings page ( #7796 )
...
![CleanShot 2023-11-27 at 07 20
58](https://github.com/n8n-io/n8n/assets/5410822/40be0505-32ee-48a7-923e-ba6b4dbce670 )
2023-11-27 13:38:03 +01:00
कारतोफ्फेलस्क्रिप्ट™
2807ddcd0d
fix(editor): Setup push connection in NodeView (no-changelog) ( #7821 )
2023-11-27 12:48:48 +01:00
कारतोफ्फेलस्क्रिप्ट™
d2c18c5727
fix(core): Use AbortController to notify nodes to abort execution ( #6141 )
...
and add support for cancelling ongoing operations inside a node.
---------
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-11-24 18:17:06 +01:00
Alex Grozav
67a88914f2
feat(editor): Add routing middleware, permission checks, RBAC store, RBAC component ( #7702 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2023-11-23 13:22:47 +02: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
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
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
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
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 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
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
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
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
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
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
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
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
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