Commit Graph

9338 Commits

Author SHA1 Message Date
Elias Meire
ec2aa3819c fix(Notion Node): Rename Notion API Key to Internal Integration Token (#7176)
Github issue / Community forum post (link here to close automatically):
2023-09-29 09:21:29 +02:00
कारतोफ्फेलस्क्रिप्ट™
cf5a0ca456 ci: Refactor DB tests (no-changelog) (#7292)
[DB tests](https://github.com/n8n-io/n8n/actions/runs/6340094467)
2023-09-28 16:53:05 +02:00
Marcus
0bc33b1cc2 fix(HTTP Request Node): Add suggestion how to fix '429 - too many requests' errors (#7293)
Github issue / Community forum post (link here to close automatically):
2023-09-28 16:00:45 +02:00
Michael Kret
8bc369dd40 fix(Respond to Webhook Node): JSON output from expression fix (#7294)
Github issue / Community forum post (link here to close automatically):
https://github.com/n8n-io/n8n/issues/7077
2023-09-28 16:46:00 +03: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
Michael Kret
cde23a1bb1 fix(Item Lists Node): Concatenate operation pairedItems fix (#7286)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
2023-09-28 10:20:54 +03: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
Michael Auerswald
07d072c28f fix(core): Bump License SDK Version (no-changelog) (#7279) 2023-09-27 16:29:09 +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
कारतोफ्फेलस्क्रिप्ट™
5c57e2ccc3 ci: Update pnpm-lock.yaml (no-changelog) (#7273)
The lockfile got incorrectly formatted in
https://github.com/n8n-io/n8n/pull/7225.
2023-09-27 14:44:13 +02:00
Milorad FIlipović
d936ca0c9f fix(editor): Update cloud endpoint paths (no-changelog) (#7274)
Github issue / Community forum post (link here to close automatically):
2023-09-27 13:44:03 +02:00
Omar Ajoue
861cac5257 fix(core): Prevent executions from displaying Running status incorrectly (#7261)
Github issue / Community forum post (link here to close automatically):

https://linear.app/n8n/issue/HELP-338/large-number-of-long-running-executions-for-nadjalemlist#comment-18d1fc96

After investigating this issue with @ivov and @flipswitchingmonkey we've
identified this missing assignment of execution status.

This is the only inconsistency we've found that could cause executions
to continue displaying as `Running` even after finished.
2023-09-27 12:38:53 +02:00
कारतोफ्फेलस्क्रिप्ट™
5b3121c415 fix(core): Make DNS resolution order configurable (#7272) 2023-09-27 12:19:18 +02:00
Jon
e4c302c683 feat(MISP Node): Update credential to support HTTP Request node (#7268) 2023-09-27 11:05:48 +01:00
Michael Auerswald
6d7fe95c58 fix(core): Do not set ttl globally in test (no-changelog) (#7271) 2023-09-27 12:03:15 +02:00
Jon
cd6e22887f docs: Update alias for iCalendar node (#7269) 2023-09-27 09:49:40 +01: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
Jon
2c4e25c06b fix(PagerDuty Node): Fix typos for incident descriptions (no-changelog) (#7267) 2023-09-27 08:07:58 +01:00
Iván Ovejero
251abe9240 ci: Adjust Postgres/MySQL failure notification (no-changelog) (#7262)
Prevent DB test runs on PRs from spamming the build alerts channel.

Ref: https://github.com/n8n-io/n8n/actions/runs/6298825743
2023-09-26 18:00:00 +02:00
Iván Ovejero
db01164ce1 perf(core): Skip unneeded calls on every pruning cycle (#7260) 2023-09-26 16:53:38 +02:00
Alex Grozav
0824800dff fix(editor): Fix issue that double incoming connection often does not resolve expression (no-changelog) (#7257)
Cherry-picked from AI Tool Creation branch

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2023-09-26 14:33:42 +01: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
Iván Ovejero
484035eb51 fix(core): Fix binary data manager check on pruning (#7251)
Ensure that we do not attempt to prune binary data in `default` binary
data mode.
2023-09-25 16:50:11 +02:00
Ricardo Espinoza
d47986aec3 fix: Bug when trailing user reset password on instance (no-changelog) (#7250)
Github issue / Community forum post (link here to close automatically):
2023-09-25 09:55:33 -04: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
Ricardo Espinoza
60c152dc72 feat: Add user cloud it to telemetry (#7232)
Github issue / Community forum post (link here to close automatically):
2023-09-25 12:59:41 +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
dcc9cc13ed feat(core): Remove storeMetadata and getSize from binary data manager interface (no-changelog) (#7195)
Depends on: #7164 | Story:
[PAY-838](https://linear.app/n8n/issue/PAY-838/introduce-object-store-service-for-binary-data)

This PR removes `storeMetadata` and `getSize` from the binary data
manager interface, as these are specific to filesystem mode. Also this
disambiguates identifiers:

```
binaryDataId
filesystem:289b4aac51e-dac6-4167-b793-6d5c415e2b47 {mode}:{fileId}

fileId - FS
289b4aac51e-dac6-4167-b793-6d5c415e2b47 {executionId}{uuid}

fileId - S3
/workflows/{workflowId}/executions/{executionId}/binary_data/b4aac51e-dac6-4167-b793-6d5c415e2b47
```

Note: The object store changes originally in this PR were extracted out
into the final PR.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-25 10:07:06 +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
Csaba Tuncsik
4614e1e1c9 fix(editor): Add debug feature docs link (#7240) 2023-09-22 13:27:08 +02:00
Michael Kret
647fc6c555 fix(editor): Fix SQL editor issue (#7236)
Github issue / Community forum post (link here to close automatically):
2023-09-22 14:17:54 +03:00
Iván Ovejero
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
Jon
c0df5cdfd4 fix(APITemplate.io Node): Fix action description for create pdf (no-changelog) (#7226)
Github issue / Community forum post (link here to close automatically):
https://github.com/n8n-io/n8n/issues/7224
2023-09-22 07:27:00 +01: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
Elias Meire
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
Michael Kret
2af967cf88 fix(Airtable Node): Attachments field type fix (#7227)
Github issue / Community forum post (link here to close automatically):

https://community.n8n.io/t/possible-airtable-bug-when-creating-attachment-record/29288
2023-09-21 15:00:41 +03:00
Ricardo Espinoza
303bc8e71e fix: Issue enforcing user limits on start plan (#7188) 2023-09-21 05:56:40 -04:00
Milorad FIlipović
b0e98b59a6 feat(editor): Rework banners framework and add email confirmation banner (#7205)
This PR introduces banner framework overhaul:
First version of the banner framework was built to allow multiple
banners to be shown at the same time. Since that proven to be the case
we don't need and it turned out to be pretty messy keeping only one
banner visible in such setup, this PR reworks it so it renders only one
banner at a time, based on [this priority
list](https://www.notion.so/n8n/Banner-stack-60948c4167c743718fde80d6745258d5?pvs=4#6afd052ec8d146a1b0fab8884a19add7)
that is assembled together with our product & design team.

### How to test banner stack:
1. Available banners and their priorities are registered
[here](f9f122d46d/packages/editor-ui/src/components/banners/BannerStack.vue (L14))
2. Banners are pushed to stack using `pushBannerToStack` action, for
example:
```
useUIStore().pushBannerToStack('TRIAL');
```
4. Try pushing different banners to stack and check if only the one with
highest priorities is showing up

### How to test the _Email confirmation_ banner:
1. Comment out [this
line](b80d2e3bec/packages/editor-ui/src/stores/cloudPlan.store.ts (L59)),
so cloud data is always fetched
2. Create an
[override](https://chrome.google.com/webstore/detail/resource-override/pkoacgokdfckfpndoffpifphamojphii)
(URL -> File) that will serve user data that triggers this banner:
- **URL**: `*/rest/cloud/proxy/admin/user/me`
- **File**:
```
{
    "confirmed": false,
    "id": 1,
    "email": "test@test.com",
    "username": "test"
}
```
3. Run n8n
2023-09-21 09:47:21 +02:00
Mutasem Aldmour
2491ccf4d9 fix: Ensure new Set node is on top of search list (#7215)
Github issue / Community forum post (link here to close automatically):
2023-09-20 16:47:51 +02:00
कारतोफ्फेलस्क्रिप्ट™
8bb22292d5 Merge tag 'n8n@1.8.0' 2023-09-20 16:20:34 +02: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
Giulio Andreini
09a7cf0980 docs(Google Sheets Node): Operations naming update (no-changelog) (#7211)
Github issue / Community forum post (link here to close automatically):
2023-09-20 15:20:56 +02:00
github-actions[bot]
ecd5d93c19 🚀 Release 1.8.0 (#7219)
# [1.8.0](https://github.com/n8n-io/n8n/compare/n8n@1.7.0...n8n@1.8.0)
(2023-09-20)


### Bug Fixes

* **core:** Make parsing of content-type and content-disposition headers
more flexible ([#7217](https://github.com/n8n-io/n8n/issues/7217))
([d41546b](d41546b899)),
closes [#7149](https://github.com/n8n-io/n8n/issues/7149)
* **core:** Resolve domains to IPv4 first
([#7206](https://github.com/n8n-io/n8n/issues/7206))
([e9ce531](e9ce531210))
* **editor:** Add ssh key type selection to source control settings when
regenerating key ([#7172](https://github.com/n8n-io/n8n/issues/7172))
([54bf66d](54bf66d335))
* **editor:** No need to add click emitting click events, VUE delegates
the handler to the root element of the component
([#7182](https://github.com/n8n-io/n8n/issues/7182))
([3c055e4](3c055e4d8d))
* **editor:** Prevent duplicate creation of credential for OAuth2
([#7163](https://github.com/n8n-io/n8n/issues/7163))
([07a6417](07a6417f0f))
* **editor:** Testing flaky resource mapper feature in e2e tests
([#7165](https://github.com/n8n-io/n8n/issues/7165))
([aaf87c3](aaf87c3edd))
* **HTML Node:** Add pairedItem support for 'Convert to HTML Table'
operation ([#7196](https://github.com/n8n-io/n8n/issues/7196))
([6bc477b](6bc477b50e))
* **HTTP Request Node:** Decrease default timeout to 5min
([#7177](https://github.com/n8n-io/n8n/issues/7177))
([321780d](321780d4a2))
* **seven Node:** Rename sms77 to seven, fix credentials test
([#7180](https://github.com/n8n-io/n8n/issues/7180))
([cf776b8](cf776b8f17))
* **X (Formerly Twitter) Node:** Rename Twitter to X (keep Twitter
alias) ([#7179](https://github.com/n8n-io/n8n/issues/7179))
([d317e09](d317e09c59))


### Features

* **core:** Add command to trigger license refresh on workers
([#7184](https://github.com/n8n-io/n8n/issues/7184))
([9f797b9](9f797b96d8))
* **core:** Add rsa option to ssh key generation
([#7154](https://github.com/n8n-io/n8n/issues/7154))
([fdac2c8](fdac2c8572))
* **Linear Node:** Add support for OAuth2
([#7201](https://github.com/n8n-io/n8n/issues/7201))
([12a3168](12a3168367))
* **Microsoft Outlook Node:** Node overhaul
([#4449](https://github.com/n8n-io/n8n/issues/4449))
([556a613](556a6132ba))
* **Set Node:** Overhaul
([#6348](https://github.com/n8n-io/n8n/issues/6348))
([3a47455](3a474552b2))

Co-authored-by: krynble <krynble@users.noreply.github.com>
2023-09-20 15:10:20 +02:00
Elias Meire
d41546b899 fix(core): Make parsing of content-type and content-disposition headers more flexible (#7217)
fixes #7149
2023-09-20 14:40:06 +02:00
Marcus
6bc477b50e fix(HTML Node): Add pairedItem support for 'Convert to HTML Table' operation (#7196)
Github issue / Community forum post (link here to close automatically):

Co-authored-by: Michael Kret <michael.k@radency.com>
2023-09-20 13:56:53 +02:00
Elias Meire
321780d4a2 fix(HTTP Request Node): Decrease default timeout to 5min (#7177)
Github issue / Community forum post (link here to close automatically):

fixes https://github.com/n8n-io/n8n/issues/7081
2023-09-20 12:38:34 +02:00