Commit Graph

10022 Commits

Author SHA1 Message Date
Michael Kret
ccde38a8a8 fix(Monday.com Node): Migrate to api 2023-10 (#8254) 2024-01-10 11:17:00 +02:00
कारतोफ्फेलस्क्रिप्ट™
f208a6e087 ci: Validate docs urls for langchain nodes as well (no-changelog) (#8271) 2024-01-09 19:17:07 +01:00
Tomi Turtiainen
23abd8fb49 fix: Small ui fixes to workflow cred setup modal (no-changelog) (#8280) 2024-01-09 18:32:42 +02:00
Anush
4401db3a2f fix: Fix issue with API key being required for the Qdrant Node (#8237) 2024-01-09 16:09:31 +00:00
Eric Koleda
f11aa06d27 feat(Coda Node): Add User-Agent for requests to Coda (no-changelog) (#7771)
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
2024-01-09 16:02:04 +00:00
vacitbaydarman
e056aa9c4d fix(FTP Node): FTP connection failed due to missing password credential in node (#8131)
Co-authored-by: Marcus <marcus@n8n.io>
2024-01-09 15:39:30 +00:00
Iván Ovejero
d5dcbbf8e5 ci: Fix lint setup in chat package (no-changelog) (#8275) 2024-01-09 16:37:05 +01:00
कारतोफ्फेलस्क्रिप्ट™
d1ca368c7d ci: Fix codecov reporting, and include all packages (no-changelog) (#8276) 2024-01-09 16:18:20 +01:00
Iván Ovejero
5032bf0e34 fix(core): Fix test webhook deregistration (#8247) 2024-01-09 16:02:32 +01:00
Deborah
90404a4b88 docs: Update links in deprecated langchain nodes to avoid linting errors (no-changelog) (#8273) 2024-01-09 14:50:00 +01:00
Iván Ovejero
0dabe5c74e fix: Fix user reinvites on FE and BE (#8261) 2024-01-09 13:52:34 +01:00
कारतोफ्फेलस्क्रिप्ट™
b1c1372bc2 docs: Update primaryDocumentation urls for nodes updated in #7651 (no-changelog) (#8270) 2024-01-09 12:22:12 +01:00
Alex Grozav
af49e95cc7 feat: Add Chat Trigger node (#7409)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Jesper Bylund <mail@jesperbylund.com>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Deborah <deborah@starfallprojects.co.uk>
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Mason Geloso <Mason.geloso@gmail.com>
Co-authored-by: Mason Geloso <hone@Masons-Mac-mini.local>
Co-authored-by: Mutasem Aldmour <mutasem@n8n.io>
2024-01-09 13:11:39 +02:00
कारतोफ्फेलस्क्रिप्ट™
1387541e33 fix(Github Trigger Node): Enforce SSL validation by default (#8265) 2024-01-09 11:34:05 +01:00
Jesper Bylund
9d40ae8b74 fix(editor): Tweaking button sizes in execution preview (#8206) 2024-01-09 10:20:22 +00:00
Iván Ovejero
055cc785fd fix(core): Avoid wrapping ExecutionBaseError to prevent misreporting to Sentry (no-changelog) (#8262) 2024-01-09 10:11:28 +01:00
Tomi Turtiainen
3b996a7da0 feat(core): Validate shutdown handlers on startup (#8260) 2024-01-08 17:46:45 +02:00
oleg
d37b9084b2 feat: Implement MistralCloud Chat & Embeddings nodes (#8239)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-01-08 16:17:55 +01:00
Tomi Turtiainen
38d91c43e3 fix: Adjust set up template button styles (no-changelog) (#8259) 2024-01-08 16:34:28 +02:00
कारतोफ्फेलस्क्रिप्ट™
fc2903096e fix(Webhook Node): Fix handling of form-data files (#8256) 2024-01-08 14:33:14 +01:00
Tomi Turtiainen
b6c42cc084 fix(editor): Unify canvas button positioning (#8258) 2024-01-08 14:44:56 +02:00
Tomi Turtiainen
04836e5c56 feat: Rename template cred setup feature flag (no-changelog) (#8257) 2024-01-08 14:33:21 +02:00
Alex Grozav
8c8caac4e8 feat(editor): Migrate debounce mixin to useDebounce composable (no-changelog) (#8244) 2024-01-08 14:00:49 +02:00
Tomi Turtiainen
8affdf680d fix: Hide cred setup button from canvas (no-changelog) (#8255) 2024-01-08 13:59:04 +02:00
Tomi Turtiainen
7899f7aca5 fix: Adjust telemetry from canvas (no-changelog) (#8252) 2024-01-08 13:56:16 +02:00
Iván Ovejero
90c065e999 refactor(core): Convert workflows controller to DI (no-changelog) (#8253) 2024-01-08 12:54:23 +01:00
कारतोफ्फेलस्क्रिप्ट™
ac1c642fdd fix(core): Do not add Authentication header when authentication type is body (#8201) 2024-01-08 12:38:24 +01:00
Jan Oberhauser
ccb2b076f8 fix: Resolve expressions in credentials following paired item (#8250)
## Summary
Fixes the issue that pairedItem information was not available in
expressions that got used in credentials


## Related tickets and issues

[PAY-1207](https://linear.app/n8n/issue/PAY-1207/paireditem-expressions-not-working-correctly-in-credentials)


## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again.
   > A feature is not complete without tests.

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2024-01-08 09:48:20 +00:00
Tomi Turtiainen
008fd5a917 test: Add e2e tests for cred setup on workflow editor (no-changelog) (#8245)
## Summary

Follow-up to https://github.com/n8n-io/n8n/pull/8240

Adds e2e tests for the template credential setup in workflow editor


## Related tickets and issues

https://linear.app/n8n/issue/ADO-1463/feature-enable-users-to-close-and-re-open-the-setup
2024-01-08 11:35:18 +02:00
Tomi Turtiainen
3cf6704dbb feat: Enable cred setup for workflows created from templates (no-changelog) (#8240)
## Summary

Enable users to open credential setup for workflows that have been
created from templates if they skip it.

Next steps (will be their own PRs):
- Add telemetry events
- Add e2e test
- Hide the button when user sets up all the credentials
- Change the feature flag to a new one

## Related tickets and issues

https://linear.app/n8n/issue/ADO-1637/feature-support-template-credential-setup-for-http-request-nodes-that
2024-01-05 18:07:57 +02:00
Ricardo Espinoza
df5d07bcb8 feat(editor): Update copy: Execute --> Test (#8137)
## Summary

Title self explanatory


## Related tickets and issues
https://linear.app/n8n/issue/ADO-129/update-copy-execute-test

## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
2024-01-05 10:23:51 -05:00
Ricardo Espinoza
2d6e406e21 fix(editor): Vertically center workflow preview loading state (#8231)
## Summary

Title self explanatory

before:

<img width="1198" alt="image"
src="https://github.com/n8n-io/n8n/assets/16496553/26c29cad-b376-40fd-9881-343f5e722d58">

now:

<img width="1211" alt="image"
src="https://github.com/n8n-io/n8n/assets/16496553/9f2d4020-6bf8-481a-b69f-eddb57cfaaae">



## Related tickets and issues
[ado-1645-fix-center-loading-preview-loading-state

](https://linear.app/n8n/issue/ADO-1645/fix-center-loading-preview-loading-state)

## Review / Merge checklist
- [ x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
2024-01-05 09:04:39 -05:00
Iván Ovejero
f2939568cf perf(core): Optimize workflow activation errors (#8242)
At https://github.com/n8n-io/n8n/pull/8213 we introduced Redis hashes
for workflow ownership and manual webhooks...

- to remove clutter from multiple related keys at the top level,
- to improve performance by preventing serializing-deserializing, and
- to guarantee atomicity during concurrent updates in multi-main setup.

Workflow activation errors can also benefit from this. Added test
coverage as well.

To test manually, create a workflow with a trigger with an invalid
credential, edit the workflow's `active` column to `true`, and restart.
The activation error should show as a red triangle on canvas and in the
workflow list.
2024-01-05 13:06:42 +01:00
Iván Ovejero
23a4ac96c0 refactor(core): Continue moving typeorm operators to repositories (no-changelog) (#8212)
Follow-up to: https://github.com/n8n-io/n8n/pull/8186
2024-01-05 13:06:24 +01:00
Elias Meire
bed04ec122 fix(Postgres Node): Stop marking autogenerated columns as required (#8230)
## Summary

Postgres columns can be
- [generated as
identity](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-identity-column/)
- [generated by a custom
expression](https://www.postgresql.org/docs/current/ddl-generated-columns.html)

In these 2 cases, the column is not required when inserting a new row.
This PR makes sure these types of column are not marked required in n8n.

### How to test

1. Create a Postgres table with all types of generated columns:
for version >= 10
  ```sql
  CREATE TABLE "public"."test_table" (
      "id" int8 NOT NULL DEFAULT nextval('test_table_id_seq'::regclass),
      "identity_id" bigint GENERATED ALWAYS AS IDENTITY,
      "id_plus" numeric GENERATED ALWAYS AS (id + 5) STORED,
      "title" varchar NOT NULL,
      "created_at" timestamp DEFAULT now(),
      PRIMARY KEY ("id")
  )
  ```
  Before 10 you have to use serial or bigserial types:
  ```sql
  CREATE TABLE distributors (
     did    serial not null primary key,
     name   varchar(40) NOT NULL CHECK (name <> '')
);
  ```
2. Add a postgres node to canvas and try to insert data without the
generated columns
3. Should successfully insert

More info in Linear/Github issue ⬇️ 

## Related tickets and issues
- fixes #7084
-
https://linear.app/n8n/issue/NODE-816/rmc-not-all-id-fields-should-be-required
-
https://linear.app/n8n/issue/NODE-681/postgres-cant-map-automatically-if-database-requires-a-field

## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again.
   > A feature is not complete without tests.

---------

Co-authored-by: Michael Kret <michael.k@radency.com>
2024-01-05 12:37:33 +01:00
Elias Meire
048b588852 fix: Make params panel double width for all SQL nodes (#8236)
## Summary

Make params panel double width for all SQL nodes

<img width="1445" alt="image"
src="https://github.com/n8n-io/n8n/assets/8850410/422e7c6c-90c9-4cf0-832b-fab7679275d3">


## Related tickets and issues

https://linear.app/n8n/issue/NODE-986/make-all-sql-nodes-have-a-double-width-params-pane

## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again.
   > A feature is not complete without tests.
2024-01-05 12:31:11 +01:00
oleg
184ed8e17d refactor: Migrate genericHelpers mixin to composable (#8220)
## Summary
- Moved out canvas loading handling to canvas store
- Tag editable routes via meta to remove router dependency from generic
helpers
- Replace all occurrences of `genericHelpers` mixin with composable and
audit usage
- Moved out `isRedirectSafe` and `getRedirectQueryParameter` out of
genericHelpers to remove dependency on router

Removing the router dependency is important, because `useRouter` and
`useRoute` compostables are only available if called from component
instance. So if composable is nested within another composable, we
wouldn't be able to use these. In this case we'd always need to inject
the router and pass it through several composables. That's why I moved
the `readonly` logic to router meta and `isRedirectSafe` and
`getRedirectQueryParameter` out as they were only used in a single
component.

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2024-01-05 12:23:28 +01:00
Iván Ovejero
f53c482939 perf(core): Improve caching service (#8213)
Story: https://linear.app/n8n/issue/PAY-1188

- Implement Redis hashes on the caching service, based on Micha's work
in #7747, adapted from `node-cache-manager-ioredis-yet`. Optimize
workflow ownership lookups and manual webhook lookups with Redis hashes.
- Simplify the caching service by removing all currently unused methods
and options: `enable`, `disable`, `getCache`, `keys`, `keyValues`,
`refreshFunctionEach`, `refreshFunctionMany`, `refreshTtl`, etc.
- Remove the flag `N8N_CACHE_ENABLED`. Currently some features on
`master` are broken with caching disabled, and test webhooks now rely
entirely on caching, for multi-main setup support. We originally
introduced this flag to protect against excessive memory usage, but
total cache usage is low enough that we decided to drop this setting.
Apparently this flag was also never documented.
- Overall caching service refactor: use generics, reduce branching, add
discriminants for cache kinds for better type safety, type caching
events, improve readability, remove outdated docs, etc. Also refactor
and expand caching service tests.

Follow-up to: https://github.com/n8n-io/n8n/pull/8176

---------

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
2024-01-05 11:52:44 +01:00
Michael Kret
b201ff8f23 fix(Nextcloud Node): Throw an actual error if server responded with Fatal error (#8234)
## Summary
Nextcloud and Yourls receiving response with OK status as string
containing 'Fatal error', throw an actual error in such case

![image](https://github.com/n8n-io/n8n/assets/88898367/7cba4b8c-3b34-476f-8a35-e10738022427)

## Related tickets and issues

https://linear.app/n8n/issue/NODE-1035/nextcloud-and-yourls-throw-an-actual-error-if-server-responded-with
2024-01-05 12:13:29 +02:00
Tomi Turtiainen
6e78d2346e fix: Adjust 'use template' feature telemetry (no-changelog) (#8232)
- Add extra params to 'User closed cred setup' event
- Fire 'User closed cred setup' only when template has creds
- Skip cred setup page if template has no creds required
- Fire 'User inserted workflow template' also in cred setup
2024-01-05 11:52:10 +02:00
Michael Kret
cda49a4747 fix(Set Node): Field not excluded if dot notation disabled and field was set by using drag-and-drop from ui (#8233)
## Summary
Sanitize fields when dot notation disabled

![image](https://github.com/n8n-io/n8n/assets/88898367/5056bc8d-279e-4bc2-8689-4858fc25474d)

## Related tickets and issues

https://community.n8n.io/t/edit-fields-set-new-set-node-cannot-delete-field-with-space-or-non-latin-character-when-support-dot-notation-is-off/31989

https://linear.app/n8n/issue/NODE-883/set-edit-fields-node-spaces-in-field-names-break-fields-to-exclude
2024-01-05 11:15:33 +02:00
Michael Kret
43e8e5e540 fix(NocoDB Node): Download attachments (#8235)
## Summary
PR fixes Get Many fails to execute when Download Attachments is set to
true

![image](https://github.com/n8n-io/n8n/assets/88898367/7f3ab8c7-e07e-4f31-bf6e-f2e28e6a685a)


## Related tickets and issues
https://community.n8n.io/t/nocodb-unable-to-download-file/33333

https://linear.app/n8n/issue/NODE-960/nocodb-row-get-many-fails-to-execute-when-download-attachments-is-set
2024-01-05 11:15:10 +02:00
Tomi Turtiainen
8a78ae1739 fix: Add template id to workflows created from templates (no-changelog) (#8226)
In #8088 template ID was added to workflow metadata, but it was missing
from workflows that were created using the template credential setup.
This fixes that.
2024-01-05 10:36:59 +02:00
Elias Meire
071e6d6b6e feat(editor): Add fullscreen view to code editor (#8084)
## Summary

<img width="1240" alt="image"
src="https://github.com/n8n-io/n8n/assets/8850410/2819f4ce-c343-431a-8a88-a1bc9c4b572a">
<img width="2649" alt="image"
src="https://github.com/n8n-io/n8n/assets/8850410/36862aaf-cc4c-4668-bdc8-cf5a6f00babe">

1. Add code node and open it
3. Click the fullscreen button in the bottom right
4. A fullscreen dialog should appear and allow editing the code
5. Changes made in the fullscreen dialog should be applied to the
original code editor when closed

It should work the same way for HTML/SQL/JSON editors

⚠️ Modal layout was updated so that modals/dialogs are centered, try to
test some modals

## Related tickets and issues
https://linear.app/n8n/issue/NODE-1009/add-fullscreen-view-to-code-node



## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again.
   > A feature is not complete without tests.

---------

Co-authored-by: Giulio Andreini <andreini@netseven.it>
2024-01-04 17:23:24 +01:00
Ricardo Espinoza
8f22a265d6 fix(editor): Only load suggested templates for owners (#8228)
## Summary
Title is self explanatory
2024-01-04 10:19:25 -05:00
Michael Kret
270328ccf6 feat(HTTP Request Node): Interval Between Requests option for pagination (#8224)
## Summary
Option to add delay between request when using pagination

![image](https://github.com/n8n-io/n8n/assets/88898367/df93f9c7-2569-4d22-a719-494d9dfe8030)

## Related tickets and issues

https://linear.app/n8n/issue/NODE-1029/http-request-pagination-feature-doesnt-use-batch-settings
https://github.com/n8n-io/n8n/issues/8062
2024-01-04 17:11:16 +02:00
Alex Grozav
b50d8058cf feat(editor): Migrate pinData mixin to usePinnedData composable (no-changelog) (#8207)
## Summary
Required as part of NodeView refactoring:
- Migrates `pinData` mixin to `usePinnedData` composable.
- Adds `useActiveNode` and `useNodeType` composables 

## Related tickets and issues
https://linear.app/n8n/issue/N8N-6355/pindata

## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [x] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [x] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again.
   > A feature is not complete without tests.
2024-01-04 11:22:56 +02:00
Michael Kret
f4092a9e49 feat(Switch Node): Overhaul (#7855)
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/switch-node-to-more-than-one-path/32791/2

https://community.n8n.io/t/switch-node-routing-same-value-multiple-output/29424

---------

Co-authored-by: Elias Meire <elias@meire.dev>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2024-01-04 11:03:03 +02:00
Tomi Turtiainen
cd3f5b5b1f fix: Fix template credential setup for nodes that dont have credentials (#8208)
Fix template credential setup for templates whose workflow includes
nodes that require credentials but the workflow definition does not have
them defined. Like for example
https://n8n.io/workflows/1344-save-email-attachments-to-nextcloud/
2024-01-04 10:21:36 +02:00
Ricardo Espinoza
4186884740 fix: Stop showing fake door templates when user clicks on "use template" (no-changelog) (#8219)
## Summary

We stop showing the fake-door templates when the user clicks on "notify
me when it's is available" (this notification is shown when the user
clicks on "use template"). This PR changes this behavior and stop
showing the fakedoor templates when the user clicks on "use template".
Additionally, also increases the "template coming soon" notification
time from 4.5 seconds to 10 seconds.

<img width="395" alt="image"
src="https://github.com/n8n-io/n8n/assets/16496553/2e643b1f-dd52-46f0-951f-29e630241f73">
2024-01-03 17:04:30 -05:00