Commit Graph
107 Commits
Author SHA1 Message Date
Ricardo EspinozaandGitHub c4eb3746d7 refactor: Use NodeConnectionType consistently across the code base (no-changelog) (#10595) 2024-08-29 09:55:53 -04:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 3428f28a73 fix(core): Scheduler tasks should not trigger on follower instances (#10507) 2024-08-22 11:46:13 +02:00
Iván OvejeroandGitHub 4f392b5e3e fix(core): Prevent XSS via static cache dir (#10339) 2024-08-09 16:40:50 +02:00
jeanpaulandGitHub 1a7713ef26 fix(core): Fix missing successful items on continueErrorOutput with multiple outputs (#10218) 2024-07-29 17:08:20 +02:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 09f2cf9eaf refactor(core): Centralize CronJob management (#10033) 2024-07-16 20:42:48 +02:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 2d19aef540 fix(HTTP Request Node): Respect the original encoding of the incoming response (#9869) 2024-07-11 17:03:52 +02:00
85aa560a5d refactor(core): Centralize SSH Tunnel management (#9906)
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-07-04 12:29:44 +02:00
24091dfd9b ci: Start typechecking n8n-workflow and n8n-core (no-changelog) (#9925)
Co-authored-by: Danny Martini <danny@n8n.io>
2024-07-03 18:27:07 +02:00
8f94dcc0e9 fix(Slack Node): Do not try to parse block if it's already object (#9643)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-06-18 13:50:44 +03:00
कारतोफ्फेलस्क्रिप्ट™andGitHub afa41969e5 ci: Remove the cyclic peer-dependency (no-changelog) (#9617) 2024-06-04 15:27:29 +02:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 2bdc459bb2 refactor(core): Fix type errors in workflow, core, nodes-langchain, and nodes-base (no-changelog) (#9450) 2024-05-22 17:40:52 +02:00
कारतोफ्फेलस्क्रिप्ट™andGitHub bf2ee51e36 ci: Delete unused code in some backend tests (no-changelog) (#9456) 2024-05-17 18:43:50 +02:00
Michael KretandGitHub da6088d0bb feat(core): Node hints(warnings) system (#8954) 2024-05-13 15:46:02 +03:00
306b68da6b feat(HTTP Request Node): Option to provide SSL Certificates in Http Request Node (#9125)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-04-24 17:28:02 +03:00
Iván OvejeroandGitHub b8ab049932 refactor(core, editor): Remove legacy nodesAccess (no-changelog) (#9016) 2024-04-05 13:17:34 +02:00
Iván OvejeroandGitHub 744327c20d fix(core): Ensure status on Axios errors is available to the BE (#9015) 2024-04-03 18:00:27 +02:00
Iván OvejeroandGitHub 7d52419d6f refactor(core): Remove dead utils (no-changelog) (#8947) 2024-03-25 17:59:42 +01:00
Elias MeireandGitHub 1fb0dd4f1c fix(core): Stringify all Luxon DateTimes in cleanupParameterData (#8959) 2024-03-25 08:44:10 +00:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 33ab781aef fix(core): Improve handling of invalid objects in cleanupParameterData (no-chanhelog) (#8910) 2024-03-18 18:35:49 +01:00
d85d0ecf45 fix(core): Remove HTTP body for GET, HEAD, and OPTIONS requests (#3621)
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-03-14 11:17:20 +00:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 246c988b93 fix(core): Ensure maxRedirects is used for any http request defining it (#8706) 2024-02-22 17:56:48 +01:00
Elias MeireandGitHub 7531f34386 fix(core): Use hostname from URL instead of Host header for SNI (#8562) 2024-02-06 19:38:36 +01:00
Elias MeireandGitHub f1910a10a6 fix(core): Forward authorization header when on same domain (#8507) 2024-01-31 15:11:29 +01:00
Iván OvejeroandGitHub 3734c89cf6 fix(core): Ensure waiting executions account for workflow timezone (#8340) 2024-01-16 18:28:19 +01:00
Iván OvejeroandGitHub d4c93b1607 fix(core): Prevent issues with missing or mismatching encryption key (#8332) 2024-01-16 18:25:53 +01:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 0776814ed8 fix(core): Prevent invalid compressed responses from making executions stuck forever (#8315) 2024-01-12 15:18:46 +01:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 216ec079c9 feat(editor): Create separate components for JS and JSON editors (no-changelog) (#8156)
## Summary
This is part-1 of refactoring our code editors to extract different type
of editors into their own components.
In part-2 we'll
1. delete a of unused or duplicate code
2. switch to a `useEditor` composable to bring more UX consistency
across all the code editors.

## Review / Merge checklist
- [x] PR title and summary are descriptive
- [x] Tests included
2023-12-29 10:49:27 +01:00
कारतोफ्फेलस्क्रिप्ट™andGitHub f69ddcd796 refactor(core): Use Dependency Injection for all Controller classes (no-changelog) (#8146)
## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-27 11:50:43 +01:00
Iván OvejeroandGitHub b16dd21909 refactor(core): Switch plain errors in core to ApplicationError (no-changelog) (#7873)
Ensure all errors in `core` are `ApplicationError` or children of it and
contain no variables in the message, to continue normalizing all the
errors we report to Sentry

Follow-up to: https://github.com/n8n-io/n8n/pull/7857
2023-11-30 09:06:19 +01:00
Iván OvejeroandGitHub dff8456382 refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820)
Ensure all errors in `core` and `workflow` inherit from
`ApplicationError` so that we start normalizing all the errors we report
to Sentry

Follow-up to:
https://github.com/n8n-io/n8n/pull/7757#discussion_r1404338844

### `core` package

`ApplicationError`
- `FileSystemError` (abstract)
	- `FileNotFoundError`
	- `DisallowedFilepathError`
- `BinaryDataError` (abstract)
	- `InvalidModeError`
	- `InvalidManagerError`
- `InvalidExecutionMetadataError`

### `workflow` package

`ApplicationError`
- `ExecutionBaseError` (abstract)
	- `WorkflowActivationError`
		- `WorkflowDeactivationError`
		- `WebhookTakenError`
	- `WorkflowOperationError`
		- `SubworkflowOperationError`
			- `CliWorkflowOperationError`
	- `ExpressionError`
		- `ExpressionExtensionError`
	- `NodeError` (abstract)
		- `NodeOperationError`
		- `NodeApiError`
	- `NodeSSLError`

Up next:
- Reorganize errors in `cli`
- Flatten the hierarchy in `workflow` (do we really need
`ExecutionBaseError`?)
- Remove `ExecutionError` type
- Stop throwing plain `Error`s
- Replace `severity` with `level`
- Add node and credential types as `tags`
- Add workflow IDs and execution IDs as `extras`
2023-11-27 15:33:21 +01:00
Csaba TuncsikandGitHub 152883eed1 build: Upgrade lint related packages (#7790) 2023-11-27 09:11:52 +01:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 0bd4e742da refactor(core): Migrate from crypto-js to native crypto (#7556)
[`crypto-js` has been
discontinued](https://github.com/brix/crypto-js/commit/1da3dabf93f0a0435c47627d6f171ad25f452012)

PS: We'll remove `crypto-js` usage from `n8n-workflow` and
`@n8n_io/license-sdk` in separate PRs.
2023-11-03 13:26:20 +01:00
Iván OvejeroandGitHub 6d42fad31a refactor(core): Consolidate binary file not found errors (no-changelog) (#7585)
Logging was originally to see if there was a binary data file failing to
be written for [this
user](https://linear.app/n8n/issue/PAY-844/filesystem-binary-data-mode-causing-alerts-in-cloud)
but the cause was not a file failed to be written but a missing `fileId`
in a binary data item in an execution. The error should no longer be
thrown as of 1.12. See story for more info.

This PR is for cleanup and to consolidate any file not found errors in
the context of binary data, to track if this happens again.
2023-11-03 11:41:15 +01:00
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
कारतोफ्फेलस्क्रिप्ट™andGitHub 35bb42c1b9 refactor(core): Avoid passing around static state like default timezone (no-changelog) (#7221) 2023-10-27 14:17:52 +02:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 65e5593233 fix(core): Upgrade crypto-js to address CVE-2023-46233 (#7519)
[GH Advisory](https://github.com/advisories/GHSA-xwcq-pm8m-c4vf)
2023-10-26 11:21:53 +02:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 05586a900d refactor(core): Make Logger a service (no-changelog) (#7494) 2023-10-25 16:35:22 +02:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 8ff9f97493 fix(core): Create instance settings directory recursively (no-changelog) (#7506) 2023-10-24 15:10:22 +02:00
Iván OvejeroandGitHub 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
कारतोफ्फेलस्क्रिप्ट™andGitHub a9fdd018f4 fix(core): Always derive instanceId from the encryption key (no-changlog) (#7501)
This was the expected behavior, until I changed it in
https://github.com/n8n-io/n8n/pull/7471
2023-10-24 09:55:57 +02:00
कारतोफ्फेलस्क्रिप्ट™andGitHub 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
Iván OvejeroandGitHub 609f0837cf test(core): Add test for suppressing error on non-existing filepath (no-changelog) (#7421)
Follow-up to #7411
2023-10-13 11:52:17 +02:00
Iván OvejeroandGitHub 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
कारतोफ्फेलस्क्रिप्ट™andGitHub 597669aa62 refactor(core): Move copyInputItems to node helpers (no-changelog) (#7299) 2023-10-06 16:25:58 +02:00
Iván OvejeroandGitHub 63e11e4be9 fix(core): Prevent object deletion request on no prefix match (#7366) 2023-10-06 15:46:39 +02:00
Iván OvejeroandGitHub 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
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
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
Iván OvejeroandGitHub e8e44f6b6e refactor(core): Log binary data file write errors (no-changelog) (#7237)
This PR adds logging for binary data file write errors, to capture why
executions sometimes point to non-existing binary data files. See
[Sentry
error](https://n8nio.sentry.io/issues/4495134693/?alert_rule_id=14556563&alert_type=issue&notification_uuid=4b50a5da-6ae9-472e-9658-984cca824762&project=4503924908883968&referrer=slack).
2023-09-22 11:48:20 +02:00
Elias MeireandGitHub 67b985fe89 fix(core): Handle filename* with quotes in Content-Disposition header (#7229)
Github issue / Community forum post (link here to close automatically):
2023-09-21 14:54:10 +02:00