1
1
mirror of https://github.com/n8n-io/n8n.git synced 2024-09-20 09:27:44 +03:00
Commit Graph

9427 Commits

Author SHA1 Message Date
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
Inga
c599006b91
fix(editor): Open only one tab with plans page (#7377)
## Issue

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

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

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

## Additional notes on the issue.

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

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

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

## Additional contribution notes

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

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

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

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


    Found 1 error.

     ELIFECYCLE  Command failed with exit code 1.
    n8n-toy-demo:~/projects/n8n/packages/editor-ui$ 
    ```
Replacing `--emitDeclarationsOnly` with `--noEmit` in `package.json`
unblocks typechecking and results in seemingly, at first glance, correct
"Found 1924 errors in 306 files" (at least several of the reported
errors that I've checked seem to be correct).
But maybe I'm missing something and there are not in fact two thousands
type errors in `editor-ui`?
2023-10-13 14:14:26 +02:00
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
pemontto
c3f0be809f
fix(Ldap Node): Fix issue with connections not closing correctly (#7432) 2023-10-13 12:15:54 +01:00
Kamil Essekkat
bd5ea455e1
docs: Mention UID in the docker examples (#7281) 2023-10-13 11:56:43 +01:00
Milorad FIlipović
1307d488b9
fix: Fix flaky remote options loading test (no-changelog) (#7433)
Background: Looks like remote options loading needs a bit of time to
catch up when dependent parameter changes so when using cypress `type`
method without delay it fails to update the values properly. Since this
does not represent actual component behavior when real user interact
with it we added a delay to automated typing.

This PR increases typing delay, giving the component more time to
breathe when run in CI
- [Latest e2e
run](https://github.com/n8n-io/n8n/actions/runs/6506583716)
- [Video of this specific
test](https://cloud.cypress.io/projects/5hbsdn/runs/aa4f1a7d-b95f-4c8a-acd6-33061d290c7b/test-results/21a1abdf-1e1c-43bf-a640-8cc39b11cc46/video)
2023-10-13 12:30:45 +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
Iván Ovejero
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
Milorad FIlipović
1fb5166376
ci: Fix wrong ref in PR workflows which broke external builds (#7431)
Github issue / Community forum post (link here to close automatically):
#7423

This PR updates reference passed to the `checkout` action by the
`cy-pull-request.ym`. This should fix three existing issues:
- Failing unit tests for external pull requests
- Failing e2e tests for external PRs
- Passing empty `ref` to `lint` job which makes linter run on a wrong
branch
2023-10-13 10:44:26 +02:00
Iván Ovejero
ec141416e2
fix(core): Fix expression with paired item with multi-input node (#7424)
https://linear.app/n8n/issue/PAY-630

Minimal repro:
https://internal.users.n8n.cloud/workflow/9HSkIy4T1LqXbm1H
2023-10-12 17:32:14 +02:00
Michael Kret
e9b6ab04cd
fix(Set Node): Null should not throw an error (#7416)
Github issue / Community forum post (link here to close automatically):
2023-10-12 18:07:12 +03: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
Milorad FIlipović
367255ab2c
fix(editor): Fix remote options fetching on every keystroke (#7320)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-12 14:18:35 +02:00
Michael Kret
77039044eb
fix(core): Pg-promise de-initialization fix (#7417)
Github issue / Community forum post (link here to close automatically):

https://community.n8n.io/t/postgres-node-called-end-on-pool-more-than-once/30585/1
2023-10-12 12:10:14 +03:00
कारतोफ्फेलस्क्रिप्ट™
2b6a15e478
fix(core): Do not throw when deleting workflows with executions without binary-data (#7411)
Fixes https://n8nio.sentry.io/issues/4508969090
2023-10-11 18:00:06 +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
कारतोफ्फेलस्क्रिप्ट™
1e0753516c Merge tag 'n8n@1.11.0' 2023-10-11 15:55:52 +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
कारतोफ्फेलस्क्रिप्ट™
c77042f2bb
ci: Enable ARM64 builds for beta images (no-changelog) (#7403)
Fixes #7389
2023-10-11 14:06:02 +02:00
github-actions[bot]
e6ba841c5f
🚀 Release 1.11.0 (#7402)
# [1.11.0](https://github.com/n8n-io/n8n/compare/n8n@1.10.0...n8n@1.11.0)
(2023-10-11)


### Bug Fixes

* **core:** Add an option to enable postgres ssl with default certs
([#6889](https://github.com/n8n-io/n8n/issues/6889))
([789e1e7](789e1e7ed4))
* **core:** Fix error on missing paired item data
([#7399](https://github.com/n8n-io/n8n/issues/7399))
([47e8953](47e8953ec9))
* **core:** Missing pairing info
([#7326](https://github.com/n8n-io/n8n/issues/7326))
([e2c3c7a](e2c3c7aceb))
* **core:** Prevent object deletion request on no prefix match
([#7366](https://github.com/n8n-io/n8n/issues/7366))
([63e11e4](63e11e4be9))
* **editor:** Fix completions for `.json` on quoted node name in Code
node ([#7382](https://github.com/n8n-io/n8n/issues/7382))
([86e7ec7](86e7ec796a))
* **editor:** Implement canvas zoom UX improvements
([#7376](https://github.com/n8n-io/n8n/issues/7376))
([7e06b31](7e06b31a5f))
* **editor:** Make workflow history button available only for dev builds
([#7392](https://github.com/n8n-io/n8n/issues/7392))
([7ed466d](7ed466db7f))
* **editor:** Remove excess margin below run data editor
([#7372](https://github.com/n8n-io/n8n/issues/7372))
([3fa2764](3fa27647d8))
* **editor:** Sanitize HTML binary-data before rendering in the UI
([#7400](https://github.com/n8n-io/n8n/issues/7400))
([2b075bf](2b075bfc2d))
* **editor:** Use display option's @Version specifier
([#7351](https://github.com/n8n-io/n8n/issues/7351))
([afbf0c3](afbf0c3d5e))
* **Google BigQuery Node:** Location default to jobReference
([#7354](https://github.com/n8n-io/n8n/issues/7354))
([97bb703](97bb703d0a))
* **Google Drive Trigger Node:** Add Shared Drives support
([#7369](https://github.com/n8n-io/n8n/issues/7369))
([3e7a4d3](3e7a4d3b2c))
* **Google Sheets Node:** Fix "Maximum call stack size exceeded" error
on too many rows ([#7384](https://github.com/n8n-io/n8n/issues/7384))
([732b15a](732b15a1fa))
* **HTML Node:** Update property fields to not use expressions on drag
([#7379](https://github.com/n8n-io/n8n/issues/7379))
([77643e5](77643e5ccb))
* **Notion Node:** Handle empty values correctly for Notion selects +
multi selects ([#7383](https://github.com/n8n-io/n8n/issues/7383))
([fbcd1d4](fbcd1d40ed))
* **Set Node:** Increase search priority
([#7358](https://github.com/n8n-io/n8n/issues/7358))
([e5ad1e7](e5ad1e7e4d))
* **Webhook Node:** Backward compatible form-data parsing for non-array
files ([#7385](https://github.com/n8n-io/n8n/issues/7385))
([6479eb1](6479eb180f))


### Features

* **core:** Add Job Summary to Worker response
([#7360](https://github.com/n8n-io/n8n/issues/7360))
([b8608ce](b8608cee6d))
* **core:** Integrate object store as binary data manager
([#7253](https://github.com/n8n-io/n8n/issues/7253))
([1a661e6](1a661e6d00))
* **core:** Switch binary filesystem mode to nested path structure
([#7307](https://github.com/n8n-io/n8n/issues/7307))
([0847623](0847623f85))
* **editor:** Make PDF and Audio binary-data viewable in the UI
([#7367](https://github.com/n8n-io/n8n/issues/7367))
([8187be1](8187be1b7d))
* **editor:** Support autologin for upgrade path
([#7316](https://github.com/n8n-io/n8n/issues/7316))
([1dfa052](1dfa052301))
* **Execute Workflow Node:** Run once for each item mode
([#7289](https://github.com/n8n-io/n8n/issues/7289))
([c8c14ca](c8c14ca0af))
* **Item Lists Node:** Split merge binary data
([#7297](https://github.com/n8n-io/n8n/issues/7297))
([965db8f](965db8f7f2))
* **Loop Over Items (Split in Batches) Node:** Automatically add a loop
+ rename ([#7228](https://github.com/n8n-io/n8n/issues/7228))
([7b773cc](7b773cc5cc))
* **Notion Node:** Fetch child blocks recursively
([#7304](https://github.com/n8n-io/n8n/issues/7304))
([193181a](193181a9c6))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-10-11 13:38:34 +02:00
कारतोफ्फेलस्क्रिप्ट™
2b075bfc2d
fix(editor): Sanitize HTML binary-data before rendering in the UI (#7400) 2023-10-11 12:09:19 +02:00
Iván Ovejero
47e8953ec9
fix(core): Fix error on missing paired item data (#7399)
<img width="1015" alt="Capture 2023-10-11 at 10 07 02@2x"
src="https://github.com/n8n-io/n8n/assets/44588767/0305f62d-0a7b-4ce7-b78f-a8d8454e2532">
2023-10-11 11:34:55 +02:00
Csaba Tuncsik
53c3379282
feat(editor): Workflow history [WIP]- Create workflow history item preview component (no-changelog) (#7378)
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
2023-10-11 10:13:04 +02:00
Michael Kret
965db8f7f2
feat(Item Lists Node): Split merge binary data (#7297)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Marcus <marcus@n8n.io>
2023-10-11 10:59:51 +03:00
Michael Kret
e2c3c7aceb
fix(core): Missing pairing info (#7326)
Github issue / Community forum post (link here to close automatically):
2023-10-10 18:36:20 +03: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
Omar Ajoue
7ed466db7f
fix(editor): Make workflow history button available only for dev builds (#7392)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Csaba Tuncsik <csaba.tuncsik@gmail.com>
2023-10-10 12:15:18 +02:00
Iván Ovejero
5c70704f88
refactor: Upgrade to pnpm 8.9 (no-changelog) (#7393)
https://github.com/pnpm/pnpm/releases/tag/v8.9.0
2023-10-10 12:07:13 +02:00
कारतोफ्फेलस्क्रिप्ट™
6b078239eb ci: Identify NPM releases as stable (no-changelog) 2023-10-10 11:44:35 +02:00
Elias Meire
7e06b31a5f
fix(editor): Implement canvas zoom UX improvements (#7376)
- Fix pinch-to-zoom
- Support command + scroll to zoom
- Improve accuracy of zooming (scroll more = zoom more)
- Zoom limits
- Zoom relative to mouse position
2023-10-10 11:07:58 +02:00
Iván Ovejero
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
Iván Ovejero
86e7ec796a
fix(editor): Fix completions for .json on quoted node name in Code node (#7382)
To reproduce, request completion with `$input.first().json.` from a node
with a quote in the name, e.g. `When clicking "Execute Workflow"`.

Context:
https://linear.app/n8n/issue/PAY-635/autocomplete-only-supports-3-levels-of-children#comment-234f738b
2023-10-10 10:05:41 +02:00
Elias Meire
fbcd1d40ed
fix(Notion Node): Handle empty values correctly for Notion selects + multi selects (#7383)
Github issue / Community forum post (link here to close automatically):
2023-10-09 18:04:41 +02:00
कारतोफ्फेलस्क्रिप्ट™
8187be1b7d
feat(editor): Make PDF and Audio binary-data viewable in the UI (#7367)
fixes #7361
2023-10-09 17:43:57 +02:00
कारतोफ्फेलस्क्रिप्ट™
732b15a1fa
fix(Google Sheets Node): Fix "Maximum call stack size exceeded" error on too many rows (#7384)
Fixes:

1. https://community.n8n.io/t/google-sheets-error-maximum-call-stack-size-exceeded/31006
2. https://community.n8n.io/t/error-maximum-call-stack-size-exceeded-in-google-sheet-read-rows/20307
2023-10-09 16:58:16 +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
Csaba Tuncsik
b3247e5935
feat(editor): Workflow history [WIP]- Add restore and clone into new workflow actions (no-changelog) (#7359) 2023-10-09 13:50:08 +02:00
Jon
77643e5ccb
fix(HTML Node): Update property fields to not use expressions on drag (#7379)
When dragging an expression into a "binary property" or "json property"
field we should use the key name rather than the expression.
2023-10-09 10:23:46 +01:00
Ricardo Espinoza
a43f720658
fix: Add role check for upgrade path (#7374)
Github issue / Community forum post (link here to close automatically):

---------

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

<img width="581" alt="Capture 2023-10-06 at 17 48 51@2x"
src="https://github.com/n8n-io/n8n/assets/44588767/c00ecd2e-1f6b-4041-9854-1b6012513a5d">
2023-10-09 09:20:37 +02:00
Elias Meire
3e7a4d3b2c
fix(Google Drive Trigger Node): Add Shared Drives support (#7369)
Github issue / Community forum post (link here to close automatically):

https://community.n8n.io/t/google-drive-node-cant-access-google-shared-drives/8760
2023-10-06 19:59:33 +02:00
Michael Auerswald
b8608cee6d
feat(core): Add Job Summary to Worker response (#7360) 2023-10-06 17:52:27 +02:00
Michael Kret
c8c14ca0af
feat(Execute Workflow Node): Run once for each item mode (#7289)
Github issue / Community forum post (link here to close automatically):
2023-10-06 18:04:33 +03:00
कारतोफ्फेलस्क्रिप्ट™
597669aa62
refactor(core): Move copyInputItems to node helpers (no-changelog) (#7299) 2023-10-06 16:25:58 +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
Iván Ovejero
63e11e4be9
fix(core): Prevent object deletion request on no prefix match (#7366) 2023-10-06 15:46:39 +02:00
Elias Meire
7b773cc5cc
feat(Loop Over Items (Split in Batches) Node): Automatically add a loop + rename (#7228)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Michael Kret <michael.k@radency.com>
2023-10-06 15:31:18 +02:00
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
Michael Kret
193181a9c6
feat(Notion Node): Fetch child blocks recursively (#7304)
Github issue / Community forum post (link here to close automatically):
2023-10-06 14:55:44 +03:00