Commit graph

9203 commits

Author SHA1 Message Date
Iván Ovejero 420b4271a9
refactor(core): Move typeorm operators from Public API (no-changelog) (#8319) 2024-01-16 13:35:43 +01:00
Omar Ajoue e1acb5911a
refactor: Make execution IDs mandatory in BE (#8299)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2024-01-16 09:53:17 +00:00
Iván Ovejero 0f4f472a72
refactor(core): Eliminate dead Redis code (no-changelog) (#8292) 2024-01-16 09:31:45 +01:00
Iván Ovejero 5fbd7971e0
fix(core): Account for immediate confirmation request during test webhook creation (#8329) 2024-01-16 09:17:41 +01:00
Tomi Turtiainen dfa486e4f2
fix: Change setup credentials modal title (no-changelog) (#8338) 2024-01-16 09:31:44 +02:00
Ricardo Espinoza 4277e92ec0
feat(editor): Add new /templates/search endpoint (#8227)
Updating n8n front-end to use the new search endpoint powered by TypeSense.

Endpoint is deployed on staging API so, in order to test it, use this env var:
```export N8N_TEMPLATES_HOST=https://api-staging.n8n.io/api```

**NOTE**: This PR should not be merged until [backend changes](https://github.com/n8n-io/creators-site/pull/118) are merged and released.

## Related tickets and issues
https://linear.app/n8n/issue/ADO-1555/update-in-app-search-to-work-with-the-new-back-end


## 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))
- [ ] 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-15 16:19:24 -05:00
कारतोफ्फेलस्क्रिप्ट™ bb2be8d705
fix(Microsoft SQL Node): Fix "Maximum call stack size exceeded" error on too many rows (#8334) 2024-01-15 17:52:39 +01:00
Michael Kret c921665f9a
fix(AwsS3 Node): Return confirmation of success after upload (#8312) 2024-01-15 18:00:47 +02:00
Jon cf7131d766
fix(Google Drive Node): Fix issue preventing service account from downloading files (#7642) 2024-01-15 15:06:47 +00:00
कारतोफ्फेलस्क्रिप्ट™ 52a2e25a25
fix(core): Replace all moment imports with moment-timezone (#8337) 2024-01-15 15:45:33 +01:00
Ricardo Espinoza e3cedf7db0
fix(Venafi TLS Protect Cloud Node): Remove parameter Application Server Type (#8325)
## Summary
Parameter was removed from the API. 

## 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-15 09:25:59 -05:00
Ricardo Espinoza dac0ddaf16
fix: Typos in nodes infoboxes (no-changelog) (#8324)
## Summary

Title self explanatory


## Related tickets and issues
https://linear.app/n8n/issue/ADO-1687/bug-fix-typo-on-info-box

## 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-15 09:12:43 -05:00
Ricardo Espinoza 057d7d0318
fix(Venafi TLS Protect Cloud Trigger Node): Handle new webhook payload format (#8326) 2024-01-15 09:03:23 -05:00
Ricardo Espinoza 6b92d49ea5
fix(editor): Fix issue with synchronization table on LDAP not loading data (#8327)
## Summary

When we migrated to Vue3, we updated to a new component and did not provide the right props. 

before:

https://www.loom.com/share/ce12b21fdda44176b3e949a00c582252


now:

https://www.loom.com/share/354d1dcb51bd47a9910d5bfe34c7c9b8


## Related tickets and issues
https://linear.app/n8n/issue/PAY-1134/ldap-synchronization-table-in-ui-remains-empty-even-after-successful

## 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-15 09:03:10 -05:00
Ricardo Espinoza 3c2a4000ae
refactor(core): Use DI for LDAP code (no-changelog) (#8248)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-15 09:01:48 -05:00
Michael Kret a6a5372b5f
fix(OpenAI Node): Load correct models for operation (#8313) 2024-01-15 15:13:38 +02:00
Deborah c8a2fe05d2
docs: Update link in manual chat trigger node (no-changelog) (#8328) 2024-01-15 11:54:32 +00:00
oleg 464be93323
feat: Implement Chat Memory Manager node (#8127)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-01-15 10:13:54 +02:00
oleg 851060dd3f
fix: Add fallback resolver for langchain modules (#8308)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2024-01-12 18:33:33 +01:00
कारतोफ्फेलस्क्रिप्ट™ 63b738a542
fix(Ollama Model Node): Use a simpler credentials test (#8318) 2024-01-12 16:37:46 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0776814ed8
fix(core): Prevent invalid compressed responses from making executions stuck forever (#8315) 2024-01-12 15:18:46 +01:00
Michael Kret e0804768e8
fix(Supabase Node): Pagination for get all rows (#8311) 2024-01-12 15:14:10 +02:00
Iván Ovejero 1a0e285553
feat(core): Implement inter-main communication for test webhooks in multi-main setup (#8267) 2024-01-12 11:48:58 +01:00
Tomi Turtiainen 135553bd6b
feat: Redirect users without feature flag from template cred setup (no-changelog) (#8302) 2024-01-12 12:10:39 +02:00
oleg c2748802a2
ci: Add @aws-sdk/credential-provider-node and @aws-sdk/types modules (no-changelog) (#8310)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2024-01-11 18:46:21 +01:00
Alex Grozav 1824ff6a13
fix(editor): Add back missing computed prop (no-changelog) (#8306) 2024-01-11 16:56:42 +02:00
Alex Grozav 361cda6a7e
fix: Disable @typescript-eslint/no-use-before-define rule (no-changelog) (#8304) 2024-01-11 16:15:54 +02:00
Alex Grozav 2b98835bf4
fix(editor): Remove pinData mixin (no-changelog) (#8303) 2024-01-11 15:04:52 +02:00
Csaba Tuncsik 3b8ccb9fb9
fix(editor): Properly set colors for connections and labels on nodes with pinned data (#8209)
Co-authored-by: Alex Grozav <alex@grozav.com>
2024-01-11 14:03:23 +01:00
oleg 884396ea0d
fix(API): Fix manual chat trigger execution (#8300)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2024-01-11 14:01:07 +01:00
Mutasem Aldmour 93b969a327
fix: Fix node graph telemetry with default values (#8297) 2024-01-11 13:25:40 +01:00
Elias Meire dcc76f3480
fix(editor): Add read only mode to filter component (#8285) 2024-01-11 10:28:15 +01:00
Tomi Turtiainen d877d3ce92
fix: Adjust cred setup telemetry (no-changelog) (#8294) 2024-01-10 19:41:25 +02:00
कारतोफ्फेलस्क्रिप्ट™ 05c43faa2d
fix(HTTP Request Node): Delete response.request only when it's a valid circular references (#8293) 2024-01-10 18:05:19 +01:00
Omar Ajoue 8c7f39907f
fix: Properly output saml validation errors (#8284) 2024-01-10 16:56:04 +01:00
कारतोफ्फेलस्क्रिप्ट™ 53612def31 Merge tag 'n8n@1.24.0' 2024-01-10 16:23:39 +01:00
github-actions[bot] 8a4231e9f6
🚀 Release 1.24.0 (#8290)
Co-authored-by: ivov <ivov@users.noreply.github.com>
2024-01-10 16:16:25 +01:00
Alex Grozav d32e6a60da
feat(editor): Migrate deviceSupportHelpers mixin to useDeviceSupport composable (no-changelog) (#8289) 2024-01-10 16:42:01 +02:00
Omar Ajoue 8a7c629ea1
fix: Store workflow settings when saving an execution (#8288) 2024-01-10 14:20:37 +00:00
Elias Meire 3b01eb60c9
fix(MySQL Node): Only escape table names when needed (#8246) 2024-01-10 14:41:00 +01:00
Elias Meire dce28f9cb9
feat(Google Sheets Node): Add "By Name" option to selector for Sheets (#8241)
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-01-10 14:30:09 +01:00
Michael Kret e796e7f06d
feat(MongoDB Node): Add support for TLS (#8266) 2024-01-10 15:02:05 +02:00
Alex Grozav 94c9cd4080
feat: Update @n8n/chat exports and add example images (no-changelog) (#8274) 2024-01-10 14:50:41 +02:00
Michael Kret ccde38a8a8
fix(Monday.com Node): Migrate to api 2023-10 (#8254) 2024-01-10 11:17:00 +02: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
Michael Kret edbc5bb59a
fix(core): Unsafe isAxiosError property access (no-changelog) (#8197)
## Summary

in some cases the actual error does not get returned. It is apparently
reproducible with the OpenAI node but will probably also be a bug and so
a problem in other nodes:


https://community.n8n.io/t/problem-in-node-openai-cannot-read-properties-of-undefined-reading-isaxioserror/34716/9

## Related tickets and issues


https://linear.app/n8n/issue/NODE-1028/actual-error-does-not-always-get-returned

## 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-03 20:43:31 +02:00
Ricardo Espinoza 8a3c87f69c
fix(editor): Items count display in running workflow (#8148)
## Summary
> Describe what the PR does and how to test. Photos and videos are
recommended.

Every time the `MainHeader` component is created, we register a new
handler for the "push" messages. Unfortunately this becomes an issue if
you go multiple times to a page that renders the `MainHeader`, e.g
`/workflow/:id`, without refreshing the page; because all handlers will
be called, causing behavior duplication.

I added the possibility of passing an ID, and made impossible to have
multiple handlers with the same ID However, it does not seems to be
needed to support an array of handlers in the pushConnection store. If
that is the case:

1. We might want to have only one handler for the push connections at
all times, which would be a much simpler approach.
2. Register the handler on app.mount instead.

The issue seems to have been introduced
[here](https://github.com/n8n-io/n8n/pull/7763/files#diff-f5dae80a64b9951bb6691f1b9d439423cf84fa0cc9601b3f2c00904f3135e8deR48)

Before the change:

https://www.loom.com/share/85cf8ef896254d848a13a6c6438daa47

With the change:

https://www.loom.com/share/f5c4ffac421d46cc8e389364e1c357d3

## Related tickets and issues

https://linear.app/n8n/issue/ADO-1596/bug-items-count-display-in-running-workflow


## 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.
2024-01-03 11:31:33 -05:00
Iván Ovejero 22a5f5258d
feat(core): Cache test webhook registrations (#8176)
In a multi-main setup, we have the following issue. The user's client
connects to main A and runs a test webhook, so main A starts listening
for a webhook call. A third-party service sends a request to the test
webhook URL. The request is forwarded by the load balancer to main B,
who is not listening for this webhook call. Therefore, the webhook call
is unhandled.

To start addressing this, cache test webhook registrations, using Redis
for queue mode and in-memory for regular mode. When the third-party
service sends a request to the test webhook URL, the request is
forwarded by the load balancer to main B, who fetches test webhooks from
the cache and, if it finds a match, executes the test webhook. This
should be transparent - test webhook behavior should remain the same as
so far.

Notes:
- Test webhook timeouts are not cached. A timeout is only relevant to
the process it was created in, so another process retrieving from Redis
a "foreign" timeout will be unable to act on it. A timeout also has
circular references, so `cache-manager-ioredis-yet` is unable to
serialize it.
- In a single-main scenario, the timeout remains in the single process
and is cleared on test webhook expiration, successful execution, and
manual cancellation - all as usual.
- In a multi-main scenario, we will need to have the process who
received the webhook call send a message to the process who created the
webhook directing this originating process to clear the timeout. This
will likely be implemented via execution lifecycle hooks and Redis
channel messages checking session ID. This implementation is out of
scope for this PR and will come next.
- Additional data in test webhooks is not cached. From what I can tell,
additional data is not needed for test webhooks to be executed.
Additional data also has circular references, so
`cache-manager-ioredis-yet` is unable to serialize it.

Follow-up to: #8155
2024-01-03 16:58:33 +01:00
github-actions[bot] 053503531f
🚀 Release 1.23.0 (#8205)
#
[1.23.0](https://github.com/n8n-io/n8n/compare/n8n@1.22.0...n8n@1.23.0)
(2024-01-03)


### Bug Fixes

* **Asana Node:** Omit body from GET, HEAD, and DELETE requests
([#8057](https://github.com/n8n-io/n8n/issues/8057))
([15ffd4f](15ffd4fb9f))
* **core:** Better input validation for the changeRole endpoint
([#8189](https://github.com/n8n-io/n8n/issues/8189))
([cfe9525](cfe9525dd4))
* **core:** Fix issue that pinnedData is not used with Test-Webhooks
([#8123](https://github.com/n8n-io/n8n/issues/8123))
([fa8bd8b](fa8bd8b9eb))
* **core:** Handle empty executions table in pruning in migrations
([#8121](https://github.com/n8n-io/n8n/issues/8121))
([ffaa30d](ffaa30ddc4))
* **core:** Remove circular dependency in WorkflowService and
ActiveWorkflowRunner
([#8128](https://github.com/n8n-io/n8n/issues/8128))
([21788d9](21788d9153))
* **core:** Use pinned data only for manual mode
([#8164](https://github.com/n8n-io/n8n/issues/8164))
([ea7e76f](ea7e76fa3b))
* **Discord Node:** Remove unnecessary requirement on parameters
([#8060](https://github.com/n8n-io/n8n/issues/8060))
([ef3a577](ef3a57719e))
* **editor:** Avoid sanitizing output to search node data
([#8126](https://github.com/n8n-io/n8n/issues/8126))
([c83d9f4](c83d9f45ba))
* **editor:** Enable explicit undo keyboard shortcut across all code
editors ([#8178](https://github.com/n8n-io/n8n/issues/8178))
([cf7f668](cf7f6688ba))
* **editor:** Fix operation change failing in certain conditions
([#8114](https://github.com/n8n-io/n8n/issues/8114))
([711fa2b](711fa2b925))
* **editor:** Fix templates view layout
([#8196](https://github.com/n8n-io/n8n/issues/8196))
([d01e42a](d01e42a2aa))
* **editor:** Fix UI urls when hosted behind a path prefix
([#8198](https://github.com/n8n-io/n8n/issues/8198))
([5c078f1](5c078f1b3d))
* **editor:** Prevent browser zoom when scrolling inside sticky edit
mode ([#8116](https://github.com/n8n-io/n8n/issues/8116))
([e928210](e928210ccd))
* **editor:** Prevent canvas undo/redo when NDV is open
([#8118](https://github.com/n8n-io/n8n/issues/8118))
([39e45d8](39e45d8b92))
* **editor:** Prevent storing pairedItem data inside of pinData
([#8173](https://github.com/n8n-io/n8n/issues/8173))
([405e267](405e26757e))
* **GitHub Node:** Fix issue that File->Get did not run once per item
([#8190](https://github.com/n8n-io/n8n/issues/8190))
([11cda41](11cda41214))
* **Invoice Ninja Node:** Fix issue with custom invoice numbers not
working with v5 ([#8200](https://github.com/n8n-io/n8n/issues/8200))
([3b6ae2d](3b6ae2d0a5))
* **Microsoft Excel 365 Node:** Ensure arg is string during worksheet
table search ([#8154](https://github.com/n8n-io/n8n/issues/8154))
([8e873ca](8e873ca2f3))
* **Notion Node:** Ensure arg is string during page ID extraction
([#8153](https://github.com/n8n-io/n8n/issues/8153))
([e94b8a6](e94b8a6c30))
* **Redis Trigger Node:** Activating a workflow with a Redis trigger
fails ([#8129](https://github.com/n8n-io/n8n/issues/8129))
([a169b74](a169b74062))
* **Schedule Trigger Node:** Use the correct `moment` import
([#8185](https://github.com/n8n-io/n8n/issues/8185))
([17a4e2e](17a4e2ea80))
* Show public API upgrade CTA when feature is not enabled
([#8109](https://github.com/n8n-io/n8n/issues/8109))
([e9c7fd7](e9c7fd7397))


### Features

* **core:** Add closeFunction support to Sub-Nodes
([#7708](https://github.com/n8n-io/n8n/issues/7708))
([bec0fae](bec0faed9e))
* **core:** Add user.profile.beforeUpdate hook
([#8144](https://github.com/n8n-io/n8n/issues/8144))
([e126ed7](e126ed74f3))
* **core:** Improvements/overhaul for nodes working with binary data
([#7651](https://github.com/n8n-io/n8n/issues/7651))
([5e16dd4](5e16dd4ab4))
* **core:** Remove discontinued crypto-js
([#8104](https://github.com/n8n-io/n8n/issues/8104))
([01e9a79](01e9a79238))
* **core:** Unify application components shutdown
([#8097](https://github.com/n8n-io/n8n/issues/8097))
([3a881be](3a881be6c2))
* **editor:** Add node execution status indicator to output panel
([#8124](https://github.com/n8n-io/n8n/issues/8124))
([ab74bad](ab74bade05))
* **editor:** Add template Id to workflow metadata
([#8088](https://github.com/n8n-io/n8n/issues/8088))
([517b050](517b050d0a))
* **Home Assistant Node:** Use the new Home Assistant logo
([#8150](https://github.com/n8n-io/n8n/issues/8150))
([518a99e](518a99e528))
* **Qdrant Vector Store Node:** Qdrant vector store support
([#8080](https://github.com/n8n-io/n8n/issues/8080))
([66460f6](66460f66b0))
* **Wordpress Node:** Add option to ignore error when using self signed
certificates ([#8199](https://github.com/n8n-io/n8n/issues/8199))
([65c8e12](65c8e12b96))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2024-01-03 13:41:28 +01:00
Michael Kret 5e16dd4ab4
feat(core): Improvements/overhaul for nodes working with binary data (#7651)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Marcus <marcus@n8n.io>
2024-01-03 13:08:16 +02:00
Bin 259323b97e
docs: Update workflow link from ai-beta to master (#8183)
The ai_beta branch had deleted.

## Summary
> Just replaced the branch name.



## Related tickets and issues
> No.



## 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.
2024-01-03 10:54:21 +00:00
Jon 65c8e12b96
feat(Wordpress Node): Add option to ignore error when using self signed certificates (#8199)
## Summary
Adds option to ignore SSL issues to the Wordpress node, This is useful
when using a self signed certificate in a local setup.


## Related tickets and issues
https://github.com/n8n-io/n8n/issues/8151
2024-01-03 10:52:01 +00:00
कारतोफ्फेलस्क्रिप्ट™ 5c078f1b3d
fix(editor): Fix UI urls when hosted behind a path prefix (#8198)
fixes #8061
2024-01-03 11:37:01 +01:00
Anush 66460f66b0
feat(Qdrant Vector Store Node): Qdrant vector store support (#8080)
## Summary
This PR intends to add [Qdrant](https://qdrant.tech/) as a supported
vectorstore node to load and retrieve documents from in a workflow.


## Review / Merge checklist
- [x] PR title and summary are descriptive. 
- [x] Node/credentials documentation to be updated in
https://github.com/n8n-io/n8n-docs/pull/1796.

---------

Co-authored-by: oleg <me@olegivaniv.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-03 11:14:51 +01:00
Nihaal Sangha ef3a57719e
fix(Discord Node): Remove unnecessary requirement on parameters (#8060)
## Summary
The PR removes the requirement on 2 fields: the `content` and the
`description` of embeds. Discord requires neither of these fields and as
they weren't required in the v1 node, it prevents migrating to the v2
node for users not providing one of them. Discord does require
*something* to be sent however, whether an attachment, an embed or
content, so this could be used instead if necessary.

## 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.~~ (v2 is not documented)
- [x] ~~Tests included.~~ (If more complex requirements are set then a
test should be added although I haven't worked with n8n's tests before)

---------

Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
2024-01-03 11:21:22 +02:00
Jon 3b6ae2d0a5
fix(Invoice Ninja Node): Fix issue with custom invoice numbers not working with v5 (#8200)
## Summary
The v5 API expects the invoice number to under the `number` property
rather than `invoice_number`, At some point this month I am going to
bring in the big PR that fixes all of the v5 issues.

## Related tickets and issues
https://github.com/n8n-io/n8n/issues/8191
2024-01-03 09:02:19 +00:00
कारतोफ्फेलस्क्रिप्ट™ cfe9525dd4
fix(core): Better input validation for the changeRole endpoint (#8189)
also refactored the code to
1. stop passing around `scope === 'global'`, since this code can be used
only for changing globalRole.
2. leak less details when input validation fails.

## Review / Merge checklist
- [x] PR title and summary are descriptive
- [x] Tests included
2024-01-03 09:33:35 +01:00
Jan Oberhauser 11cda41214
fix(GitHub Node): Fix issue that File->Get did not run once per item (#8190)
## Summary
The Operation File -> Get is implemented wrong. Instead of downloading a
file for each of the items it only downloads the file of the first one
and then stops.


## Related tickets and issues

https://linear.app/n8n/issue/NODE-1027/fix-issue-that-github-node-file-get



## 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: Michael Kret <michael.k@radency.com>
2024-01-03 07:06:41 +02:00
Iván Ovejero 40c1eeeddd
refactor(core): Continue moving typeorm operators to repositories (no-changelog) (#8186)
Follow-up to: #8163
2024-01-02 17:53:24 +01:00
Iván Ovejero 0ca2759d75
refactor: Optimize SVG icons for nodes (#8195)
Running `svgo` to optimize icon size for nodes.
2024-01-02 17:40:08 +01:00
Milorad FIlipović d01e42a2aa
fix(editor): Fix templates view layout (#8196)
## Summary
Recent changes to the template info carousel component broke the layout
of the templates way so it had excessive width when templates categories
carousel was visible.
This PR reverts disables CSS that held it in place.


## Related tickets and issues
Fixes ADO-1628


## 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-02 14:13:09 +01:00
कारतोफ्फेलस्क्रिप्ट™ 17a4e2ea80
fix(Schedule Trigger Node): Use the correct moment import (#8185)
Any node that uses `moment.tz` should import from `moment-timezone`
instead of `moment`.

This fixes #8184
2024-01-02 12:50:31 +01:00
Iván Ovejero e94b8a6c30
fix(Notion Node): Ensure arg is string during page ID extraction (#8153)
https://n8nio.sentry.io/issues/4765178087

Co-authored-by: Michael Kret <michael.k@radency.com>
2024-01-02 10:21:32 +01:00
Iván Ovejero 8e873ca2f3
fix(Microsoft Excel 365 Node): Ensure arg is string during worksheet table search (#8154)
https://n8nio.sentry.io/issues/4748574897

---------

Co-authored-by: Michael Kret <michael.k@radency.com>
2024-01-02 10:07:12 +01:00
Tomi Turtiainen e126ed74f3
feat(core): Add user.profile.beforeUpdate hook (#8144)
Add `user.profile.beforeUpdate` hook so we can prevent user email change
if it overlaps with other users email.
2024-01-02 10:15:12 +02:00
Iván Ovejero ece48d6a13
refactor(core): Unify workflow controllers (no-changelog) (#8175)
Combine EE workflows controller into main workflows controller,
protecting paid functionality behind feature flag checks.
2023-12-29 14:23:58 +01:00
Alex Grozav f5a4bfe40c
feat(editor): Migrate copyPaste mixin to composables (no-changelog) (#8179) 2023-12-29 12:13:24 +02:00
कारतोफ्फेलस्क्रिप्ट™ 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
कारतोफ्फेलस्क्रिप्ट™ 1286d6583c
ci: Disable import/no-extraneous-dependencies in frontend tests (no-changelog) (#8182)
supersedes #8180
2023-12-29 10:45:55 +01:00
Iván Ovejero 4bad43dd66
refactor(core): Move typeorm operators from WaitTracker to ExecutionRepository (no-changelog) (#8163)
Follow-up to: #8145

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-28 19:22:09 +01:00
कारतोफ्फेलस्क्रिप्ट™ cf7f6688ba
fix(editor): Enable explicit undo keyboard shortcut across all code editors (#8178)
Fixes [ADO-801](https://linear.app/n8n/issue/ADO-801),
[PAY-632](https://linear.app/n8n/issue/PAY-632), and
[PAY-730](https://linear.app/n8n/issue/PAY-730)
Also fixes #5297

## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-28 14:55:23 +01:00
Iván Ovejero e418d42450
refactor(core): Move typeorm operators from various sources into repositories (no-changelog) (#8174)
Follow-up to: #8165
2023-12-28 13:14:10 +01:00
Alex Grozav 405e26757e
fix(editor): Prevent storing pairedItem data inside of pinData (#8173)
## Summary
When pinning data after an execution, the pairedItem data gets stored in
the pinData field. This creates problems during executions.

Before:
<img width="1141" alt="image"
src="https://github.com/n8n-io/n8n/assets/6179477/e555d00a-6ff2-4601-8072-3194a0c5e1c2">

After: 
<img width="1140" alt="image"
src="https://github.com/n8n-io/n8n/assets/6179477/d97e9d90-28f5-4dcc-b63e-62497c646994">


## Related tickets and issues

https://linear.app/n8n/issue/PAY-812/wrong-error-shown-when-paireditem-fails-because-of-incorrect-pinned


## 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.
2023-12-28 12:59:01 +02:00
कारतोफ्फेलस्क्रिप्ट™ c84d3c3bbf
refactor(core): Extract ActiveWebhooks out of ActiveWorkflowRunner (no-changelog) (#8171)
## Summary
This PR continues refactoring webhooks code for better modularity.
Continued from #8069 to bring back `ActiveWebhooks`, but this time
actually handling active webhook calls in this class.

## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-28 10:04:32 +01:00
कारतोफ्फेलस्क्रिप्ट™ 68cff4c59e
refactor(editor): Improve linting for component and prop names (no-changelog) (#8169) 2023-12-28 09:49:58 +01:00
Iván Ovejero 639afcd7a5
refactor(core): Simplify state in test webhooks (no-changelog) (#8155)
This PR simplifies state in test webhooks so that it can be cached
easily. Caching this state will allow us to start using Redis for manual
webhooks, to support manual webhooks to work in multi-main setup.

- [x] Convert `workflowWebhooks` to a getter - no need to optimize for
deactivation
- [x] Remove array from value in `TestWebhooks.webhookUrls`
- [x] Consolidate `webhookUrls` and `registeredWebhooks`
2023-12-28 09:28:12 +01:00
Iván Ovejero 0e582594ea
refactor(core): Move more typeorm operators to UserRepository (no-changelog) (#8165)
Follow-up to: #8163
2023-12-28 09:27:47 +01:00
Iván Ovejero 5aee7a1d48
refactor(core): Move typeorm operators from SourceControlExportService to repositories (no-changelog) (#8168)
Follow-up to: #8165
2023-12-28 09:27:38 +01:00
Jan Oberhauser ea7e76fa3b
fix(core): Use pinned data only for manual mode (#8164)
## Summary
Fixes the issue that pinned data gets also used for production executions.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-27 18:22:33 +01:00
Iván Ovejero 2c6ffb0153
fix(core): Minor improvements to multi-main setup (no-changelog) (#8012)
- Move webhook, poller and trigger activation logs closer to activation
event
- Enrich response of `/debug/multi-main-setup`
- Ensure workflow updates broadcast activation state changes only if
state changed
- Fix bug on workflow activation after leadership change
- Ensure debug controller is not available in production

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-12-27 16:55:01 +01:00
कारतोफ्फेलस्क्रिप्ट™ 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
geodic 518a99e528
feat(Home Assistant Node): Use the new Home Assistant logo (#8150)
Updated Home Assistant logo to the newer 25th anniversary version.

https://www.home-assistant.io/blog/2023/09/17/a-refreshed-logo-for-home-assistant/
2023-12-27 11:26:20 +01:00
Jan Oberhauser fa8bd8b9eb
fix(core): Fix issue that pinnedData is not used with Test-Webhooks (#8123)
## Summary
When a workflow gets started via a Test-Webhook the pinned data does get
ignored and the nodes executed anyway.



## Related tickets and issues
> Include links to **Linear ticket** or Github issue or Community forum
post. Important in order to close *automatically* and provide context to
reviewers.



## 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.
- [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.

---------

Co-authored-by: Mutasem Aldmour <mutasem@n8n.io>
2023-12-27 10:51:53 +01:00
Iván Ovejero 7b26a7a621
refactor(core): Move typeorm operators from PruningService to ExecutionRepository (no-changelog) (#8145)
Follow-up to https://github.com/n8n-io/n8n/pull/8143
2023-12-22 17:49:15 +01:00
Iván Ovejero a59d78de18
refactor(core): Move more typeorm operators to repositories (no-changelog) (#8143)
Follow-up to #8139
2023-12-22 16:20:30 +01:00
कारतोफ्फेलस्क्रिप्ट™ 4007163651
refactor(core): Delete unused code, and fix typings in tests (no-changelog) (#8142) 2023-12-22 15:41:29 +01:00
Omar Ajoue 5778b3bac8
docs: Improve documentation for the toTitleCase function (no-changelog) (#8140)
## Summary
Update description of `toTitleCase` to better explain what it does.


## Related tickets and issues

https://linear.app/n8n/issue/PAY-857/expressions-totitlecase-fails-to-lowercase-the-non-leading-letters


## 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.

---------

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-12-22 14:22:05 +00:00
कारतोफ्फेलस्क्रिप्ट™ baee47a276
refactor(core): Move all base URLs to UrlService (no-changelog) (#8141)
This change kept coming up in #6713, #7773, and #8135. 
So this PR moves the existing code without actually changing anything,
to help get rid of some of the circular dependencies.


## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-22 15:19:50 +01:00
Milorad FIlipović 517b050d0a
feat(editor): Add template Id to workflow metadata (#8088)
## Summary
Adding a link between the workflow and the template it originated from
by saving `templateId` in the workflow metadata

## Related tickets and issues
ADO-1537

## 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.
- [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.
2023-12-22 15:07:05 +01:00
Mutasem Aldmour c83d9f45ba
fix(editor): Avoid sanitizing output to search node data (#8126)
## Summary
In search feature, output sanitization was added to support `<mark` tag
in output panel to highlight searched text. This removes any html like
data in the input/output panel..
This PR removes sanitization while keeping text highlights..


## Related tickets and issues
https://community.n8n.io/t/n8n-output/33997
https://community.n8n.io/t/html-tags-in-editor-rendered/34240
https://github.com/n8n-io/n8n/issues/8081
https://linear.app/n8n/issue/ADO-1594/node-output-view-not-consistent
https://linear.app/n8n/issue/ADO-1597/bug-xml-display-issue


## 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.
2023-12-22 15:03:40 +01:00
Milorad FIlipović e928210ccd
fix(editor): Prevent browser zoom when scrolling inside sticky edit mode (#8116)
## Summary
Fixes a bug where zooming inside a sticky edit mode would trigger
browser zoom. Instead, triggers regular canvas zoom.


## Related tickets and issues
Fixes ADO-1581


## 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.
2023-12-22 14:18:32 +01:00
Iván Ovejero c6dd935895
refactor(core): Move some typeorm operators to repositories (no-changelog) (#8139)
Moving some persistence logic to repositories to reduce circular
dependencies.
2023-12-22 13:35:23 +01:00
Milorad FIlipović ab74bade05
feat(editor): Add node execution status indicator to output panel (#8124)
## Summary
Adding node execution status indicator to the output panel ([Figma
HiFi](https://www.figma.com/file/iUduV3M4W5wZT7Gw5vgDn1/NDV-output-pane-success-state)).

## Related tickets and issues
Fixes ADO-480

## 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.
- [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.
2023-12-22 12:50:36 +01:00
Tomi Turtiainen 3a881be6c2
feat(core): Unify application components shutdown (#8097)
## Summary

Add `ShutdownService` and `OnShutdown` decorator for more unified way to
shutdown different components. Use this new way in the following
components:

- HTTP(S) server
- Pruning service
- Push connection
- License

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-22 12:39:58 +02:00
कारतोफ्फेलस्क्रिप्ट™ c158ca2471
refactor(core): Upgrade more dependencies to remove axios 0.x (no-changelog) (#8105)
Had to [fork localtunnel](https://github.com/n8n-io/localtunnel) to get
the axios upgrade, since localtunnel doesn't seem to be actively maintained.
2023-12-22 11:39:20 +01:00
कारतोफ्फेलस्क्रिप्ट™ 021add0f39
refactor(core): Move active workflows endpoints to a decorated controller class (no-changelog) (#8101)
This is a continuation of migrating all rest endpoints to decorated controller classes
2023-12-22 11:28:42 +01:00
Milorad FIlipović 39e45d8b92
fix(editor): Prevent canvas undo/redo when NDV is open (#8118)
## Summary
Preventing canvas undo/redo while NDV or any modal is open. We already
had a NDV open check in place but looks like it was broken by unreactive
ref inside `useHistoryHelper` composable.
This PR fixes this by using store getter directly inside the helper
method and adds modal open check.

## Related tickets and issues
Fixes ADO-657

## 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.
2023-12-22 08:42:53 +01:00
Milorad FIlipović 711fa2b925
fix(editor): Fix operation change failing in certain conditions (#8114)
## Summary
This PR handles the case when there are multiple parameters with the
same name but different `options` and `displayOptions`. In this case, if
one of such fields is set, changing the dependent parameter value so the
other should be shown causes an error in case their options are not
compatible (this
[check](7806a65229/packages/workflow/src/NodeHelpers.ts (L786))).

#### Example:
LDAP node has two `options` properties with the same name:
1. `attributes` with predefined options (`add`, `replace`, `delete`).
Shown when **Update** operation is selected
2. `attributes` with a collection of `attribute` objects. Shows for the
**Create** operation

Setting one of these parameter values and switching operation so the
other is shown breaks the app.
This PR checks if there is a value saved for such parameter and removes
it before calling `getNodeParameters` in `valueChanged` handler.

## Related tickets and issues
Fixes ADO-1589

## 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.
- [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.
2023-12-22 08:41:20 +01:00
Aaron Gutierrez 15ffd4fb9f
fix(Asana Node): Omit body from GET, HEAD, and DELETE requests (#8057)
Avoid unnecessarily including a request body with GET and HEAD requests.
Per RFC 7230 clients should not include a body for these requests, and
we (Asana) are rolling out an infrastructure change that will cause
these requests to fail.
2023-12-21 19:21:08 +01:00
Ricardo Espinoza a169b74062
fix(Redis Trigger Node): Activating a workflow with a Redis trigger fails (#8129)
## Summary
> Describe what the PR does and how to test. Photos and videos are
recommended.

We were awaiting for the promise to resolve before returning. Because
the trigger method does not return until the first message is received
or the connection errors, the requests that actives the workflows did
not respond making the activation button irresponsive.

Without the change:

https://www.loom.com/share/769b26d5d4ee407e999344fab3905eae

With the change:

https://www.loom.com/share/d1691ee1941248bc97f2ed97b0c129a3

## Related tickets and issues

https://linear.app/n8n/issue/ADO-895/activating-a-workflow-with-a-redis-trigger-fails


## 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.
2023-12-21 12:29:26 -05:00
कारतोफ्फेलस्क्रिप्ट™ 1d2666b37c
refactor(Peekalink Node): Stricter typing for Peekalink api call + Tests (no-changelog) (#8125)
This PR is an example for how we can
1. improve typing and remove boilerplate code in may of our nodes
2. use nock to write effective unit tests for nodes that make external
calls

## Review / Merge checklist
- [x] PR title and summary are descriptive
- [x] Add tests
2023-12-21 18:22:32 +01:00
कारतोफ्फेलस्क्रिप्ट™ 21788d9153
fix(core): Remove circular dependency in WorkflowService and ActiveWorkflowRunner (#8128)
## Summary
A circular dependency between `WorkflowService` and
`ActiveWorkflowRunner` is sometimes causing `this.activeWorkflowRunner`
to be `undefined` in `WorkflowService`.
Breaking this circular dependency should hopefully fix this issue.

## Related tickets and issues
#8122


## Review / Merge checklist
- [x] PR title and summary are descriptive
- [ ] Tests included
2023-12-21 17:37:08 +01:00
Ricardo Espinoza e9c7fd7397
fix: Show public API upgrade CTA when feature is not enabled (#8109)
## Summary
> Describe what the PR does and how to test. Photos and videos are
recommended.

Shows the public API upgrade CTA when the feature is not enabled. Now
trialing users in cloud would see the API on the settings menu and can
upgrade from there.

When public API feature disabled: 

<img width="1863" alt="image"
src="https://github.com/n8n-io/n8n/assets/16496553/a9052f6b-151f-4ebb-80df-5ff2fa643e85">

When public API feature enabled with no API key:

<img width="1861" alt="image"
src="https://github.com/n8n-io/n8n/assets/16496553/fdfe7296-425e-4410-a8cb-f25535bc9df4">

When public API feature enabled with API key:

<img width="1423" alt="image"
src="https://github.com/n8n-io/n8n/assets/16496553/a8426cbf-ff73-43c4-8c60-b00274bca46e">



## Related tickets and issues
[> Include links to **Linear ticket** or Github issue or Community forum
post. Important in order to close *automatically* and provide context to
r](https://linear.app/n8n/issue/ADO-1282/feature-api-page-missing-for-trial-users)eviewers.



## 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] 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.
2023-12-21 09:06:54 -05:00
कारतोफ्फेलस्क्रिप्ट™ 5f27c20a00
feat(Snowflake Node): Update snowflake-sdk (no-changelog) (#8087)
This finally removes `aws-sdk` v2 from n8n's dependencies, which should
reduce n8n dependencies and docker image size by about 10%.
2023-12-21 14:52:54 +01:00
कारतोफ्फेलस्क्रिप्ट™ ffaa30ddc4
fix(core): Handle empty executions table in pruning in migrations (#8121)
In case someone manually prunes their executions table before upgrading
to 1.x, `MigrateIntegerKeysToString` should gracefully handle that,
instead of crashing the application.

## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-21 14:52:42 +01:00
Jan Oberhauser bec0faed9e
feat(core): Add closeFunction support to Sub-Nodes (#7708)
Github issue / Community forum post (link here to close automatically):

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-12-21 14:21:09 +01:00
Iván Ovejero 9ac8825a67
refactor(core): Move error execution creation to execution service (no-changelog) (#8006)
Continue breaking down legacy helpers.

Note: `getUserById` is unused.
2023-12-21 14:15:46 +01:00
Iván Ovejero d1b2affd2c
ci: Add lint rule no-dynamic-import-template (no-changelog) (#8089)
Follow-up to: https://github.com/n8n-io/n8n/pull/8086

`tsc-alias` as of 1.8.7 is unable to resolve template strings in dynamic
imports. Since the module name mapper in Jest is able to, this issue is
hard to detect, hence the new lint rule `no-dynamic-import-template`.
This is for now specific to `@/` in the `cli` package - we can
generalize later if needed. Ideally we should contribute a fix upstream
when we have more time.

<img width="940" alt="Capture 2023-12-19 at 12 39 55@2x"
src="https://github.com/n8n-io/n8n/assets/44588767/78d4a277-ccff-455c-8610-d1bba39d93f2">
2023-12-21 14:15:37 +01:00
कारतोफ्फेलस्क्रिप्ट™ 01e9a79238
feat(core): Remove discontinued crypto-js (#8104)
Since crypto-js was
[discontinued](1da3dabf93),
[we migrated all our backend encryption to native
crypto](https://github.com/n8n-io/n8n/pull/7556).
However I decided back then to not remove crypto-js just yet in
expressions, as I wanted to use `SubtleCrypto`. Unfortunately for that
to work, we'd need to make expressions async.
So, to get rid of `crypto-js`, I propose this interim solution. 

## Related tickets and issues
N8N-7020

## Review / Merge checklist
- [x] PR title and summary are descriptive
- [x] Tests included
2023-12-21 14:13:02 +01:00
github-actions[bot] b67b5ae6b2
🚀 Release 1.22.0 (#8115)
#
[1.22.0](https://github.com/n8n-io/n8n/compare/n8n@1.21.0...n8n@1.22.0)
(2023-12-21)


### Bug Fixes

* **core:** Close db connection gracefully when exiting
([#8045](https://github.com/n8n-io/n8n/pull/8045))
([e69707e](e69707efd4))
* **core:** Consider timeout in shutdown an error
([#8050](https://github.com/n8n-io/n8n/pull/8050))
([4cae976](4cae976a3b))
* **core:** Do not display error when stopping jobless execution in
queue mode ([#8007](https://github.com/n8n-io/n8n/pull/8007))
([8e6b951](8e6b951a76))
* **core:** Fix shutdown if terminating before hooks are initialized
([#8047](https://github.com/n8n-io/n8n/pull/8047))
([6ae2f5e](6ae2f5efea))
* **core:** Handle multiple termination signals correctly
([#8046](https://github.com/n8n-io/n8n/pull/8046))
([67bd8ad](67bd8ad698))
* **core:** Initialize queue once in queue mode
([#8025](https://github.com/n8n-io/n8n/pull/8025))
([53c0b49](53c0b49d15))
* **core:** Prevent axios from force setting a form-urlencoded
content-type ([#8117](https://github.com/n8n-io/n8n/pull/8117))
([bba9576](bba95761e2))
* **core:** Remove circular references before serializing executions in
public API ([#8043](https://github.com/n8n-io/n8n/pull/8043))
([989888d](989888d9bc))
* **core:** Restore workflow ID during execution creation
([#8031](https://github.com/n8n-io/n8n/pull/8031))
([c5e6ba8](c5e6ba8cdd))
* **core:** Use relative imports for dynamic imports in
SecurityAuditService ([#8086](https://github.com/n8n-io/n8n/pull/8086))
([785bf99](785bf9974e))
* **core:** Stop binary data restoration from preventing execution from
finishing ([#8082](https://github.com/n8n-io/n8n/pull/8082))
([5ffff1b](5ffff1bb22))
* **editor:** Add back credential `use` permission
([#8023](https://github.com/n8n-io/n8n/pull/8023))
([329e5bf](329e5bf9ee))
* **editor:** Cleanup Executions page component
([#8053](https://github.com/n8n-io/n8n/pull/8053))
([2689c37](2689c37e87))
* **editor:** Disable auto scroll and list size check when clicking on
executions ([#7983](https://github.com/n8n-io/n8n/pull/7983))
([fcb8b91](fcb8b91f37))
* **editor:** Ensure execution data overrides pinned data when copying
in executions view ([#8009](https://github.com/n8n-io/n8n/pull/8009))
([1d1cb0d](1d1cb0d3c5))
* **editor:** Fix copy/paste issue when switch node is in workflow
([#8103](https://github.com/n8n-io/n8n/pull/8103))
([4b86926](4b86926752))
* **editor:** Make keyboard shortcuts more strict; don't accept extra
Ctrl/Alt/Shift keys ([#8024](https://github.com/n8n-io/n8n/pull/8024))
([8df49e1](8df49e134d))
* **editor:** Show credential share info only to appropriate users
([#8020](https://github.com/n8n-io/n8n/pull/8020))
([b29b4d4](b29b4d442b))
* **editor:** Turn off executions list auto-refresh after leaving the
page ([#8005](https://github.com/n8n-io/n8n/pull/8005))
([e3c363d](e3c363d72c))
* **editor:** Update image sizes in template description not to be full
width always ([#8037](https://github.com/n8n-io/n8n/pull/8037))
([63a6e7e](63a6e7e034))
* **ActiveCampaign Node:** Fix pagination issue when loading tags
([#8017](https://github.com/n8n-io/n8n/pull/8017))
([1943857](1943857231))
* **HTTP Request Node:** Do not create circular references in HTTP
request node output ([#8030](https://github.com/n8n-io/n8n/pull/8030))
([5b7ea16](5b7ea16d9a))
* Upgrade axios to address CVE-2023-45857
([#7713](https://github.com/n8n-io/n8n/pull/7713))
([64eb9bb](64eb9bbc36))


### Features

* Add option to `returnIntermediateSteps` for AI agents
([#8113](https://github.com/n8n-io/n8n/pull/8113))
([7806a65](7806a65229))
* **core:** Add config option to prefer GET request over LIST when using
Hashicorp Vault ([#8049](https://github.com/n8n-io/n8n/pull/8049))
([439a22d](439a22d68f))
* **core:** Add N8N_GRACEFUL_SHUTDOWN_TIMEOUT env var
([#8068](https://github.com/n8n-io/n8n/pull/8068))
([614f488](614f488386))
* **editor:** Add lead enrichment suggestions to workflow list
([#8042](https://github.com/n8n-io/n8n/pull/8042))
([36a923c](36a923cf7b))
* **editor:** Finalize workers view
([#8052](https://github.com/n8n-io/n8n/pull/8052))
([edfa784](edfa78414d))
* **editor:** Gracefully ignore invalid payloads in postMessage handler
([#8096](https://github.com/n8n-io/n8n/pull/8096))
([9d22c7a](9d22c7a278))
* **editor:** Upgrade frontend tooling to address a few vulnerabilities
([#8100](https://github.com/n8n-io/n8n/pull/8100))
([19b7f1f](19b7f1ffb1))
* **Filter Node:** Overhaul UI by adding the new filter component
([#8016](https://github.com/n8n-io/n8n/pull/8016))
([3d53052](3d530522f8))
* **Respond to Webhook Node:** Overhaul with improvements like returning
all items ([#8093](https://github.com/n8n-io/n8n/pull/8093))
([32d397e](32d397eff3))


### Performance Improvements

* **editor:** Improve canvas rendering performance
([#8022](https://github.com/n8n-io/n8n/pull/8022))
([b780436](b780436a6b))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2023-12-21 13:51:24 +01:00
कारतोफ्फेलस्क्रिप्ट™ bba95761e2
fix(core): Prevent axios from force setting a form-urlencoded content-type (#8117)
[Since v1 axios is force-setting a content-type of
`application/x-www-form-urlencoded` on POST/PUT/PATCH requests, even if
they have no
payload](https://github.com/axios/axios/blob/v1.x/lib/core/dispatchRequest.js#L45-L47).
This is causing nodes that do not support form-urlencoded bodies to
fail.
By setting the content-type to `false` (if a content-type wasn't already
set), we force axios to not overwrite this header.

[Workflows tests](https://github.com/n8n-io/n8n/actions/runs/7288103743/job/19860060607)
2023-12-21 13:32:04 +01:00
Marcus 32d397eff3
feat(Respond to Webhook Node): Overhaul with improvements like returning all items (#8093) 2023-12-21 13:03:26 +01:00
Omar Ajoue 5ffff1bb22
fix: Stop binary data restoration from preventing execution from finishing (#8082)
In the case of a filesystem failure to rename the binary files as part
of the execution's cleanup process, the execution would fail to be saved
and would never finish. This catch prevents it.

## Summary
Whenever an execution is wrapping u to save the data, if it uses binary
data n8n will try to find possibly misallocated files and place them in
the right folder. If this process fails, the execution fails to finish.

Given the execution has already finished at this point, and we cannot
handle the binary data errors more gracefully, all we can do at this
point is log the message as it's a filesystem issue. The rest of the
execution saving process should remain as normal.



## Related tickets and issues
https://linear.app/n8n/issue/HELP-430



## 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: Iván Ovejero <ivov.src@gmail.com>
2023-12-21 09:40:39 +00:00
oleg 7806a65229
feat: Add option to returnIntermediateSteps for AI agents (#8113)
## Summary
![CleanShot 2023-12-21 at 08 30
16](https://github.com/n8n-io/n8n/assets/12657221/66b0de47-80cd-41f9-940e-6cacc2c940a9)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2023-12-21 10:27:49 +01:00
Jon 6580b927b3
docs: Add notice to TheHive triggers to highlight manual steps (#8051) 2023-12-21 09:40:37 +01:00
Iván Ovejero edfa78414d
feat(editor): Finalize workers view (#8052)
https://linear.app/n8n/issue/PAY-1065
2023-12-20 17:49:14 +01:00
Iván Ovejero d917dfe9f8
refactor(editor): Remove tracking for SAML test success (no-changelog) (#8108)
Follow-up to: https://github.com/n8n-io/n8n/pull/8102

It turns out that SAML test success cannot be tracked on the FE. We
might track on the BE, but after further discussion with Product, we do
not really need to track this property, so this PR simply removes it.
2023-12-20 15:23:00 +01:00
Iván Ovejero 97aa38e783
ci: Fix Postgres and MySQL tests (no-changelog) (#8106)
This role query works for sqlite but [fails for Postgres and
MySQL](https://github.com/n8n-io/n8n/actions/runs/7269009778/job/19805986017),
so generalize by adding alias and accounting for count possibly being
`string` in the resulting rows.

Run in progress: https://github.com/n8n-io/n8n/actions/runs/7275986797
2023-12-20 15:14:31 +01:00
Elias Meire 8df49e134d
fix(editor): Make keyboard shortcuts more strict; don't accept extra Ctrl/Alt/Shift keys (#8024)
## Summary
Keyboard shortcuts such as Shift+S get triggered even when other keys
(Ctrl/Alt) are pressed, creating conflicts with browser or OS shortcuts.

This PR makes keyboard shortcuts more strict: the exact combination
needs to be pressed, no extra keys allowed.
--> Ctrl+Shift+S will no longer trigger the Shift+S shortcut to add a
sticky note

## Related tickets and issues
https://n8nio.slack.com/archives/C035KBDA917/p1702545933647959
2023-12-20 12:06:49 +01:00
कारतोफ्फेलस्क्रिप्ट™ 81994ce13d
fix(core): Downgrade Rudderstack SDK (no-changelog) (#8107)
This reverts commit a895ee87fc (#8090)

Our telemetry backend is throwing 500s with the updated rudderstack sdk.
Until that is resolved, we need to downgrade.

## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-20 11:59:44 +01:00
Alex Grozav fcff34c401
fix(editor): Move versions check to init function and refactor store (no-changelog) (#8067) 2023-12-20 12:49:40 +02:00
Iván Ovejero faadfd6d4a
refactor(editor): Add telemetry for SSO/SAML (no-changelog) (#8102)
https://linear.app/n8n/issue/PAY-1142
2023-12-20 11:41:39 +01:00
Iván Ovejero 1d1cb0d3c5
fix(editor): Ensure execution data overrides pinned data when copying in executions view (#8009)
https://linear.app/n8n/issue/PAY-1063


https://community.n8n.io/t/execution-history-node-output-copy-to-clipboard-copies-pinned-data-instead-of-executed-node-output/33248?u=mutedjam
2023-12-20 10:42:26 +01:00
Mutasem Aldmour 4b86926752
fix(editor): Fix copy/paste issue when switch node is in workflow (#8103)
## Summary
Fix bug where copy/pasting a node breaks the view. Issue seems to be
that copied workflow does not have Switch node when workflow is
rerendering..

<img width="1942" alt="Screenshot 2023-12-19 at 18 16 23"
src="https://github.com/n8n-io/n8n/assets/4711238/ad53b8ae-3693-4733-8f6b-7bc9e7b9d216">




## Related tickets and issues
[Linear ticket
ADO-1504](https://linear.app/n8n/issue/ADO-1504/unwanted-nodes-connections-after-copypaste-of-n8n-form-trigger)


## 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.
- [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.
2023-12-20 10:13:59 +01:00
कारतोफ्फेलस्क्रिप्ट™ 19b7f1ffb1
feat(editor): Upgrade frontend tooling to address a few vulnerabilities (#8100)
This addresses CVE-2023-49293, CVE-2023-48631, and CVE-2023-26364

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-19 19:23:55 +01:00
कारतोफ्फेलस्क्रिप्ट™ 3a0155059e
feat(editor): De-duplicate frontend devDependencies (no-changelog) (#8094)
`@n8n/chat` was pulling in a lot of duplicate dependencies. This PR
updates all frontend packages to use an many of the same versions of
frontend devDependencies as possible.

## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-19 17:43:46 +01:00
Iván Ovejero 9dc491c3a5
refactor(core): Improve test-webhooks (no-changelog) (#8069)
Remove duplication, improve readability, and expand tests for
`TestWebhooks.ts` - in anticipation for storing test webhooks in Redis.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-19 17:32:02 +01:00
Iván Ovejero 38d1336fa7
refactor: Add telemetry for RBAC (no-changelog) (#8056)
https://linear.app/n8n/issue/PAY-1142
2023-12-19 17:02:52 +01:00
कारतोफ्फेलस्क्रिप्ट™ a895ee87fc
feat(core): Upgrade Rudderstack SDK (no-changelog) (#8090)
This helps remove some of the older versions of transient dependencies,
like axios 0.x and ioredis 4.x.

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-19 16:53:12 +01:00
कारतोफ्फेलस्क्रिप्ट™ 64eb9bbc36
fix: Upgrade axios to address CVE-2023-45857 (#7713)
[GH Advisory](https://github.com/advisories/GHSA-wf5p-g6vw-rhxx)
2023-12-19 16:17:01 +01:00
Iván Ovejero 8e6b951a76
fix(core): Do not display error when stopping jobless execution in queue mode (#8007)
No need to surface error to user when stopping a job no longer in queue.

https://linear.app/n8n/issue/PAY-1104
2023-12-19 16:11:21 +01:00
कारतोफ्फेलस्क्रिप्ट™ 9d22c7a278
feat(editor): Gracefully ignore invalid payloads in postMessage handler (#8096)
It's possible for browser extensions to send `message` events to an n8n window.
This change improves the already existing check to ignore invalid messages.

Fixes https://community.n8n.io/t/errors-in-the-browser-console-on-n8n-1-version/33910
2023-12-19 15:20:29 +01:00
Milorad FIlipović 36a923cf7b
feat(editor): Add lead enrichment suggestions to workflow list (#8042)
## Summary
We want to show lead enrichment template suggestions to cloud users that
agreed to this. This PR introduces the front-end part of this feature
- Handoff document
- Figma Hi-fi
- [How to
test](https://linear.app/n8n/issue/ADO-1549/[n8n-fe]-update-workflows-list-page-to-show-fake-door-templates#comment-b6644c99)

Tests are being worked on in a separate PR

## Related tickets and issues
Fixes ADO-1546
Fixes ADO-1549
Fixes ADO-1604

## 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: ricardo <ricardoespinoza105@gmail.com>
2023-12-19 09:10:03 -05:00
Iván Ovejero c170dd1da3
refactor(Discord Node): Stop reporting to Sentry inaccessible guild error (no-changelog) (#8095)
Ref Sentry issue: https://n8nio.sentry.io/issues/4738702202
2023-12-19 15:07:51 +01:00
Alex Grozav 5ed4d19059
feat: Add opt-in enterprise license trial checkbox (no-changelog) (#7826)
<img width="518" alt="image"
src="https://github.com/n8n-io/n8n/assets/6179477/6422a057-de94-49dc-90fd-7381b5642902">

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-12-19 14:58:30 +02:00
कारतोफ्फेलस्क्रिप्ट™ 464b565283
ci: Remove unnecessary async/await, enable await-thenable linting rule (no-changelog) (#8076)
## Summary
We accidentally made some functions `async` in
https://github.com/n8n-io/n8n/pull/7846
This PR reverts that change. 

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-19 13:52:42 +01:00
Iván Ovejero a7ffed245a
refactor(editor): Add telemetry for log streaming (no-changelog) (#8075)
https://linear.app/n8n/issue/PAY-1065
2023-12-19 13:18:13 +01:00
कारतोफ्फेलस्क्रिप्ट™ 785bf9974e
fix(core): Use relative imports for dynamic imports in SecurityAuditService (#8086)
`tsc-alias` doesn't seem to replace imports when using template strings

## Related tickets and issues
#8085

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-19 12:41:15 +01:00
Iván Ovejero d44602913f
refactor(editor): Add telemetry for debug in editor (no-changelog) (#8073)
https://linear.app/n8n/issue/PAY-1142
2023-12-19 12:23:30 +01:00
कारतोफ्फेलस्क्रिप्ट™ a63d94f28c
refactor(core): Move license endpoints to a decorated controller class (no-changelog) (#8074) 2023-12-19 12:13:19 +01:00
Mutasem Aldmour 63a6e7e034
fix(editor): Update image sizes in template description not to be full width always (#8037)
## Summary
Update image sizes in template description not to be full width always.


## Related tickets and issues

https://linear.app/n8n/issue/ADO-1506/bug-fix-images-in-template-descriptions


## 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.
- [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.
2023-12-18 17:40:00 +01:00
Iván Ovejero 62ce962ec9
refactor(editor): Add telemetry for workflow history (no-changelog) (#8072)
https://linear.app/n8n/issue/PAY-1142
2023-12-18 16:10:45 +01:00
Iván Ovejero 73d400a1bf
refactor(core): Inject dependencies into workflow services (no-changelog) (#8066)
Inject dependencies into workflow services (no-changelog)

Up next:

- ~~Make workflow services injectable~~ #8033
- ~~Inject dependencies into workflow services~~ (current)
- Consolidate workflow controllers into one
- Make workflow controller injectable
- Inject dependencies into workflow controller
2023-12-18 16:10:30 +01:00
कारतोफ्फेलस्क्रिप्ट™ a651089a10
refactor(core): Update backend sentry setup to reduce noise (no-changelog) (#8026)
## Summary
This PR updates our backend sentry setup to remove integrations that
don't provide us any value. This also reduces the amount of PII that
gets sent to Sentry.

[Sample event](https://n8nio.sentry.io/issues/4725315362/)

## Related tickets
[ENG-95](https://linear.app/n8n/issue/ENG-95)

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-18 14:26:07 +01:00
Tomi Turtiainen 614f488386
feat(core): Add N8N_GRACEFUL_SHUTDOWN_TIMEOUT env var (#8068)
Add generic N8N_GRACEFUL_SHUTDOWN_TIMEOUT which controls how long n8n
process will wait for graceful exit before exitting forcefully. This
variables replaces the QUEUE_WORKER_TIMEOUT variable that was used for
worker process.

DEPRECATED: QUEUE_WORKER_TIMEOUT deprected

QUEUE_WORKER_TIMEOUT environment variable has been replaced with
N8N_GRACEFUL_SHUTDOWN_TIMEOUT.
2023-12-18 14:04:19 +02:00
Iván Ovejero 8fc9888541
refactor(editor): Add telemetry for workers view (#8055)
https://linear.app/n8n/issue/PAY-1142
2023-12-18 12:21:13 +01:00
Tomi Turtiainen 4cae976a3b
fix(core): Consider timeout in shutdown an error (#8050)
If the process doesn't shutdown within a time limit, exit with error
code.

1. conceptually something timing out is an error.
2. on successful exit we close down the DB connection gracefully. On an
exit timeout we rather not do that, since it will wait for any active
connections to close and would possible block the exit.
2023-12-18 10:53:34 +02:00
Csaba Tuncsik aad57e2da1
fix(editor): Update wording when an instance owner or admin is viewing a credential they do not own (no-changelog) (#8054)
## Summary
Now that instance admins and owners can share on credentials, we need to
tweak the wording so it's clear what they can do in the UI and the
access they have.

### Acceptance Criteria

When an instance owner/admin views a credential they do not own, we
should show the following text `You can view this credential because you
have permission to read and share (and rename or delete it too).`

When an instance owner/admin views a credential they do not own and has
NOT been shared with them, we should show the following text `You can
view this credential because you have permission to read and share (and
rename or delete it too). You can share it with yourself or other users
to use it in a workflow.`
2023-12-18 08:31:00 +00:00
Tomi Turtiainen 6ae2f5efea
fix(core): Fix shutdown if terminating before hooks are initialized (#8047)
If the app receives termination signal before hooks have been
initialised, the would be objet is undefined error. This PR fixes that.
2023-12-18 09:23:10 +02:00
Csaba Tuncsik 2689c37e87
fix(editor): Cleanup Executions page component (#8053)
## Summary
Remove duplicated `created` VUE component lifecycle method
2023-12-15 18:18:25 +01:00
Jon 439a22d68f
feat: Add config option to prefer GET request over LIST when using Hashicorp Vault (#8049)
## Summary
Hashicorp Vault prefers a `LIST` HTTP method to be used when fetching
secrets but not all environments will allow custom http methods through
WAFs. This PR adds `N8N_EXTERNAL_SECRETS_PREFER_GET` which when set to
`true` will use GET instead of LIST to fetch secrets.


## 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))
2023-12-15 16:20:39 +00:00
कारतोफ्फेलस्क्रिप्ट™ 5b7ea16d9a
fix(HTTP Request Node): Do not create circular references in HTTP request node output (#8030)
## Summary
Remove unused `response.request` circular reference in http response
objects

## Related tickets
[PAY-1119](https://linear.app/n8n/issue/PAY-1119)

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-15 16:40:39 +01:00
Tomi Turtiainen 67bd8ad698
fix(core): Handle multiple termination signals correctly (#8046)
Prevent possible multiple termination signals initiating the shutdown
process multiple times.
2023-12-15 17:35:22 +02:00