कारतोफ्फेलस्क्रिप्ट™
f0fc5b16d3
ci(core): Load config schema after process.env has been overwritten (no-changelog) ( #7550 )
2023-11-07 15:58:28 +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
Iván Ovejero
f748de9567
fix(core): Ensure pruning starts only after migrations have completed ( #7626 )
...
https://linear.app/n8n/issue/PAY-986/bug-execution-pruning-timer-is-started-before-the-database-is-ready
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-07 13:56:01 +01:00
Iván Ovejero
c857e42677
feat(core): Coordinate workflow activation in multiple main scenario in internal API ( #7566 )
...
Story: https://linear.app/n8n/issue/PAY-926
This PR coordinates workflow activation on instance startup and on
leadership change in multiple main scenario in the internal API. Part 3
on manual workflow activation and deactivation will be a separate PR.
### Part 1: Instance startup
In multi-main scenario, on starting an instance...
- [x] If the instance is the leader, it should add webhooks, triggers
and pollers.
- [x] If the instance is the follower, it should not add webhooks,
triggers or pollers.
- [x] Unit tests.
### Part 2: Leadership change
In multi-main scenario, if the main instance leader dies…
- [x] The new main instance leader must activate all trigger- and
poller-based workflows, excluding webhook-based workflows.
- [x] The old main instance leader must deactivate all trigger- and
poller-based workflows, excluding webhook-based workflows.
- [x] Unit tests.
To test, start two instances and check behavior on startup and
leadership change:
```
EXECUTIONS_MODE=queue N8N_LEADER_SELECTION_ENABLED=true N8N_LICENSE_TENANT_ID=... N8N_LICENSE_ACTIVATION_KEY=... N8N_LOG_LEVEL=debug npm run start
EXECUTIONS_MODE=queue N8N_LEADER_SELECTION_ENABLED=true N8N_LICENSE_TENANT_ID=... N8N_LICENSE_ACTIVATION_KEY=... N8N_LOG_LEVEL=debug N8N_PORT=5679 npm run start
```
2023-11-07 13:48:48 +01:00
Iván Ovejero
a994ba5e8d
fix(core): Ensure init
before checking leader or follower in multi-main scenario ( #7621 )
...
This PR ensures `MultiMainInstancePublisher` is initialized before
checking if the instance is leader or follower. Followers skip license
init, license check, and pruning start and stop.
2023-11-06 12:03:35 +01: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
कारतोफ्फेलस्क्रिप्ट™
acec9bad71
refactor(core): Convert OAuth1/OAuth2 routes to decorated controller classes (no-changelog) ( #5973 )
2023-11-03 17:20:54 +01:00
Tomi Turtiainen
2aa7f6375a
fix(core): Decrease reset password token expire time ( #7598 )
...
Decrease the expiration time from 1 day to 20 minutes
Github issue / Community forum post (link here to close automatically):
2023-11-03 13:32:08 +02:00
Iván Ovejero
1c77d6597f
refactor(core): Ensure only leader handles licensing in multi-main scenario ( #7558 )
...
https://linear.app/n8n/issue/PAY-953/ensure-only-main-instance-leader-handles-licensing
2023-11-02 14:16:22 +01:00
Tomi Turtiainen
7dac9ab82c
feat(core): Log executed migrations with info level ( #7586 )
...
To help debugging possible issues in startup and migrations, log the
executed migrations with log level 'info', instead of 'debug'.
Github issue / Community forum post (link here to close automatically):
2023-11-02 14:24:04 +02:00
Iván Ovejero
921d213ae5
refactor(core): Create pruning service (no-changelog) ( #7564 )
...
https://linear.app/n8n/issue/PAY-954/ensure-only-main-instance-leader-handles-pruning
2023-11-02 12:24:25 +01:00
Jon
479f90231d
fix(core): Fix issue that prevents owner logging in when using ldap ( #7408 )
...
This PR prioritises the internal email account over LDAP for the Owner.
---------
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2023-11-01 23:02:49 -04:00
Omar Ajoue
437c95e84e
fix(core): Permission check for subworkflow properly checking for workflow settings ( #7576 )
...
The `sharing` related code is legacy that was not removed. Subworkflow
execution should check workflow settings alone, and this is now
reflected in the code.
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/bug-when-using-the-execute-workflow-node-when-workflow-is-shared/32207
---------
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-11-01 18:31:34 +01:00
कारतोफ्फेलस्क्रिप्ट™
9bdb85c4ce
fix(core): Prevent executions from becoming forever running ( #7569 )
...
Fixes CP-867
Possibly also fixes PAY-323 and PAY-412
2023-11-01 13:51:13 +01:00
Michael Auerswald
b350568505
fix(core): Fix data decryption on credentials import ( #7560 )
...
Due to a change, during the credentials import command, the core's
Credential object is being called through its prototype. This caused the
Credential's cipher variable to not be set, thus no cipher service being
available during import. This fix catches this edge case and provides a
fix.
2023-10-31 13:15:09 +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
Iván Ovejero
442c73e63b
feat(core): Set up leader selection for multiple main instances ( #7527 )
...
https://linear.app/n8n/issue/PAY-933/set-up-leader-selection-for-multiple-main-instances
- [x] Set up new envs
- [x] Add config and license checks
- [x] Implement `MultiMainInstancePublisher`
- [x] Expand `RedisServicePubSubPublisher` to support
`MultiMainInstancePublisher`
- [x] Init `MultiMainInstancePublisher` on startup and destroy on
shutdown
- [x] Add to sandbox plans
- [x] Test manually
Note: This is only for setup - coordinating in reaction to leadership
changes will come in later PRs.
2023-10-30 16:22:32 +01:00
OlegIvaniv
3ab04e4f9e
ci(core): Extract local e2e run script (no-changelog) ( #7551 )
...
Github issue / Community forum post (link here to close automatically):
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-30 11:18:51 +01:00
Iván Ovejero
233683ce1a
refactor(core): Remove webhook deregistration on shutdown flag ( #7543 )
...
Removal missing from [original
PR](https://github.com/n8n-io/n8n/pull/7515 ) after initial revert.
2023-10-27 18:48:21 +02:00
Iván Ovejero
6796ba75a1
refactor(core): Stop reporting to Sentry stopping execution with wrong status (no-changelog) ( #7541 )
...
https://n8nio.sentry.io/issues/4257040218/
2023-10-27 16:14:01 +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
Omar Ajoue
87996a1fcf
refactor(core): Stop reporting non-error to sentry (issue 4229454473) (no-changelog) ( #7525 )
...
This PR aims to stop reporting issues such as [this
one](https://n8nio.sentry.io/issues/4229454473/events/42b96bfd6a334c15a84499e981cf90eb/?project=4503924908883968 ).
Github issue / Community forum post (link here to close automatically):
2023-10-27 09:25:07 +02:00
Omar Ajoue
3d95b243e9
feat(core): Make queue mode settings configurable ( #7526 )
...
This PR allows users to configure the settings to Bull, possibly
reducing the errors with `maxStalledCount` and other issues, that
usually happen either when a worker crashes or when the event loop is
super busy. Increasing the lease time and the `maxStalledCount` settings
might improve UX.
Github issue / Community forum post (link here to close automatically):
2023-10-26 17:30:16 +02:00
Iván Ovejero
ae8c7a635e
refactor(core)!: Remove webhook deregistration at startup and shutdown ( #7515 )
...
https://linear.app/n8n/issue/PAY-932/deprecate-flag-to-skip-webhook-deregistration-on-shutdown
2023-10-26 14:37:54 +02:00
Iván Ovejero
5477e3fb45
refactor(core): Move execution save settings into lifecycle function (no-changelog) ( #7370 )
...
Move the handling of execution save settings into a tested lifecycle
function as discussed with Omar
2023-10-26 14:35:38 +02:00
कारतोफ्फेलस्क्रिप्ट™
1055bd3762
fix(core): Handle missing resultData in runData ( #7523 )
2023-10-26 13:15:19 +02:00
Iván Ovejero
742c8a8534
fix(core): Ensure execution deletion in worker lifecycle hook ( #7481 )
...
Reported by customer
[here](https://n8nio.slack.com/archives/C05PUALKZHD/p1697446945481249?thread_ts=1697196557.638169&cid=C05PUALKZHD ),
apparently a very old long-standing bug for queue mode. Please review
closely as I am not familiar with queue mode.
2023-10-25 19:13:06 +02:00
कारतोफ्फेलस्क्रिप्ट™
05586a900d
refactor(core): Make Logger a service (no-changelog) ( #7494 )
2023-10-25 16:35:22 +02:00
कारतोफ्फेलस्क्रिप्ट™
0643487403
ci: Fix oclif manifest generation
2023-10-25 14:51:10 +02:00
कारतोफ्फेलस्क्रिप्ट™
6f45298d3d
fix(core): Ensure nodes post-processors run in the correct order ( #7500 )
...
Fixes #7497
2023-10-25 13:59:38 +02:00
Val
93cfabbeac
fix(core): Fix workflow activation with history and workflow history for EE (no-changelog) ( #7508 )
...
Github issue / Community forum post (link here to close automatically):
2023-10-25 11:07:11 +01:00
Iván Ovejero
671c95760b
refactor(core): Make executions pruning more resilient ( #7480 )
...
This PR converts the hard-deletion interval to a timeout:
- to prevent the interval from not being restored when hard deletion
throws, and
- to prevent a long-running hard deletion from leading to duplicate
deletions.
2023-10-24 16:16:45 +02:00
Iván Ovejero
78243edd18
refactor(core): Make pruning via lifecycle configuration in S3 mode mandatory ( #7482 )
...
Since we do not store which executions produced binary data, for pruning
on S3 we need to query for binary data items for each execution in order
to delete them. To minimize requests to S3, allow the user to skip
pruning requests when setting TTL at bucket level.
2023-10-24 10:37:02 +02:00
Cornelius Suermann
3ef771ea38
feat: Collect usage metrics on license renewal (no-changelog) ( #7486 )
2023-10-23 21:39:29 +02:00
Ricardo Espinoza
774fe202bf
fix(core): Fix frontend.settings
external hook execution ( #7496 )
2023-10-23 11:46:13 -04:00
Val
41236b7e08
fix: Save new version of the workflow instead of the previous (no-changelog) ( #7428 )
...
Github issue / Community forum post (link here to close automatically):
2023-10-23 16:30:36 +02:00
कारतोफ्फेलस्क्रिप्ट™
b6de910cbe
refactor(core): Abstract away InstanceSettings and encryptionKey
into injectable services (no-changelog) ( #7471 )
...
This change ensures that things like `encryptionKey` and `instanceId`
are always available directly where they are needed, instead of passing
them around throughout the code.
2023-10-23 13:39:35 +02:00
कारतोफ्फेलस्क्रिप्ट™
76c04815f7
fix(core): Reduce logging overhead for levels that do not output ( #7479 )
...
all current logging calls execute `callsites()` to figure out what code
tried to log. This happens even for logging methods that aren't supposed
to create any output. Under moderate load, this can take up quite a lot
of resources. This PR changes the logger to make all ignorable logging
methods a No-Op.
In a small benchmark with a simple webhook, with log-level set to
`warn`, and using `ab -c 50 -n 500
http://localhost:5678/webhook/testing `, these were the response times:
### Before
![Before](https://github.com/n8n-io/n8n/assets/196144/01680fd9-3d2a-4f7f-bb1c-5b03bd7d5bc3 )
### After
![After](https://github.com/n8n-io/n8n/assets/196144/ccacb20a-48ca-455a-a8cb-098c9c0e352e )
2023-10-20 18:26:33 +02:00
Iván Ovejero
0b42d1aa71
refactor(core): Limit soft-deletions to pruning only ( #7469 )
...
Based on customer feedback, we should limit soft deletions to pruning
only, to prevent executions from piling up in very high volume cases.
2023-10-20 15:02:47 +02:00
Jon
647372be27
feat(core): Add support for oauth based service accounts with UM SMTP ( #7311 )
...
This PR adds support for using OAuth based service accounts for the User
Management SMTP connection.
Tested using a Google Service Account.
2023-10-20 11:36:40 +01:00
Iván Ovejero
b50376cf52
refactor(core): Make executions pruning settings configurable ( #7468 )
2023-10-19 16:57:12 +02:00
कारतोफ्फेलस्क्रिप्ट™
55c6a1b0d3
fix(core): Do not return inviteAcceptUrl
in response if email was sent ( #7465 )
2023-10-19 13:58:06 +02:00
कारतोफ्फेलस्क्रिप्ट™
83762e051d
fix(core): Handle gzip and deflate compressed request payloads ( #7461 )
...
NODE-870
2023-10-18 21:52:15 +02:00
Iván Ovejero
40707fa692
feat(core): Make executions pruning interval configurable ( #7439 )
2023-10-18 17:01:57 +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
Michael Auerswald
e01b9e5ae1
fix(core): Prevent false stalled jobs in queue mode from displaying as errored ( #7435 )
...
This is related to an issue with how Bull handles stalled jobs, see
https://github.com/OptimalBits/bull/issues/1415 for reference.
CPU intensive workflows can in certain cases take a long while to finish
up, thereby blocking the thread and causing Bull queue to think the job
has stalled, even though it finished successfully. In these cases the
error handling could then overwrite the successful execution data with
the error message.
2023-10-13 16:07:08 +02:00
Iván Ovejero
c6ee1e30c0
refactor(core): Add binary data S3 to telemetry ( #7412 )
...
https://n8nio.slack.com/archives/C04B1GZ4T0U/p1697033523039729
2023-10-13 13:16:43 +02:00
Michael Auerswald
45f2ef373e
fix(core): Add check that queue is defined and remove cyclic dependency ( #7404 )
...
In a rare edge case an undefined queue could be returned - this should
not happen and now an error is thrown.
Also using the opportunity to remove a cyclic dependency from the Queue.
2023-10-13 11:53:59 +02:00
Omar Ajoue
46977a2aff
fix: Prevent undefined issues when restoring binary data ( #7419 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-10-12 16:41:51 +02:00
Iván Ovejero
54e900955a
refactor(core): Move frontend settings to service (no-changelog) ( #7396 )
...
Quick follow-up to https://github.com/n8n-io/n8n/pull/7283
2023-10-11 17:12:19 +02:00
Michael Auerswald
2f4d91b2cd
fix(core): Fix ignoring crashed executions without event msgs ( #7368 )
...
when the event logs do not contain messages for running executions, the
recovery/crash detection on startup would skip these. this PR fixes
that.
2023-10-11 14:22:43 +02:00
कारतोफ्फेलस्क्रिप्ट™
6479eb180f
fix(Webhook Node): Backward compatible form-data parsing for non-array files ( #7385 )
...
Fixes
https://community.n8n.io/t/possible-bug-0-added-to-end-of-files-sent-via-webhook/31169
2023-10-10 15:19:05 +02:00
Iván Ovejero
0847623f85
feat(core): Switch binary filesystem mode to nested path structure ( #7307 )
...
Depends on #7253 | Story:
[PAY-863](https://linear.app/n8n/issue/PAY-863/switch-binary-filesystem-mode-to-nested-path-structure )
This PR introduces `filesystem-v2` to store binary data in the
filesystem in the same format as `s3`.
2023-10-10 10:06:06 +02:00
कारतोफ्फेलस्क्रिप्ट™
c5ee06cc61
refactor(core): Refactor nodes loading (no-changelog) ( #7283 )
...
fixes PAY-605
2023-10-09 16:09:23 +02:00
कारतोफ्फेलस्क्रिप्ट™
789e1e7ed4
fix(core): Add an option to enable postgres ssl with default certs ( #6889 )
...
CP-809
2023-10-09 13:55:03 +02:00
Michael Auerswald
b8608cee6d
feat(core): Add Job Summary to Worker response ( #7360 )
2023-10-06 17:52:27 +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
Michael Auerswald
afa683a06f
refactor(core): Have one orchestration service per instance type ( #7303 )
...
webhook instances will not listen to either worker or event log messages
on the Redis pub/sub channel
2023-10-06 13:58:11 +02:00
Cornelius Suermann
f4d8c9eed5
feat: Improve error msg when attempting to redeem the same activation code multiple times (no-changelog) ( #7355 )
2023-10-05 17:08:30 +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
Omar Ajoue
5cfd87692f
refactor: Add log messages to debug worker init issues ( #7238 )
...
Github issue / Community forum post (link here to close automatically):
2023-10-05 13:37:25 +02:00
कारतोफ्फेलस्क्रिप्ट™
169175080a
ci: Fix WorkflowHistoryManager tests (no-changelog) ( #7356 )
...
[DB Tests](https://github.com/n8n-io/n8n/actions/runs/6418058186 )
2023-10-05 13:14:57 +02:00
Tomi Turtiainen
1b4848afcb
fix(core): Fix pruning of non-finished executions ( #7333 )
...
This fixes a bug in the pruning (soft-delete). The pruning was a bit too
aggressive, as it also pruned executions that weren't in an end state
yet. This only becomes an issue if there are long-running executions
(e.g. workflow with Wait node) or the prune parameters are set to keep
only a tiny number of executions.
2023-10-04 16:32:05 +03:00
Val
0adc533719
feat: Workflow History pruning and prune time settings ( #7343 )
...
Github issue / Community forum post (link here to close automatically):
2023-10-04 13:57:21 +01:00
कारतोफ्फेलस्क्रिप्ट™
101255d186
ci: Make builds release-channel aware. Add support for scheduled beta builds ( #7323 )
...
ADO-1121
---------
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2023-10-03 20:49:04 +02:00
कारतोफ्फेलस्क्रिप्ट™
00a4b8b0c6
feat(core): Add support for building LLM applications ( #7235 )
...
This extracts all core and editor changes from #7246 and #7137 , so that
we can get these changes merged first.
ADO-1120
[DB Tests](https://github.com/n8n-io/n8n/actions/runs/6379749011 )
[E2E Tests](https://github.com/n8n-io/n8n/actions/runs/6379751480 )
[Workflow Tests](https://github.com/n8n-io/n8n/actions/runs/6379752828 )
---------
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>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-02 17:33:43 +02:00
Iván Ovejero
1691223789
fix(core): Account for itemless case on restoring binary data ID ( #7305 )
...
https://linear.app/n8n/issue/PAY-862
2023-10-02 09:13:55 +02:00
Csaba Tuncsik
d1b6c7fd79
feat(editor): Workflow history [WIP]- create workflow history list component (no-changelog) ( #7186 )
...
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-09-29 17:48:36 +02:00
Omar Ajoue
ec0379378e
feat(core): Add plan name to telemetry (no-changelog) ( #7296 )
...
Github issue / Community forum post (link here to close automatically):
2023-09-29 15:41:32 +02:00
Michael Auerswald
53a7502d20
feat(core): Add secrets provider reload and refactor ( #7277 )
...
This PR adds a message for queue mode which triggers an external secrets
provider reload inside the workers if the configuration has changed on
the main instance.
It also refactors some of the message handler code to remove cyclic
dependencies, as well as remove unnecessary duplicate redis clients
inside services (thanks to no more cyclic deps)
2023-09-28 12:57:35 +02:00
Val
a80abad3af
fix(core): Change WorkflowHistory nodes/connections columns to be json ( #7282 )
...
Github issue / Community forum post (link here to close automatically):
2023-09-28 10:37:33 +02:00
कारतोफ्फेलस्क्रिप्ट™
0132514f8b
fix(core): Use consistent timezone-aware timestamps in postgres ( #6948 )
...
Fixes:
* ENG-51 / N8N-2490
* PAY-397
* #2178
* #2810
* #3855
Supersedes #2813
[DB
Tests](https://github.com/n8n-io/n8n/actions/runs/6000780146/job/16273596338 )
2023-09-27 18:44:47 +02:00
कारतोफ्फेलस्क्रिप्ट™
ebce6fe1b0
refactor(core): Skip sending webhook activation errors to Sentry (no-changelog) ( #7171 )
2023-09-27 16:57:52 +02:00
Val
0083a9e45d
feat(core): Initial workflow history API ( #7234 )
...
Github issue / Community forum post (link here to close automatically):
2023-09-27 15:22:39 +01:00
कारतोफ्फेलस्क्रिप्ट™
5b3121c415
fix(core): Make DNS resolution order configurable ( #7272 )
2023-09-27 12:19:18 +02:00
Iván Ovejero
fa845453bb
feat(core): Introduce object store service ( #7225 )
...
Depends on https://github.com/n8n-io/n8n/pull/7220 | Story:
[PAY-840](https://linear.app/n8n/issue/PAY-840/introduce-object-store-service-and-manager-for-binary-data )
This PR introduces an object store service for Enterprise edition. Note
that the service is tested but currently unused - it will be integrated
soon as a binary data manager, and later for execution data.
`amazonaws.com` in the host is temporarily hardcoded until we integrate
the service and test against AWS, Cloudflare and Backblaze, in the next
PR.
This is ready for review - the PR it depends on is approved and waiting
for CI.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-27 09:42:35 +02:00
Iván Ovejero
db01164ce1
perf(core): Skip unneeded calls on every pruning cycle ( #7260 )
2023-09-26 16:53:38 +02:00
Michael Auerswald
4b014286cf
fix(core): Make senderId required for all command messages ( #7252 )
...
all commands sent between main instance and workers need to contain a
server id to prevent senders from reacting to their own messages,
causing loops
this PR makes sure all sent messages contain a sender id by default as
part of constructing a sending redis client.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-26 13:58:06 +02:00
Iván Ovejero
77d6e3fc07
refactor(core): Include workflow ID in binary data writes (no-changelog) ( #7220 )
...
Depends on: https://github.com/n8n-io/n8n/pull/7195 | Story:
[PAY-837](https://linear.app/n8n/issue/PAY-837/implement-object-store-manager-for-binary-data )
This PR includes `workflowId` in binary data writes so that the S3
manager can support this filepath structure
`/workflows/{workflowId}/executions/{executionId}/binaryData/{binaryFilename}`
to easily delete binary data for workflows. Also all binary data service
and manager methods that take `workflowId` and `executionId` are made
consistent in arg order.
Note: `workflowId` is included in filesystem mode for compatibility with
the common interface, but `workflowId` will remain unused by filesystem
mode until we decide to restructure how this mode stores data.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-25 18:04:52 +02:00
Iván Ovejero
75541e91f2
refactor(core)!: Make getBinaryStream
async ( #7247 )
...
Story: [PAY-846](https://linear.app/n8n/issue/PAY-846 ) | Related:
https://github.com/n8n-io/n8n/pull/7225
For the S3 backend for external storage of binary data and execution
data, the `getAsStream` method in the binary data manager interface used
by FS and S3 will need to become async. This is a breaking change for
nodes-base.
2023-09-25 16:59:45 +02:00
Mutasem Aldmour
01e9340621
feat: Add onboarding flow ( #7212 )
...
Github issue / Community forum post (link here to close automatically):
2023-09-25 15:49:36 +02:00
Iván Ovejero
33991e92d0
fix(core): Fix missing execution ID in webhook-based workflow producing binary data ( #7244 )
...
Story: https://linear.app/n8n/issue/PAY-839
This is a longstanding bug, fixed now so that the S3 backend for binary
data can use execution IDs as part of the filename.
To reproduce:
1. Set up a workflow with a POST Webhook node that accepts binary data.
2. Activate the workflow and call it sending a binary file, e.g. `curl
-X POST -F "file=@/path/to/binary/file/test.jpg"
http://localhost:5678/webhook/uuid `
3. Check `~/.n8n/binaryData`. The binary data and metadata files will be
missing the execution ID, e.g. `11869055-83c4-4493-876a-9092c4708b9b`
instead of `39011869055-83c4-4493-876a-9092c4708b9b`.
2023-09-25 12:30:28 +02:00
Iván Ovejero
6d6e2488c6
refactor(core): Generalize binary data manager interface (no-changelog) ( #7164 )
...
Depends on: #7092 | Story:
[PAY-768](https://linear.app/n8n/issue/PAY-768 )
This PR:
- Generalizes the `IBinaryDataManager` interface.
- Adjusts `Filesystem.ts` to satisfy the interface.
- Sets up an S3 client stub to be filled in in the next PR.
- Turns `BinaryDataManager` into an injectable service.
- Adjusts the config schema and adds new validators.
Note that the PR looks large but all the main changes are in
`packages/core/src/binaryData`.
Out of scope:
- `BinaryDataManager` (now `BinaryDataService`) and `Filesystem.ts` (now
`fs.client.ts`) were slightly refactored for maintainability, but fully
overhauling them is **not** the focus of this PR, which is meant to
clear the way for the S3 implementation. Future improvements for these
two should include setting up a backwards-compatible dir structure that
makes it easier to locate binary data files to delete, removing
duplication, simplifying cloning methods, using integers for binary data
size instead of `prettyBytes()`, writing tests for existing binary data
logic, etc.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-22 17:22:12 +02:00
Val
bf74f09d69
feat(core): Add Tournament as the new default expression evaluator ( #6964 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-21 13:57:45 +01:00
Ricardo Espinoza
303bc8e71e
fix: Issue enforcing user limits on start plan ( #7188 )
2023-09-21 05:56:40 -04:00
Iván Ovejero
cd08c8e4c6
refactor(core): Implement soft-deletions for executions ( #7092 )
...
Based on #7065 | Story: https://linear.app/n8n/issue/PAY-771
n8n on filesystem mode marks binary data to delete on manual execution
deletion, on unsaved execution completion, and on every execution
pruning cycle. We later prune binary data in a separate cycle via these
marker files, based on the configured TTL. In the context of introducing
an S3 client to manage binary data, the filesystem mode's mark-and-prune
setup is too tightly coupled to the general binary data management
client interface.
This PR...
- Ensures the deletion of an execution causes the deletion of any binary
data associated to it. This does away with the need for binary data TTL
and simplifies the filesystem mode's mark-and-prune setup.
- Refactors all execution deletions (including pruning) to cause soft
deletions, hard-deletes soft-deleted executions based on the existing
pruning config, and adjusts execution endpoints to filter out
soft-deleted executions. This reduces DB load, and keeps binary data
around long enough for users to access it when building workflows with
unsaved executions.
- Moves all execution pruning work from an execution lifecycle hook to
`execution.repository.ts`. This keeps related logic in a single place.
- Removes all marking logic from the binary data manager. This
simplifies the interface that the S3 client will meet.
- Adds basic sanity-check tests to pruning logic and execution deletion.
Out of scope:
- Improving existing pruning logic.
- Improving existing execution repository logic.
- Adjusting dir structure for filesystem mode.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-20 15:21:42 +02:00
कारतोफ्फेलस्क्रिप्ट™
e9ce531210
fix(core): Resolve domains to IPv4 first ( #7206 )
2023-09-19 15:56:38 +02:00
Cornelius Suermann
050ba706d3
fix: Attempt license renewal when n8n starts (no-changelog) ( #7204 )
...
This change is needed so that the newly introduced floating licenses
will be attempted to be claimed when n8n starts up.
2023-09-19 12:10:23 +02:00
Michael Auerswald
9f797b96d8
feat(core): Add command to trigger license refresh on workers ( #7184 )
...
This PR implements the updated license SDK so that worker and webhook
instances do not auto-renew licenses any more.
Instead, they receive a `reloadLicense` command via the Redis client
that will fetch the updated license after it was saved on the main
instance
This also contains some refactoring with moving redis sub and pub
clients into the event bus directly, to prevent cyclic dependency
issues.
2023-09-17 11:05:54 +02:00
Csaba Tuncsik
240b2f075e
feat(editor): Add Workflow history route and base page (no-changelog) ( #7161 )
2023-09-15 13:17:04 +02:00
Michael Auerswald
fdac2c8572
feat(core): Add rsa option to ssh key generation ( #7154 )
...
PR adds a new field to the SourceControlPreferences as well as to the
POST parameters for the `source-control/preferences` and
`source-control/generate-key-pair` endpoints. Both now accept an
optional string parameter `keyGeneratorType` of `'ed25519' | 'rsa'`
Calling the `source-control/generate-key-pair` endpoint with the
parameter set, it will also update the stored preferences accordingly
(so that in the future new keys will use the same method)
By default ed25519 is being used. The default may be changed using a new
environment parameter:
`N8N_SOURCECONTROL_DEFAULT_SSH_KEY_TYPE` which can be `rsa` or `ed25519`
RSA keys are generated with a length of 4096 bytes.
2023-09-14 11:34:51 +02:00
Michael Auerswald
0c6169ee22
refactor(core): Move event and telemetry handling into workers in queue mode ( #7138 )
...
# Motivation
In Queue mode, finished executions would cause the main instance to
always pull all execution data from the database, unflatten it and then
use it to send out event log events and telemetry events, as well as
required returns to Respond to Webhook nodes etc.
This could cause OOM errors when the data was large, since it had to be
fully unpacked and transformed on the main instance’s side, using up a
lot of memory (and time).
This PR attempts to limit this behaviour to only happen in those
required cases where the data has to be forwarded to some waiting
webhook, for example.
# Changes
Execution data is only required in cases, where the active execution has
a `postExecutePromise` attached to it. These usually forward the data to
some other endpoint (e.g. a listening webhook connection).
By adding a helper `getPostExecutePromiseCount()`, we can decide that in
cases where there is nothing listening at all, there is no reason to
pull the data on the main instance.
Previously, there would always be postExecutePromises because the
telemetry events were called. Now, these have been moved into the
workers, which have been given the various InternalHooks calls to their
hook function arrays, so they themselves issue these telemetry and event
calls.
This results in all event log messages to now be logged on the worker’s
event log, as well as the worker’s eventbus being the one to send out
the events to destinations. The main event log does…pretty much nothing.
We are not logging executions on the main event log any more, because
this would require all events to be replicated 1:1 from the workers to
the main instance(s) (this IS possible and implemented, see the worker’s
`replicateToRedisEventLogFunction` - but it is not enabled to reduce the
amount of traffic over redis).
Partial events in the main log could confuse the recovery process and
would result in, ironically, the recovery corrupting the execution data
by considering them crashed.
# Refactor
I have also used the opportunity to reduce duplicate code and move some
of the hook functionality into
`packages/cli/src/executionLifecycleHooks/shared/sharedHookFunctions.ts`
in preparation for a future full refactor of the hooks
2023-09-14 07:58:15 +02:00
कारतोफ्फेलस्क्रिप्ट™
34ebffea45
refactor(core): Move workerCommandHandler into worker.ts (no-changelog) ( #7160 )
2023-09-13 14:51:41 +02:00
कारतोफ्फेलस्क्रिप्ट™
22edc03cab
fix(core): Ignore missing user-agent on bot check (no-changelog) ( #7153 )
2023-09-12 19:57:25 +02:00
कारतोफ्फेलस्क्रिप्ट™
1d1a022def
feat(core): Add an option to enable WAL mode for SQLite ( #7118 )
...
https://www.sqlite.org/wal.html
2023-09-07 15:58:48 +02:00
Michael Auerswald
7b49cf2a2c
feat(core): Add commands to workers to respond with current state ( #7029 )
...
This PR adds new endpoints to the REST API:
`/orchestration/worker/status` and `/orchestration/worker/id`
Currently these just trigger the return of status / ids from the workers
via the redis back channel, this still needs to be handled and passed
through to the frontend.
It also adds the eventbus to each worker, and triggers a reload of those
eventbus instances when the configuration changes on the main instances.
2023-09-07 14:44:19 +02:00
कारतोफ्फेलस्क्रिप्ट™
273d0913fe
feat(HTTP Request Node): Determine binary file name from content-disposition headers ( #7032 )
...
Fixes:
https://community.n8n.io/t/http-request-node-read-filename-from-content-disposition-header-when-downloading-files/13453
https://community.n8n.io/t/read-filename-from-content-disposition-header-when-downloading-files/22192
2023-09-06 12:38:37 +02:00
Omar Ajoue
25dc4d7825
feat: Add workflow history repository files (no-changelog) ( #7071 )
2023-09-06 12:23:40 +02:00
कारतोफ्फेलस्क्रिप्ट™
a910757cc5
fix(core): Add support for in-transit encryption (TLS) on Redis connections ( #7047 )
...
Fixes https://community.n8n.io/t/upgrade-from-1-1-1-to-1-2-0/30148
2023-09-05 18:18:50 +02:00
कारतोफ्फेलस्क्रिप्ट™
cc37a5046a
fix(core): Lazy-load express-openapi-validator to reduce initial memory spike (no-changelog) ( #7111 )
2023-09-05 14:42:14 +02:00
Iván Ovejero
0036a4726c
refactor(core): Move static data handling to workflow service (no-changelog) ( #7104 )
2023-09-05 13:42:31 +02:00
Michael Auerswald
011ee2e04b
fix(core): Split event bus controller into community and ee ( #7107 )
2023-09-05 13:32:09 +02:00
Iván Ovejero
b7320f5322
refactor(core): Set up ExecutionMetadata
service (no-changelog) ( #7103 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-05 09:13:30 +02:00
कारतोफ्फेलस्क्रिप्ट™
cffda65b33
refactor(core): Add an option to use simple recovery process by default ( #7097 )
2023-09-04 19:58:36 +02:00
कारतोफ्फेलस्क्रिप्ट™
ee36f2d20b
refactor(core): Disable slow-query log by default (no-changelog) ( #7096 )
...
Fixes:
https://community.n8n.io/t/stop-logging-full-query-for-execution/29732
[Slack
Conversation](https://n8nio.slack.com/archives/C035KBDA917/p1693218994681939 )
2023-09-04 17:59:08 +02:00
कारतोफ्फेलस्क्रिप्ट™
f286bd33c1
ci: Fix linting (no-changelog) ( #7099 )
2023-09-04 17:07:11 +02:00
Iván Ovejero
8a28e98ec8
fix(core): Disallow orphan executions ( #7069 )
...
Until https://github.com/n8n-io/n8n/pull/7061 we had an edge case where
a manual unsaved workflow when run creates an orphan execution, i.e. a
saved execution not pointing to any workflow. This execution is only
ever visible to the instance owner (even if triggered by a member), and
is wrongly stored as unfinished and crashed. This PR enforces that the
DB disallows any such executions from making it into the DB.
This is needed also for the S3 client, which will include the
`workflowId` in the path-like filename.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-04 16:57:10 +02:00
Cornelius Suermann
e26553f198
feat(core): Add support for floating licenses ( #7090 )
...
This PR updates the license-sdk to v2.5.0 which introduces optional
support for floating licenses.
2023-09-04 15:56:20 +02:00
Iván Ovejero
fd78021b68
feat(core): Add list query middleware to credentials ( #7041 )
2023-09-04 15:00:25 +02:00
Iván Ovejero
413e0bccb4
feat(core): Migration for soft deletions for executions ( #7088 )
...
Based on https://github.com/n8n-io/n8n/pull/7065
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-04 14:34:03 +02:00
Iván Ovejero
442b910ffb
refactor(core): Consolidate CredentialsService.getMany()
(no-changelog) ( #7028 )
...
Consolidate `CredentialsService.getMany()` in preparation for adding
list query middleware to `GET /credentials`.
2023-09-04 10:37:16 +02:00
Iván Ovejero
008cdcce56
ci: Fix lint to fix build ( #7076 )
2023-09-01 16:23:23 +02:00
कारतोफ्फेलस्क्रिप्ट™
97f87ae0fc
refactor(core): Add addColumns
and dropColumns
to the migrations DSL (no-changelog) ( #7073 )
2023-09-01 15:19:49 +02:00
Iván Ovejero
51093f649d
refactor: Move community package logic to service (no-changelog) ( #6973 )
2023-09-01 15:13:19 +02:00
कारतोफ्फेलस्क्रिप्ट™
2432dcc661
fix(core): Prevent bots from scanning the application (no-changelog) ( #7066 )
...
N8N-6878
2023-09-01 13:54:35 +02:00
कारतोफ्फेलस्क्रिप्ट™
a693b29134
ci: Fix prettier auto-formatting (no-changelog) ( #7063 )
2023-09-01 13:29:31 +02:00
Iván Ovejero
fa3d7070b0
refactor(core): Remove unneeded call from CreateWorkflowHistoryTable
migration (no-changelog) ( #7072 )
...
https://github.com/n8n-io/n8n/pull/7069/files#r1312786460
2023-09-01 12:16:24 +02:00
Iván Ovejero
95cb127dfa
refactor(core): Remove slow LDAP query and unused telemetry event ( #7068 )
...
https://linear.app/n8n/issue/PAY-660
2023-09-01 12:05:14 +02:00
Mutasem Aldmour
8a8d4e8bb3
fix: Load remote resources even if expressions in non requried parameters resolve ( #6987 )
...
Github issue / Community forum post (link here to close automatically):
2023-08-31 16:40:20 +02:00
Iván Ovejero
8cd4db0ab7
refactor(core): Simplify marking logic in binary data manager (no-changelog) ( #7046 )
...
- For a saved execution, we write to disk binary data and metadata.
These two are only ever deleted via `POST /executions/delete`. No marker
file, so untouched by pruning.
- For an unsaved execution, we write to disk binary data, binary data
metadata, and a marker file at `/meta`. We later delete all three during
pruning.
- The third flow is legacy. Currently, if the execution is unsaved, we
actually store it in the DB while running the workflow and immediately
after the workflow is finished during the `onWorkflowPostExecute()` hook
we delete that execution, so the second flow applies. But formerly, we
did not store unsaved executions in the DB ("ephemeral executions") and
so we needed to write a marker file at `/persistMeta` so that, if the
ephemeral execution crashed after the step where binary data was stored,
we had a way to later delete its associated dangling binary data via a
second pruning cycle, and if the ephemeral execution succeeded, then we
immediately cleaned up the marker file at `/persistMeta` during the
`onWorkflowPostExecute()` hook.
This creation and cleanup at `/persistMeta` is still happening, but this
third flow no longer has a purpose, as we now store unsaved executions
in the DB and delete them immediately after. Hence the third flow can be
removed.
2023-08-31 16:02:20 +02:00
कारतोफ्फेलस्क्रिप्ट™
9d70ce3a15
ci: Fix occasionally failing MFA e2e test (no-changelog) ( #7040 )
2023-08-29 15:39:10 +02:00
Omar Ajoue
a4578d68a5
feat: Create workflow history database migration (no-changelog) ( #7031 )
...
Github issue / Community forum post (link here to close automatically):
For the upcoming workflow history feature, we're creating the necessary
database tables.
Also changes the schema for Postgres so the versionId column is now
properly a UUID. The `using` statement prevents losing data, basically
converting the strings to UUIDs.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2023-08-29 12:01:11 +02:00
Iván Ovejero
53361d1d62
refactor: Move node i18n logic to NodeTypes
(no-changelog) ( #7035 )
2023-08-29 10:46:24 +02:00
Iván Ovejero
b716241b42
feat(core): Add filtering, selection and pagination to users ( #6994 )
...
https://linear.app/n8n/issue/PAY-646
2023-08-28 16:13:17 +02:00
कारतोफ्फेलस्क्रिप्ट™
8bdb07d33d
fix(core): Setup websocket keep-live messages ( #6866 )
...
fixes #6757
2023-08-28 10:26:27 +02:00
कारतोफ्फेलस्क्रिप्ट™
596b5695cd
fix(Webhook Node): Fix URL params for webhooks ( #6986 )
...
Fixes:
https://community.n8n.io/t/empty-params-variables-in-webhook-node-after-upgrading-to-n8n-1-3-1/29624
2023-08-25 13:28:32 +02:00
Iván Ovejero
87cf1d9c1b
refactor(core): Make controller constructors consistent (no-changelog) ( #7015 )
2023-08-25 13:23:22 +02:00
Alex Grozav
ed927d34b2
feat: External Secrets storage for credentials ( #6477 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Romain Minaud <romain.minaud@gmail.com>
Co-authored-by: Valya Bullions <valya@n8n.io>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-08-25 10:33:46 +02:00
कारतोफ्फेलस्क्रिप्ट™
72f65dcdd6
refactor(core): Do not import BaseCommand outside src/commands
(no-changelog) ( #7008 )
2023-08-25 00:17:00 +02:00
कारतोफ्फेलस्क्रिप्ट™
92d4befea6
fix(core): Fix AddMfaColumns migration for sqlite (no-changelog) ( #7006 )
...
When ever we have migrations that use `.addColumn` or `.dropColumn`,
typeorm recreates tables for sqlite. so, we need to disable foreign key
enforcement for sqlite, or else data in some tables can get deleted
because of `ON DELETE CASCADE`
[This has happened in the
past](https://github.com/n8n-io/n8n/pull/6739 ), and we should really
come up with a way to prevent this from happening again.
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-08-24 09:31:37 -04:00
Ricardo Espinoza
2b7ba6fdf1
feat(core): Add MFA ( #4767 )
...
https://linear.app/n8n/issue/ADO-947/sync-branch-with-master-and-fix-fe-e2e-tets
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-08-23 22:59:16 -04:00
Iván Ovejero
8c38d85e76
fix(core): Fix import:workflow
command ( #6996 )
...
Ref: https://github.com/n8n-io/n8n/actions/runs/5946170960
To test:
```sh
./packages/cli/bin/n8n export:workflow --all --output=./all-workflows.json
./packages/cli/bin/n8n import:workflow --input=./all-workflows.json
```
2023-08-23 15:15:14 +02:00
Iván Ovejero
96a9de68a0
refactor(core): Move all user DB access to UserRepository
( #6910 )
...
Prep for https://linear.app/n8n/issue/PAY-646
2023-08-22 15:58:05 +02:00
Omar Ajoue
67b88f75f4
feat(core): Add a warning to error workflows that cannot be started due to permission or settings ( #6961 )
...
Github issue / Community forum post (link here to close automatically):
This PR aims to address an issue where an Error workflow cannot be
started, either due to insufficient permissions or because its settings
prevent it from being called.
The way of addressing this is by creating a failed execution for the
appointed error workflow stating the error, as can be seen below.
This means the execution itself won't start, as it's prevented before
the execution beings, but we save a "stub" execution to show the error.
![Screenshot 2023-08-17 at 16 17
02](https://github.com/n8n-io/n8n/assets/219272/d8ec0144-13c5-4b11-b91c-a6b440816ccf )
2023-08-22 15:26:33 +02:00
Iván Ovejero
2cfa6d344e
refactor: Consolidate WorkflowService.getMany()
(no-changelog) ( #6892 )
...
In scope:
- Consolidate `WorkflowService.getMany()`.
- Support non-entity field `ownedBy` for `select`.
- Support `tags` for `filter`.
- Move `addOwnerId` to `OwnershipService`.
- Remove unneeded check for `filter.id`.
- Simplify DTO validation for `filter` and `select`.
- Expand tests for `GET /workflows`.
Workflow list query DTOs:
```
filter → name, active, tags
select → id, name, active, tags, createdAt, updatedAt, versionId, ownedBy
```
Out of scope:
- Migrate `shared_workflow.roleId` and `shared_credential.roleId` to
string IDs.
- Refactor `WorkflowHelpers.getSharedWorkflowIds()`.
2023-08-22 13:19:37 +02:00
Iván Ovejero
9b9b891e68
refactor(core): Move remaining tags logic to service (no-changelog) ( #6920 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-08-22 12:24:43 +02:00
Michael Auerswald
7b96820218
fix(core): Add recoveryInProgress flag file ( #6962 )
...
Issue: during startup, unfinished executions trigger a recovery process
that, under certain circumstances, can in itself crash the instance
(e.g. by running our of memory), resulting in an infinite recovery loop
This PR aims to change this behaviour by writing a flag file when the
recovery process starts, and removing it when it finishes. In the case
of a crash, this flag will persist and upon the next attempt, the
recovery will instead do the absolute minimal (marking executions as
'crashed'), without attempting any 'crashable' actions.
2023-08-18 17:12:24 +02:00
Iván Ovejero
4fc69b776c
fix(core): Set up OAuth2 cred test ( #6960 )
...
https://linear.app/n8n/issue/PAY-728
2023-08-18 16:18:44 +02:00
Michael Auerswald
b6a00febbd
fix(core): Replace throw with warning when deactivating a non-active workflow ( #6969 )
...
Replaces a throw with a warning message instead, since the failure in
question is not serious enough to warrant stopping the application.
2023-08-18 14:04:49 +02:00
कारतोफ्फेलस्क्रिप्ट™
9455bcfef5
fix(Webhook Node): Backward compatible form-data parsing for non-array fields ( #6967 )
2023-08-18 12:34:42 +02:00
Ricardo Espinoza
270946a93b
feat: Remove PostHog event calls ( #6915 )
2023-08-17 11:39:32 -04:00
कारतोफ्फेलस्क्रिप्ट™
41c3cc89ca
refactor(core): Delete some duplicate code between ActiveWebhooks and ActiveWorkflowRunner (no-changelog) ( #6951 )
2023-08-17 17:18:14 +02:00
कारतोफ्फेलस्क्रिप्ट™
8f8a1de3dd
feat(core): Add support for ready hooks, and credentials overwrite endpoint in workers ( #6954 )
2023-08-17 15:42:57 +02:00
Iván Ovejero
413570c49d
feat(editor): Show banner for non-production licenses ( #6943 )
...
https://linear.app/n8n/issue/PAY-692
2023-08-17 14:00:17 +02:00
Iván Ovejero
7ce5d8fd90
refactor: Upgrade to Prettier 3 (no-changelog) ( #6947 )
...
Supersedes https://github.com/n8n-io/n8n/pull/6937
Excluding fixtures and test workflow JSONs to avoid having to update
tests.
2023-08-16 17:13:57 +02:00
कारतोफ्फेलस्क्रिप्ट™
bb76c18073
ci: Fix executeBatch command to fix workflow tests (no-changelog) ( #6946 )
...
This broke because [we started returning an explicit `undefined` on
error
descriptions](https://github.com/n8n-io/n8n/pull/6841/files#diff-ea9bff15fe880ac829cc642c7e72a25d2348e331e77fc060cbe11a6effb6aeaeR430 )
[Test
run](https://github.com/n8n-io/n8n/actions/runs/5879776481/job/15945235163 )
2023-08-16 16:53:17 +02:00
OlegIvaniv
fde6ad1e7f
feat(editor): Ask AI in Code node ( #6672 )
...
* feat(editor): Ask AI tab and CLi connection
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Remove old getSchema util method
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Increase CSS specificity of the CodeNodeEditor global overrides
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* feat(editor): Magic Connect
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Improve AI controller, load conditionally, UX modal imporvements
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Extract-out AI curl
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Move loading phrases to locale, add support for ask ai experiment
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix build
* adjust communication
* fix: Remove duplicate source control preferences fetching (no-changelog) (#6675 )
fix: remove duplicate source control preferences fetching (no-changelog)
* fix(Slack Node): Add UTM params to n8n reference in Slack message (no-changelog) (#6668 )
fix(Slack Node): Add UTM params to n8n reference in Slack message
* fix(FileMaker Node): Improve returned error responses (#6585 )
* fix(Microsoft Outlook Node): Fix issue with category not correctly applying (#6583 )
* feat(Airtable Node): Overhaul (#6200 )
* fix(core): Deleting manual executions should defer deleting binary data (#6680 )
deleting manual executions should defer deleting binary data
* fix(editor): Add paywall state to non owner users for Variables (#6679 )
* fix(editor): Add paywall state to non owner users for Variables
* fix(editor): Add variables view tests
* fix(editor): remove link from paywall state for non owner
* fix(editor): fix displaying logic
* refactor(core): Refactor WorkflowStatistics code (no-changelog) (#6617 )
refactor(core): Refactor WorkflowStatistics code
* fix(editor): Hide Execute Node button for unknown nodes (#6684 )
* feat: Allow hiding credential params on cloud (#6687 )
* fix: Stop n8n from complaining about credentials when saving a new workflow form a template (#6671 )
* fix(core): Upgrade semver to address CVE-2022-25883 (#6689 )
* fix(core): Upgrade semver to address CVE-2022-25883
[GH Advisory](https://github.com/advisories/GHSA-c2qf-rxjj-qqgw )
* enforce the patched version of semver everywhere in the dev setup
* ci: Fix test checker glob (no changelog) (#6682 )
ci: Fix test checker glob
* fix(API): Do not add starting node on workflow creation (#6686 )
* fix(API): Do not add starting node on workflow creation
* chore: Remove comment
* fix(core): Filter out workflows that failed to activate on startup (#6676 )
* fix(core): Deactivate on init workflow that should not be retried
* fix(core): Filter out workflows with activation errors
* fix(core): Load SAML libraries dynamically (#6690 )
load SAML dynamically
* fix(crowd.dev Node): Fix documentation urls for crowd.dev credentials and nodes (#6696 )
* feat(Read PDF Node): Replace pdf-parse with pdfjs, and add support for streaming and encrypted PDFs (#6640 )
* feat: Allow `eslint-config` to be externally consumable (#6694 )
* feat: Allow `eslint-config` to be externally consumable
* refactor: Adjust import styles
* fix(Contentful Node): Fix typo in credential name (no-changelog) (#6692 )
* fix(editor): Ensure default credential values are not detected as dirty state (#6677 )
* fix(editor): Ensure default credential values are not detected as dirty state
* chore: Remove logging
* refactor: Improve comment
* feat(Google Cloud Storage Node): Use streaming for file uploads (#6462 )
fix(Google Cloud Storage Node): Use streaming for file uploads
* fix(editor): Prevent RMC from loading schema if it's already cached (#6695 )
* fix(editor): Prevent RMC from loading schema if it's already cached
* ✅ Adding new tests for RMC
* 👕 Fixing lint errors
* 👌 Updating inline loader styling
* fix(API): Fix issue with workflow setting not supporting newer nanoids (#6699 )
* ci: Fix test workflows (no-changelog) (#6698 )
* ci: Fix test workflows (no-changelog)
We removed `pdf-parse` in #6640 , so we need to get these test PDF files from the `test-workflows` repo instead ([which has been updated to include these files](0f6ef1c804
))
* remove `\n` from ids and skipList text files
* fix(core): Banner dismissal should also work for users migrating to v1 (no-changelog) (#6700 )
* fix(Postgres Node): For select queries, empty result should be be replaced with `{"success":true}` (#6703 )
* fix(Postgres Node): For select queries, empty result should be be replaced with `{"success":true}`
* ⚡ less checks
---------
Co-authored-by: Michael Kret <michael.k@radency.com>
* feat(editor): Removing `ph-no-capture` class from some elements (#6674 )
* feat(editor): Remove `.ph-no-capture` class from some of the fields
* ✔️ Updating test snapshots
* ⚡ Redacting expressions preview in credentials form
* 🔧 Disable posthog input masking
* 🚨 Testing PostHog iFrame settings
* Reverting iframe test
* ⚡ Hiding API key in PostHog recordings
* ✅ Added tests for redacted values
* ✔️ Updating checkbox snapshots after label component update
* ✔️ Updating test snapshots in editor-ui
* 👕 Fix lint errors
* fix(editor): Remove global link styling in v1 banner (#6705 )
* fix: Add missing indices on sqlite (#6673 )
* fix: enforce tag name uniqueness on sqlite
* rename migration and add other missing indices
* add tags tests
* test: Move test timeout to `/cli` (no-changelog) (#6712 )
* fix(core): Redirect user to previous url after SSO signin (#6710 )
redirect user to previous url after SSO signin
* fix(FTP Node): List recursive ignore . and .. to prevent infinite loops (#6707 )
ignore . and .. to prevent infinite loop
Co-authored-by: Michael Kret <michael.k@radency.com>
* ci: Fix running e2e tests in dev mode (no-changelog) (#6717 )
* fix(Google BigQuery Node): Error description improvement (#6715 )
* fix(GitLab Trigger Node): Fix trigger activation 404 error (#6711 )
* fix webhook checkExists not deleting static data
* improve webhook checkExists not deleting static data
* fix(core): Support redis cluster in queue mode (#6708 )
* support redis cluster
* cleanup, fix config schema
* set default prefix to bull
* fix(editor): Skip error line highlighting if out of range (#6721 )
* fix(AwsS3 Node): Fix issue if bucket name contains a '.' (#6542 )
* test(editor): Add canvas actions E2E tests (#6723 )
* test(editor): Add canvas actions E2E tests
* test(editor): Open category items in node creator when category dropped on canvas
* test(editor): Have new position counted only once in drag
* test(editor): rename test
* feat(Rundeck Node): Add support for node filters (#5633 )
* fix(Gmail Trigger Node): Early returns in case of no data (#6727 )
* fix(core): Use JWT as reset password token (#6714 )
* use jwt to reset password
* increase expiration time to 1d
* drop user id query string
* refactor
* use service instead of package in tests
* sqlite migration
* postgres migration
* mysql migration
* remove unused properties
* remove userId from FE
* fix test for users.api
* move migration to the common folder
* move type assertion to the jwt.service
* Add jwt secret as a readonly property
* use signData instead of sign in user.controller
* remove base class
* remove base class
* add tests
* ci: Fix tests on postgres (no-changelog)
* refactor(core): Prevent community packages queries if feature is disabled (#6728 )
* feat(core): Add cache service (#6729 )
* add cache service
* PR adjustments
* switch to maxSize for memory cache
* Revert "test(editor): Add canvas actions E2E tests" (#6736 )
Revert "test(editor): Add canvas actions E2E tests (#6723 )"
This reverts commit 052d82b220
.
* fix(Postgres Node): Arrays in query replacement fix (#6718 )
* fix(Telegram Trigger Node): Add guard to 'include' call on null or undefined (#6730 )
* fix(core): Use `exec` in docker images to forward signals correctly (#6732 )
* refactor(core): Move webhook DB access to repository (no-changelog) (#6706 )
* refactor(core): Move webhook DB access to repository (no-changelog)
* make sure `DataSource` is initialized before it's dependencies
at some point I hope to replace `DataSource` with a custom `DatabaseConnection` service class that can then disconnect and reconnect from DB without having to update all repositories.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
* feat: Environments release using source control (#6653 )
* initial telemetry setup and adjusted pull return
* quicksave before merge
* feat: add conflicting workflow list to pull modal
* feat: update source control pull modal
* fix: fix linting issue
* feat: add Enter keydown event for submitting source control push modal (no-changelog)
feat: add Enter keydown event for submitting source control push modal
* quicksave
* user workflow table for export
* improve telemetry data
* pull api telemetry
* fix lint
* Copy tweaks.
* remove authorName and authorEmail and pick from user
* rename owners.json to workflow_owners.json
* ignore credential conflicts on pull
* feat: several push/pull flow changes and design update
* pull and push return same data format
* fix: add One last step toast for successful pull
* feat: add up to date pull toast
* fix: add proper Learn more link for push and pull modals
* do not await tracking being sent
* fix import
* fix await
* add more sourcecontrolfile status
* Minor copy tweak for "More info".
* Minor copy tweak for "More info".
* ignore variable_stub conflicts on pull
* ignore whitespace differences
* do not show remote workflows that are not yet created
* fix telemetry
* fix toast when pulling deleted wf
* lint fix
* refactor and make some imports dynamic
* fix variable edit validation
* fix telemetry response
* improve telemetry
* fix unintenional delete commit
* fix status unknown issue
* fix up to date toast
* do not export active state and reapply versionid
* use update instead of upsert
* fix: show all workflows when clicking push to git
* feat: update Up to date pull translation
* fix: update read only env checks
* do not update versionid of only active flag changes
* feat: prevent access to new workflow and templates import when read only env
* feat: send only active state and version if workflow state is not dirty
* fix: Detect when only active state has changed and prevent generation a new version ID
* feat: improve readonly env messages
* make getPreferences public
* fix telemetry issue
* fix: add partial workflow update based on dirty state when changing active state
* update unit tests
* fix: remove unsaved changes check in readOnlyEnv
* fix: disable push to git button when read onyl env
* fix: update readonly toast duration
* fix: fix pinning and title input in protected mode
* initial commit (NOT working)
* working push
* cleanup and implement pull
* fix getstatus
* update import to new method
* var and tag diffs are no conflicts
* only show pull conflict for workflows
* refactor and ignore faulty credentials
* add sanitycheck for missing git folder
* prefer fetch over pull and limit depth to 1
* back to pull...
* fix setting branch on initial connect
* fix test
* remove clean workfolder
* refactor: Remove some unnecessary code
* Fixed links to docs.
* fix getstatus query params
* lint fix
* dialog to show local and remote name on conflict
* only show remote name on conflict
* fix credential expression export
* fix: Broken test
* dont show toast on pull with empty var/tags and refactor
* apply frontend changes from old branch
* fix tag with same name import
* fix buttons shown for non instance owners
* prepare local storage key for removal
* refactor: Change wording on pushing and pulling
* refactor: Change menu item
* test: Fix broken test
* Update packages/cli/src/environments/sourceControl/types/sourceControlPushWorkFolder.ts
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
---------
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* fix(core): Fix RemoveResetPasswordColumns migration for sqlite (no-changelog) (#6739 )
* ci: Update changelog generation to work with node 18
* refactor: Remove webhook from `IDatabaseCollections` (no-changelog) (#6745 )
* refactor: Remove webhook from `IDatabaseCollections`
* refactor: Remove also from `collections`
* 🚀 Release 1.1.0 (#6746 )
Co-authored-by: netroy <netroy@users.noreply.github.com>
* fix(Lemlist Node): Fix pagination issues with campaigns and activities (#6734 )
* ci: Fix linting issues (no-changelog) (#6747 )
* fix(core): Allow ignoring SSL issues on generic oauth2 credentials (#6702 )
* refactor: Remove all references to the resetPasswordToken field (no-changelog) (#6751 )
refactor: remove all references to the resetPasswordToken field (no-changelog)
* refactor(core): Use mixins to delete redundant code between Entity classes (no-changelog) (#6616 )
* db entities don't need an ID before they are inserted
* don't define constructors on entity classes, use repository.create instead
* use mixins to reduce duplicate code in db entity classes
* fix: Display source control buttons properly (#6756 )
* feat(editor): Migrate Design System and Editor UI to Vue 3 (#6476 )
* feat: remove vue-fragment (no-changelog)
* feat: partial design-system migration
* feat: migrate info-accordion and info-tip components
* feat: migrate several components to vue 3
* feat: migrated several components
* feat: migrate several components
* feat: migrate several components
* feat: migrate several components
* feat: re-exported all design system components
* fix: fix design for popper components
* fix: editor kind of working, lots of issues to fix
* fix: fix several vue 3 migration issues
* fix: replace @change with @update:modelValue in several places
* fix: fix translation linking
* fix: fix inline-edit input
* fix: fix ndv and dialog design
* fix: update parameter input event bindings
* fix: rename deprecated lifecycle methods
* fix: fix json view mapping
* build: update lock file
* fix(editor): revisit last conflict with master and fix issues
* fix(editor): revisit last conflict with master and fix issues
* fix: fix expression editor bug causing code mirror to no longer be reactive
* fix: fix resource locator bug
* fix: fix vue-agile integration
* fix: remove global import for vue-agile
* fix: replace element-plus buttons with n8n-buttons everywhere
* fix(editor): Fix various element-plus styles (#6571 )
* fix(editor): Fix various element-plus styles
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Remove debugging code
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Address PR comments
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(editor): Fix loading in production mode [Vue 3] (#6578 )
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(editor): First round of e2e tests fixes with Vue 3 (#6579 )
* fix(editor): Fix broken smoke and workflow list e2e tests
* ✔️ Fix failing canvas action tests. Updating some selectors used in credentials and workflow tests
* feat: add vue 3 eslint rules and fix issues
* fix: fix tags-dropdown
* fix: fix white-space issues caused by i18n-t
* fix: rename non-generic click events
* fix: fix search in resources list layout
* fix: fix datatable paginator
* fix: fix popper select caret and dropdown size
* fix: add width to action-dropdown
* fix: fix workflow settings icon not being hidden
* fix: refactor newly added code
* fix: fix merge issue
* fix: fix ndv credentials watcher
* fix: fix workflow saving and grabber notch
* fix: fix nodes list panel transition
* fix: fix node title visibility
* fix: fix data unpinning
* fix: fix value access
* fix: show input panel only if trigger panel enabled or not trigger node
* fix: fix tags dropdown and executions status spcing
* fix(editor): Prevent execution list to load back when leaving the route (#6697 )
fix(editor): prevent execution list to load back when leaving the route
* fix: fix drawer visibility
* fix: fix expression toggle padding
* fix: fix expressions editor styling
* chore: prepare for testing
* fix: fix styling for el-button without patching
* test: fix unit tests in design-system
* test: fix most unit tests
* fix: remove import cycle.
* fix: fix personalization modal tests
* fix further resource mapper test adjustments
* fix: fix multiple tests and n8n-route attr duplication
* fix: fix source control tets
* fix: fixed remaining unit tests
* fix: fix workflows and credentials e2e tests
* fix: fix localizeNodeNames
* fix: update ndv e2e tests
* fix: fix popper left placement arrow
* fix: fix 5-ndv e2e tests
* fix: fix 6-code-node e2e tests
* fix(editor): Drop click outside directive from NodeCreator (#6716 )
* fix(editor): Drop click outside directive from NodeCreator
* fix(editor): make sure mouseup outside is unbound at least before the component is unmounted
* fix: fix 10-settings-log-streaming e2e tests
* fix: fix node redrawing
* fix: fix tooltip buttons styling
* fix: fix varous e2e suites
* fix: fix 15-scheduler-node e2e suite
* fix: fix route watcher
* fix: fixed param name update and credential edit
* feat: update event names
* refactor: Remove deprecated `$data` (#6576 )
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix: fix 17-sharing e2e suite
* fix: fix tags dropdown
* fix: fix tags manager
* fix(editor): move :deep selectors to a separate scoped style block
* fix: fix sticky component and inline text edit
* fix: update e2e tests
* fix: remove button override references
* fix(editor): Adjust spacing in templates for Vue 3 (#6744 )
* fix(editor): Adjust spacing in templates
* fix: Undo unneeded change
* fix: Undo unneeded change
* fix(editor): Adjust NDV height for Vue 3 (#6742 )
fix(editor): Adjust NDV height
* fix(editor): Restore collapsed sidebar items for Vue 3 (#6743 )
fix(editor): Restore collapsed sidebar items
* fix: fix linting issues
* fix: fix design-system deps
* fix: post-merge fixes
* fix: update tests
* fix: increase timeout for executionslist tets
* chore: fix linting issue
* fix: fix 14-mapping e2e tests in ci
* fix: re-enable tests
* fix: fix workflow duplication e2e tests after tags update
* fix(editor): Change component prop to be typed
* fix: fix tags dropdown in duplicate wf modal
* fix: fix focus behaviour in tags selector
* fix: fix tag creation
* fix: fix log streaming e2e race condition
* fix(editor): Fix Vue 3 linting issues (#6748 )
* fix(editor): Fix Vue 3 linting issues
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix MainSidebar linter issues
* revert pnpm lock
* update pnpm lock file
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix(editor): Some css fixes for vue3 branch (#6749 )
* ✨ Fixing filter button height
* ✨ Update input modal button position
* ✨ Updating tags styling
* ✨ Fix event logging settings spacing
* 👕 Fixing lint errors
* fix: fix linting issues
* Revert to `// eslint-disable-next-line @typescript-eslint/no-misused-promises` disabling of mixins init
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix: fix css issue
* fix(editor): Lint fix
* fix(editor): Fix settings initialisation (#6750 )
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix: fix initial settings loading
* fix: replace realClick with click force
* fix: fix randomly failing mapping e2e tests
* fix(editor): Fix menu item event handling
* fix: fix resource filters dropdown events (#6752 )
* fix: fix resource filters dropdown events
* fix: remove teleported:false
* fix: fix event selection event naming (#6753 )
* fix: removed console.log (#6754 )
* fix: rever await nextTick changes
* fix: redo linting changes
* fix(editor): Redraw node connections if adding more than one node to canvas (#6755 )
* fix(editor): Redraw node connections if adding more than one node to canvas
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Update position before connection two nodes
* Lint fix
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix(editor): Fix `ResourceMapper` unit tests (#6758 )
* ✔️ Fix matching columns test
* ✔️ Fix multiple matching columns test
* ✔️ Removing `skip` from the last test
* fix: Allow pasting a big workflow (#6760 )
* fix: pasting a big workflow
* chore: update comment
* refactor: move try/catch to function
* refactor: move try/catch to function
* fix(editor): Fix modal layer width
* fix: fix position changes
* fix: undo it.only
* fix: make undo/redo multiple steps more verbose
* fix: Fix value survey styles (#6764 )
* fix: fix value survey styles
* fix: lint
* Revert "fix: lint"
72869c431f
* fix: lint
* fix(editor): Fix collapsed sub menu
* fix: Fix drawer animation (#6767 )
fix: drawer animation
* fix(editor): Fix source control buttons (#6769 )
* fix(editor): Fix App loading & auth (#6768 )
* fix(editor): Fix App loading & auth
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Await promises
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Fix eslint error
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
* perf(editor): Memoize locale translate calls during actions generation (#6773 )
performance(editor): Memoize locale translate calls during actions generation
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(editor): Close tags dropdown when modal is opened (#6766 )
* feat: remove vue-fragment (no-changelog)
* feat: partial design-system migration
* feat: migrate info-accordion and info-tip components
* feat: migrate several components to vue 3
* feat: migrated several components
* feat: migrate several components
* feat: migrate several components
* feat: migrate several components
* feat: re-exported all design system components
* fix: fix design for popper components
* fix: editor kind of working, lots of issues to fix
* fix: fix several vue 3 migration issues
* fix: replace @change with @update:modelValue in several places
* fix: fix translation linking
* fix: fix inline-edit input
* fix: fix ndv and dialog design
* fix: update parameter input event bindings
* fix: rename deprecated lifecycle methods
* fix: fix json view mapping
* build: update lock file
* fix(editor): revisit last conflict with master and fix issues
* fix(editor): revisit last conflict with master and fix issues
* fix: fix expression editor bug causing code mirror to no longer be reactive
* fix: fix resource locator bug
* fix: fix vue-agile integration
* fix: remove global import for vue-agile
* fix: replace element-plus buttons with n8n-buttons everywhere
* fix(editor): Fix various element-plus styles (#6571 )
* fix(editor): Fix various element-plus styles
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Remove debugging code
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Address PR comments
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(editor): Fix loading in production mode [Vue 3] (#6578 )
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(editor): First round of e2e tests fixes with Vue 3 (#6579 )
* fix(editor): Fix broken smoke and workflow list e2e tests
* ✔️ Fix failing canvas action tests. Updating some selectors used in credentials and workflow tests
* feat: add vue 3 eslint rules and fix issues
* fix: fix tags-dropdown
* fix: fix white-space issues caused by i18n-t
* fix: rename non-generic click events
* fix: fix search in resources list layout
* fix: fix datatable paginator
* fix: fix popper select caret and dropdown size
* fix: add width to action-dropdown
* fix: fix workflow settings icon not being hidden
* fix: refactor newly added code
* fix: fix merge issue
* fix: fix ndv credentials watcher
* fix: fix workflow saving and grabber notch
* fix: fix nodes list panel transition
* fix: fix node title visibility
* fix: fix data unpinning
* fix: fix value access
* fix: show input panel only if trigger panel enabled or not trigger node
* fix: fix tags dropdown and executions status spcing
* fix(editor): Prevent execution list to load back when leaving the route (#6697 )
fix(editor): prevent execution list to load back when leaving the route
* fix: fix drawer visibility
* fix: fix expression toggle padding
* fix: fix expressions editor styling
* chore: prepare for testing
* fix: fix styling for el-button without patching
* test: fix unit tests in design-system
* test: fix most unit tests
* fix: remove import cycle.
* fix: fix personalization modal tests
* fix further resource mapper test adjustments
* fix: fix multiple tests and n8n-route attr duplication
* fix: fix source control tets
* fix: fixed remaining unit tests
* fix: fix workflows and credentials e2e tests
* fix: fix localizeNodeNames
* fix: update ndv e2e tests
* fix: fix popper left placement arrow
* fix: fix 5-ndv e2e tests
* fix: fix 6-code-node e2e tests
* fix(editor): Drop click outside directive from NodeCreator (#6716 )
* fix(editor): Drop click outside directive from NodeCreator
* fix(editor): make sure mouseup outside is unbound at least before the component is unmounted
* fix: fix 10-settings-log-streaming e2e tests
* fix: fix node redrawing
* fix: fix tooltip buttons styling
* fix: fix varous e2e suites
* fix: fix 15-scheduler-node e2e suite
* fix: fix route watcher
* fix: fixed param name update and credential edit
* feat: update event names
* refactor: Remove deprecated `$data` (#6576 )
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix: fix 17-sharing e2e suite
* fix: fix tags dropdown
* fix: fix tags manager
* fix(editor): move :deep selectors to a separate scoped style block
* fix: fix sticky component and inline text edit
* fix: update e2e tests
* fix: remove button override references
* fix(editor): Adjust spacing in templates for Vue 3 (#6744 )
* fix(editor): Adjust spacing in templates
* fix: Undo unneeded change
* fix: Undo unneeded change
* fix(editor): Adjust NDV height for Vue 3 (#6742 )
fix(editor): Adjust NDV height
* fix(editor): Restore collapsed sidebar items for Vue 3 (#6743 )
fix(editor): Restore collapsed sidebar items
* fix: fix linting issues
* fix: fix design-system deps
* fix: post-merge fixes
* fix: update tests
* fix: increase timeout for executionslist tets
* chore: fix linting issue
* fix: fix 14-mapping e2e tests in ci
* fix: re-enable tests
* fix: fix workflow duplication e2e tests after tags update
* fix(editor): Change component prop to be typed
* fix: fix tags dropdown in duplicate wf modal
* fix: fix focus behaviour in tags selector
* fix: fix tag creation
* fix: fix log streaming e2e race condition
* fix(editor): Fix Vue 3 linting issues (#6748 )
* fix(editor): Fix Vue 3 linting issues
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix MainSidebar linter issues
* revert pnpm lock
* update pnpm lock file
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix(editor): Some css fixes for vue3 branch (#6749 )
* ✨ Fixing filter button height
* ✨ Update input modal button position
* ✨ Updating tags styling
* ✨ Fix event logging settings spacing
* 👕 Fixing lint errors
* fix: fix linting issues
* Revert to `// eslint-disable-next-line @typescript-eslint/no-misused-promises` disabling of mixins init
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix: fix css issue
* fix(editor): Lint fix
* fix(editor): Fix settings initialisation (#6750 )
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix: fix initial settings loading
* fix: replace realClick with click force
* fix: fix randomly failing mapping e2e tests
* fix(editor): Fix menu item event handling
* fix: fix resource filters dropdown events (#6752 )
* fix: fix resource filters dropdown events
* fix: remove teleported:false
* fix: fix event selection event naming (#6753 )
* fix: removed console.log (#6754 )
* fix: rever await nextTick changes
* fix: redo linting changes
* fix(editor): Redraw node connections if adding more than one node to canvas (#6755 )
* fix(editor): Redraw node connections if adding more than one node to canvas
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Update position before connection two nodes
* Lint fix
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix(editor): Fix `ResourceMapper` unit tests (#6758 )
* ✔️ Fix matching columns test
* ✔️ Fix multiple matching columns test
* ✔️ Removing `skip` from the last test
* fix: Allow pasting a big workflow (#6760 )
* fix: pasting a big workflow
* chore: update comment
* refactor: move try/catch to function
* refactor: move try/catch to function
* fix(editor): Fix modal layer width
* fix: fix position changes
* fix: undo it.only
* fix: make undo/redo multiple steps more verbose
* fix: Fix value survey styles (#6764 )
* fix: fix value survey styles
* fix: lint
* Revert "fix: lint"
72869c431f
* fix: lint
* fix(editor): Close tags dropdown when modal is opened
* ✔️ Updating tag selectors in e2e tests
* ✔️ Using tab to blur dropdown after adding tags
* ✔️ Clicking on the New Tab button instead of the tags dropdown to open it
* Reverting merge changes added by mistake
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
* fix: Show NodeIcon tooltips by removing pointer-events: none (#6777 )
fix: show NodeIcon tooltips by removing pointer-events: none
* fix: Respect set modal widths (#6771 )
* feat: remove vue-fragment (no-changelog)
* feat: partial design-system migration
* feat: migrate info-accordion and info-tip components
* feat: migrate several components to vue 3
* feat: migrated several components
* feat: migrate several components
* feat: migrate several components
* feat: migrate several components
* feat: re-exported all design system components
* fix: fix design for popper components
* fix: editor kind of working, lots of issues to fix
* fix: fix several vue 3 migration issues
* fix: replace @change with @update:modelValue in several places
* fix: fix translation linking
* fix: fix inline-edit input
* fix: fix ndv and dialog design
* fix: update parameter input event bindings
* fix: rename deprecated lifecycle methods
* fix: fix json view mapping
* build: update lock file
* fix(editor): revisit last conflict with master and fix issues
* fix(editor): revisit last conflict with master and fix issues
* fix: fix expression editor bug causing code mirror to no longer be reactive
* fix: fix resource locator bug
* fix: fix vue-agile integration
* fix: remove global import for vue-agile
* fix: replace element-plus buttons with n8n-buttons everywhere
* fix(editor): Fix various element-plus styles (#6571 )
* fix(editor): Fix various element-plus styles
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Remove debugging code
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Address PR comments
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(editor): Fix loading in production mode [Vue 3] (#6578 )
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(editor): First round of e2e tests fixes with Vue 3 (#6579 )
* fix(editor): Fix broken smoke and workflow list e2e tests
* ✔️ Fix failing canvas action tests. Updating some selectors used in credentials and workflow tests
* feat: add vue 3 eslint rules and fix issues
* fix: fix tags-dropdown
* fix: fix white-space issues caused by i18n-t
* fix: rename non-generic click events
* fix: fix search in resources list layout
* fix: fix datatable paginator
* fix: fix popper select caret and dropdown size
* fix: add width to action-dropdown
* fix: fix workflow settings icon not being hidden
* fix: refactor newly added code
* fix: fix merge issue
* fix: fix ndv credentials watcher
* fix: fix workflow saving and grabber notch
* fix: fix nodes list panel transition
* fix: fix node title visibility
* fix: fix data unpinning
* fix: fix value access
* fix: show input panel only if trigger panel enabled or not trigger node
* fix: fix tags dropdown and executions status spcing
* fix(editor): Prevent execution list to load back when leaving the route (#6697 )
fix(editor): prevent execution list to load back when leaving the route
* fix: fix drawer visibility
* fix: fix expression toggle padding
* fix: fix expressions editor styling
* chore: prepare for testing
* fix: fix styling for el-button without patching
* test: fix unit tests in design-system
* test: fix most unit tests
* fix: remove import cycle.
* fix: fix personalization modal tests
* fix further resource mapper test adjustments
* fix: fix multiple tests and n8n-route attr duplication
* fix: fix source control tets
* fix: fixed remaining unit tests
* fix: fix workflows and credentials e2e tests
* fix: fix localizeNodeNames
* fix: update ndv e2e tests
* fix: fix popper left placement arrow
* fix: fix 5-ndv e2e tests
* fix: fix 6-code-node e2e tests
* fix(editor): Drop click outside directive from NodeCreator (#6716 )
* fix(editor): Drop click outside directive from NodeCreator
* fix(editor): make sure mouseup outside is unbound at least before the component is unmounted
* fix: fix 10-settings-log-streaming e2e tests
* fix: fix node redrawing
* fix: fix tooltip buttons styling
* fix: fix varous e2e suites
* fix: fix 15-scheduler-node e2e suite
* fix: fix route watcher
* fix: fixed param name update and credential edit
* feat: update event names
* refactor: Remove deprecated `$data` (#6576 )
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix: fix 17-sharing e2e suite
* fix: fix tags dropdown
* fix: fix tags manager
* fix(editor): move :deep selectors to a separate scoped style block
* fix: fix sticky component and inline text edit
* fix: update e2e tests
* fix: remove button override references
* fix(editor): Adjust spacing in templates for Vue 3 (#6744 )
* fix(editor): Adjust spacing in templates
* fix: Undo unneeded change
* fix: Undo unneeded change
* fix(editor): Adjust NDV height for Vue 3 (#6742 )
fix(editor): Adjust NDV height
* fix(editor): Restore collapsed sidebar items for Vue 3 (#6743 )
fix(editor): Restore collapsed sidebar items
* fix: fix linting issues
* fix: fix design-system deps
* fix: post-merge fixes
* fix: update tests
* fix: increase timeout for executionslist tets
* chore: fix linting issue
* fix: fix 14-mapping e2e tests in ci
* fix: re-enable tests
* fix: fix workflow duplication e2e tests after tags update
* fix(editor): Change component prop to be typed
* fix: fix tags dropdown in duplicate wf modal
* fix: fix focus behaviour in tags selector
* fix: fix tag creation
* fix: fix log streaming e2e race condition
* fix(editor): Fix Vue 3 linting issues (#6748 )
* fix(editor): Fix Vue 3 linting issues
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix MainSidebar linter issues
* revert pnpm lock
* update pnpm lock file
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix(editor): Some css fixes for vue3 branch (#6749 )
* ✨ Fixing filter button height
* ✨ Update input modal button position
* ✨ Updating tags styling
* ✨ Fix event logging settings spacing
* 👕 Fixing lint errors
* fix: fix linting issues
* Revert to `// eslint-disable-next-line @typescript-eslint/no-misused-promises` disabling of mixins init
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix: fix css issue
* fix(editor): Lint fix
* fix(editor): Fix settings initialisation (#6750 )
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix: fix initial settings loading
* fix: replace realClick with click force
* fix: fix randomly failing mapping e2e tests
* fix(editor): Fix menu item event handling
* fix: fix resource filters dropdown events (#6752 )
* fix: fix resource filters dropdown events
* fix: remove teleported:false
* fix: fix event selection event naming (#6753 )
* fix: removed console.log (#6754 )
* fix: rever await nextTick changes
* fix: redo linting changes
* fix(editor): Redraw node connections if adding more than one node to canvas (#6755 )
* fix(editor): Redraw node connections if adding more than one node to canvas
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Update position before connection two nodes
* Lint fix
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix(editor): Fix `ResourceMapper` unit tests (#6758 )
* ✔️ Fix matching columns test
* ✔️ Fix multiple matching columns test
* ✔️ Removing `skip` from the last test
* fix: Allow pasting a big workflow (#6760 )
* fix: pasting a big workflow
* chore: update comment
* refactor: move try/catch to function
* refactor: move try/catch to function
* fix(editor): Fix modal layer width
* fix: fix position changes
* fix: undo it.only
* fix: make undo/redo multiple steps more verbose
* fix: Fix value survey styles (#6764 )
* fix: fix value survey styles
* fix: lint
* Revert "fix: lint"
72869c431f
* fix: lint
* fix(editor): Fix collapsed sub menu
* fix: Fix drawer animation (#6767 )
fix: drawer animation
* fix(editor): Fix source control buttons (#6769 )
* fix: Respect modal width
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* fix(editor): Fix tooltip opening delay prop name (#6776 )
fix(editor): fix tooltip opening delay prop name
* fix(editor): Fix collapsed sub menu elements (#6778 )
* fix: Remove number input arrows (no-changelog) (#6782 )
fix: remove number input arrows
* ci: Update most of the dev tooling (no-changelog) (#6780 )
* fix(TheHive Node): Treat `ApiKey` as a secret (#6786 )
* test(editor): Prevent node view unload by default in e2e run (#6787 )
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(editor): Resolve vue 3 related console-warnings (#6779 )
* fix(editor): Resolve vue 3 related console-warnings
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Use span as component wrapper instead of div
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Wrap popover component in span
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(editor): Vue3 - Fix modal positioning and multi-select tag sizing (#6783 )
* ✨ Updating modals positioning within the overlay
* 💄 Implemented multi-select variant with small tabs
* ✔️ Removing password link clicks while modal is open in e2e tests
* Set generous timeout for $paramter resolve
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
* ci: Fix linting issues (no-changelog) (#6788 )
* ci: Fix linting (no-changelog)
* lintfix for nodes-base as well
* fix(editor): Fix code node highlight error (#6791 )
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* feat(core): Credentials for popular SecOps services, Part 1 (#6775 )
* refactor: Clear unused ESLint directives from BE packages (no-changelog) (#6798 )
* refactor(core): Cache workflow ownership (#6738 )
* refactor: Set up ownership service
* refactor: Specify cache keys and values
* refactor: Replace util with service calls
* test: Mock service in tests
* refactor: Use dependency injection
* test: Write tests
* refactor: Apply feedback from Omar and Micha
* test: Fix tests
* test: Fix missing spot
* refactor: Return user entity from cache
* refactor: More dependency injection!
* fix(editor): Prevent text edit dialog from re-opening in same tick (#6781 )
* fix: prevent reopenning textedit dialog in same tick
* fix: add same logic for code edit dialog
* fix: remove stop modifier
* fix: blur input field when closing modal, removing default element-plus behaviour
* test(editor): Do not chain invoke calls after assertions in 24-ndv-paired-item e2e spec (no-changelog) (#6800 )
* test(editor): Do not chaing invoke calls after assertions in 24-ndv-paired-item e2e spec
* Do not chaing realHover after assertion
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Remove .only
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix(Todoist Node): Fix issue with section id being ignored (#6799 )
* test(editor): Add canvas actions E2E tests (#6723 ) (#6790 )
* test(editor): Add canvas actions E2E tests (#6723 )
* test(editor): Add canvas actions E2E tests
* test(editor): Open category items in node creator when category dropped on canvas
* test(editor): Have new position counted only once in drag
* test(editor): rename test
(cherry picked from commit 052d82b220
)
* test: fix drag positioning
* fix(core): Add missing primary key on the `execution_data` table on postgres (#6797 )
* fix: Review fixes
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* fix: Fin locales
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Fix merging errors
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Map erros based on statusCode
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Fix code replacing
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Fix code formatting
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Address review points
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Optionally access total_tokens
* Clean-up Ask AI modal
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Store prompt in sessionStorage
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Improve schema generation, only get parent nodes
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Send error messages to telemetry, aske before switching tabs
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Add locale
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Post-merge cleanup
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Move Ask AI into separate folder
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Lint fix
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Constants lint fix
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Add Ask AI e2e tests and fix linting issues
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Move CircleLoader to design-lib
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Replace circle-lodaer and move el-tabs styles to n8n theme
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Fix placeholder & e2e tests
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Remove old CircleLoader
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Romain Dunand <romain@1-more-thing.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Marcus <56945030+maspio@users.noreply.github.com>
Co-authored-by: Jordan Hall <Jordan@libertyware.co.uk>
Co-authored-by: qg-horie <36725144+qg-horie@users.noreply.github.com>
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
2023-08-16 13:08:10 +02:00
Cornelius Suermann
198a977f57
feat(core): Show a banner when running a non-prod license (no-changelog) ( #6849 )
...
* add feat:showNonProdBanner
* fix linting
* fix linting
2023-08-16 10:05:03 +02:00