Commit graph

629 commits

Author SHA1 Message Date
Michael Kret 017ae6e102
fix(Airtable Node): Do not allow to use deprecated api keys in v1 (#9171) 2024-04-24 16:04:14 +03:00
Michael Kret 2bf0a3933e
feat(Webhook Node): Setting to enable multiple outputs/methods (#9086)
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2024-04-24 08:46:16 +03:00
Alex Grozav a3eea3ac5e
feat(editor): Refactor and unify executions views (no-changelog) (#8538) 2024-04-19 07:50:18 +02:00
Iván Ovejero a3b59843d5
refactor(core): Lint for cyclomatic complexity in BE packages (no-changelog) (#9111) 2024-04-10 14:02:02 +02:00
Michael Kret 0a9f6b3de8
feat(JWT Node): New node (#9005)
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2024-04-10 13:16:48 +03:00
oleg 936682eeaa
feat(core): Improve Langsmith traces for AI executions (#9081)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2024-04-08 22:51:49 +02:00
Iván Ovejero b8ab049932
refactor(core, editor): Remove legacy nodesAccess (no-changelog) (#9016) 2024-04-05 13:17:34 +02:00
कारतोफ्फेलस्क्रिप्ट™ 072c3db97d
refactor(core): Rename push sessionId to pushRef (#8905) 2024-04-03 13:43:14 +02:00
Elias Meire 8788e2a35b
fix(editor): UI enhancements and fixes for expression inputs (#8996) 2024-03-29 16:01:32 +01:00
Iván Ovejero 2aab78b058
feat(core): Introduce AWS secrets manager as external secrets store (#8982) 2024-03-28 10:15:58 +01:00
Michael Kret e84c27c0ce
feat(Webhook Node): Overhaul (#8889)
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2024-03-28 10:46:39 +02:00
Michael Kret 335f363ca1
feat: Telemetry include basic llm optional promps, trigger on save workflow event (#8981) 2024-03-27 16:16:02 +01:00
Iván Ovejero 19d9e71cb9
fix(core): Add missing nodeCause to paired item error (#8976) 2024-03-26 18:17:00 +01:00
कारतोफ्फेलस्क्रिप्ट™ 372d5c7d01
ci: Upgrade eslint, prettier, typescript, and some other dev tooling (no-changelog) (#8895)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2024-03-26 14:22:57 +01:00
Iván Ovejero 69807a5efb
refactor(core): Unify failed and error execution status (no-changelog) (#8943) 2024-03-25 17:52:07 +01:00
Elias Meire 45461c8cb5
fix: Overhaul expression error messages related to paired item (#8765) 2024-03-21 16:59:22 +01:00
Elias Meire 5e84c2ab89
feat(editor): Add missing extension methods for expressions (#8845) 2024-03-20 12:05:54 +01:00
कारतोफ्फेलस्क्रिप्ट™ 669bd830e9
feat(editor): Block the frontend when trying to access n8n from another host over http (#8906) 2024-03-18 18:34:41 +01:00
Michael Kret edce632ee6
fix: Validate custom tool names for forbidden chars (#8878) 2024-03-14 10:03:33 +02:00
Alex Grozav 948c383999
feat: Add AI Error Debugging using OpenAI (#8805) 2024-03-13 16:48:00 +02:00
oleg a3a931bdd1
fix(editor): Do not throw an error when calculating dynamic inputs/outputs (no-changelog) (#8858)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2024-03-11 10:34:59 +01:00
Elias Meire 76fe960a76
fix: Improve filter component error handling (#8832) 2024-03-08 10:10:32 +01:00
Giulio Andreini 5301323906
feat(editor): Improve errors in output panel (#8644)
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-03-07 18:08:01 +02:00
Elias Meire 9b4618dd5e
feat(editor): Add sections to autocomplete dropdown (#8720)
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2024-03-07 17:01:05 +01:00
Michael Kret ed6dc86d60
feat: Add more AI node info to telemetry (#8827) 2024-03-07 12:46:07 +02:00
Elias Meire f9a99ec029
feat: No expression error when node hasn’t executed (#8448)
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-27 10:29:16 +01:00
Michael Kret 09524304e6
feat: SQL agent improvements (#8709)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2024-02-26 15:35:00 +02:00
कारतोफ्फेलस्क्रिप्ट™ 7012577fce
fix(Postgres Trigger Node): closeFunction errors should not prevent a workflow from being deactivated (#8738) 2024-02-26 14:33:00 +01:00
Alex Grozav 4b01335aa4
feat: Add env variables to support exposing /workflows/demo route and /nodes.json route (#8506)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-23 18:20:12 +02:00
Jan Oberhauser a29b41ec55
fix(core): Fix pairedItem issue with partial manual executions (#8575)
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-23 11:43:08 +01:00
कारतोफ्फेलस्क्रिप्ट™ 246c988b93
fix(core): Ensure maxRedirects is used for any http request defining it (#8706) 2024-02-22 17:56:48 +01:00
कारतोफ्फेलस्क्रिप्ट™ 059d281fd1
feat(core): Move execution permission checks earlier in the lifecycle (#8677) 2024-02-21 14:47:02 +01:00
Iván Ovejero 5304b320c8
refactor(core): Enrich inaccessible credential error (#8574)
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-21 13:04:30 +01:00
Michael Kret a5e522e536
feat(Google Sheets Node): Option how to combine filters when reading rows (#8652) 2024-02-21 09:59:59 +02:00
Jan Oberhauser ad82f0c0c8
feat(core): Add support for $("NodeName").isExecuted (#8683) 2024-02-20 18:25:04 +01:00
Marcus bd4b50cf08
fix(GraphQL Node): Fix request format JSON error (#8646) 2024-02-15 17:49:18 +01:00
Michael Kret 941278db68
feat(OpenAI Node): Overhaul (#8335) 2024-02-15 10:15:58 +02:00
कारतोफ्फेलस्क्रिप्ट™ 2b9391a975
fix(core): Improve handling of wrapped errors (no-changelog) (#8631) 2024-02-14 17:29:23 +01:00
Elias Meire 100d9bc087
refactor: Add IRequestOptions type to helpers.request for more type safety (no-changelog) (#8563)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-14 16:29:09 +01:00
oleg f5274302f8
fix: Fix resolving of expressions of deeply nested sub-nodes (#8612) 2024-02-14 10:42:55 +01:00
Elias Meire 3b2078c3ca
fix(HTTP Request Node): Handle special characters in pagination expressions + improve hint text (#8576)
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-02-12 17:32:27 +01:00
Omar Ajoue 7501ad8f3c
feat: Add support for AI log streaming (#8526)
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2024-02-09 09:41:01 +00:00
Elias Meire 2799de491b
feat: Add assignment component with drag and drop to Set node (#8283)
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2024-02-06 18:34:34 +01:00
Iván Ovejero dc5ec8f946
refactor(core): Streamline flows in multi-main mode (no-changelog) (#8446) 2024-02-05 09:26:55 +01:00
कारतोफ्फेलस्क्रिप्ट™ 76c5a62f52
fix(core): Ensure AxiosError status always gets copied over to NodeApiError (#8509) 2024-02-02 12:22:26 +01:00
Elias Meire c419c8592f
fix: Allow Date/Luxon objects and additional formats in DateTime validation (#8525) 2024-02-02 11:27:31 +01:00
Iván Ovejero 528c07134a
fix(core): Fix test runs of triggers that rely on static data (#8524) 2024-02-01 18:05:23 +01:00
कारतोफ्फेलस्क्रिप्ट™ 670af167e6
fix(core): Improve handling of wrapped errors (#8510) 2024-01-31 15:34:22 +01:00
Omar Ajoue 0e9a5a2ab2
fix: Properly iterate over credentials with expressions (#8502) 2024-01-31 13:12:18 +01:00
Elias Meire 70af67e744
fix: Use correct node version when pasting/importing nodes (#8456)
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-01-26 15:09:50 +01:00
Elias Meire c21c4b9178
feat: Add new 'is empty' and 'is not empty' operators to Filter (#8445)
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-01-26 11:17:41 +01:00
कारतोफ्फेलस्क्रिप्ट™ cc2f0ada76
ci: Enforce noUnusedLocals on all backend and nodes packages (no-changelog) (#8428) 2024-01-25 14:33:35 +01:00
Michael Kret ed7d6b7b3a
feat(core): Display conditions in displayOptions (no-changelog) (#7888) 2024-01-24 18:04:46 +02:00
Jon e9fea16301
fix(Switch Node): Fix issue preventing some regex patterns from working (#8422) 2024-01-24 09:30:09 +00:00
Iván Ovejero 49b52c4f1d
refactor(core): Bring active executions into executions controller (no-changelog) (#8371) 2024-01-23 09:48:50 +01:00
Iván Ovejero ebf2b0d55c
fix(editor): Fix doclines for plus and minus (#8405) 2024-01-22 12:28:30 +01:00
Tomi Turtiainen 9a1cc56806
fix: Set '@typescript-eslint/return-await' rule to 'always' for node code (no-changelog) (#8363)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-17 17:08:50 +02:00
कारतोफ्फेलस्क्रिप्ट™ b267bf07e3
fix(core): Prevent NodeErrors from being wrapped multiple times (#8301) 2024-01-16 16:18:34 +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
Mutasem Aldmour 93b969a327
fix: Fix node graph telemetry with default values (#8297) 2024-01-11 13:25:40 +01:00
Iván Ovejero 5032bf0e34
fix(core): Fix test webhook deregistration (#8247) 2024-01-09 16:02:32 +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
कारतोफ्फेलस्क्रिप्ट™ 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
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
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
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
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
कारतोफ्फेलस्क्रिप्ट™ 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
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
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
कारतोफ्फेलस्क्रिप्ट™ 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
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
कारतोफ्फेलस्क्रिप्ट™ 989888d9bc
fix(core): Remove circular references before serializing executions in public API (#8043)
## Summary
Handle circular references in the public API for executions created
prior to the fix from #8030

## 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:01:41 +01:00
Iván Ovejero 2da15d0264
refactor(core): Remove ID-less workflow reporting (no-changelog) (#8038)
We added ID-less workflow reporting at #8031, which has already produced
multiple reports coming from internal, enough info to tackle [this
story](https://linear.app/n8n/issue/PAY-1147). To prevent an
overwhelming number of reports from cloud, this PR removes the reporting
for now.
2023-12-15 12:50:09 +01:00
Iván Ovejero c5e6ba8cdd
fix(core): Restore workflow ID during execution creation (#8031)
## Summary
Restore workflow ID during execution creation removed by [this
PR](https://github.com/n8n-io/n8n/pull/8002/files#diff-c8cbb62ca9ab2ae45e5f565cd8c63fff6475809a6241ea0b90acc575615224af).
The missing workflow ID, and more generally the fact that `workflow.id`
is optional when it should not be, causes `PermissionChecker.check` to
misreport a credential as inaccessible when it should be accessible.

More generally, start reporting ID-less workflows so we can root them
out and prevent this at type level.

## Related tickets and issues

https://n8nio.slack.com/archives/C035KBDA917/p1702539465555529
2023-12-14 18:13:12 +01:00
Michael Kret 953a58f18b
feat(n8n Form Trigger Node): Improvements (#7571)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2023-12-13 17:00:51 +02:00
Elias Meire 8a5343401d
feat(editor): Filter component + implement in If node (#7490)
New Filter component + implementation in If node (v2)

<img width="3283" alt="image"
src="https://github.com/n8n-io/n8n/assets/8850410/35c379ef-4b62-4d06-82e7-673d4edcd652">

---------

Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Michael Kret <michael.k@radency.com>
2023-12-13 14:45:22 +01:00
Iván Ovejero 76ab411bc0
refactor(core): Instrument multi-main to report failures to renew lease (#7970)
## Summary
Instrument multi-main to report failures to renew the lease

https://linear.app/n8n/issue/PAY-1105
...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## 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.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-11 09:45:08 +01:00
Elias Meire 675ec21d33
feat: Data transformation nodes and actions in Nodes Panel (#7760)
- Split Items List node into separate nodes per action
- Review node descriptions
- New icons
- New sections in subcategories

---------

Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Deborah <deborah@starfallprojects.co.uk>
Co-authored-by: Michael Kret <michael.k@radency.com>
2023-12-08 11:40:05 +01:00
Iván Ovejero 90824b50ed
feat(core): Add package name tag to Sentry errors (no-changelog) (#7958)
## Summary
Add `packageName` tag to errors reported to Sentry, for filtering

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## 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.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-08 11:30:06 +01:00
Iván Ovejero 1d46983b24
refactor: Unify severity and level for all application errors for Sentry (no-changelog) (#7956)
## Summary
Unify `severity` and `level` for all backend application errors for
Sentry

Follow-up to:
https://github.com/n8n-io/n8n/pull/7914#issuecomment-1840433542

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## 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.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-07 16:57:02 +01:00
Iván Ovejero 92bab72cff
fix(core): Fix user comparison in same-user subworkflow caller policy (#7913)
https://linear.app/n8n/issue/PAY-992


https://community.n8n.io/t/executing-workflow-using-owner-role-created-by-another-user-fails/33443

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-12-06 12:27:11 +00:00
Iván Ovejero e0b7f89035
refactor(core): Separate API response from error in execution error causes (no-changelog) (#7880)
Store the third-party API response error separately from the error
stored as `cause`

Follow-up to:
https://github.com/n8n-io/n8n/pull/7820#discussion_r1406009154
2023-11-30 14:44:10 +01:00
Iván Ovejero 67702c2485
refactor(core): Switch plain errors in workflow to ApplicationError (no-changelog) (#7877)
Ensure all errors in `workflow` are `ApplicationError` or children of it
and contain no variables in the message, to continue normalizing all the
errors we report to Sentry

Follow-up to: https://github.com/n8n-io/n8n/pull/7873
2023-11-30 12:46:45 +01:00
Omar Ajoue 74b4513298
feat(core): Add Advanced Permissions to FE settings (no-changelog) (#7867)
Github issue / Community forum post (link here to close automatically):
2023-11-29 15:56:35 +01:00
Jan Oberhauser 87def60979
feat: Add AI tool building capabilities (#7336)
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/langchain-memory-chat/23733

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Deborah <deborah@starfallprojects.co.uk>
Co-authored-by: Jesper Bylund <mail@jesperbylund.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
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>
2023-11-29 12:13:55 +01:00
कारतोफ्फेलस्क्रिप्ट™ 117962d473
feat(core): Update LLM applications building support (no-changelog) (#7710)
extracted out of #7336

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
2023-11-28 16:47:28 +01:00
Iván Ovejero dff8456382
refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820)
Ensure all errors in `core` and `workflow` inherit from
`ApplicationError` so that we start normalizing all the errors we report
to Sentry

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

### `core` package

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

### `workflow` package

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

Up next:
- Reorganize errors in `cli`
- Flatten the hierarchy in `workflow` (do we really need
`ExecutionBaseError`?)
- Remove `ExecutionError` type
- Stop throwing plain `Error`s
- Replace `severity` with `level`
- Add node and credential types as `tags`
- Add workflow IDs and execution IDs as `extras`
2023-11-27 15:33:21 +01:00
कारतोफ्फेलस्क्रिप्ट™ d2c18c5727
fix(core): Use AbortController to notify nodes to abort execution (#6141)
and add support for cancelling ongoing operations inside a node.

---------
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-11-24 18:17:06 +01:00
Iván Ovejero eec2ec1ff8
refactor(core): Consolidate path-related errors in Sentry (no-changelog) (#7757)
Keep reporting [path-related
errors](https://n8nio.sentry.io/issues/4649493725) in Sentry but
consolidate them in a single error group.

Also, add `options.extra` as `meta` so they remain visible in debug
logs:

```
2023-11-24T11:50:54.852Z | error    | ReportableError: Something went wrong "{ test: 123, file: 'LoggerProxy.js', function: 'exports.error' }"
```

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-24 14:42:46 +01:00
Michael Kret 99a9ea497a
feat(core): Add Support for custom CORS origins for webhooks (#7455)
node-850
https://community.n8n.io/t/add-ability-to-set-cors-allow-list-in-n8n-webhooks/7610
https://community.n8n.io/t/configure-cors-pre-flight-request-option-method-in-the-roadmap/32189

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-22 17:49:56 +01:00
कारतोफ्फेलस्क्रिप्ट™ 96fd2c51bd
fix(core): Show webhook urls for all webhook nodes (no-changelog) (#7783)
This reverts parts of https://github.com/n8n-io/n8n/pull/7113
2023-11-22 17:45:26 +01:00
Deborah ad04986ce7
docs: Update docs links for data transformation functions and ifEmpty (#7758)
Github issue / Community forum post (link here to close automatically):
2023-11-20 13:40:28 +00:00
Iván Ovejero 0fda8d9aac
refactor(core): Stop reporting to Sentry NodeApiError outside 500 range (no-changelog) (#7753)
https://n8nio.sentry.io/issues/4312838883 (and many others)

Followup to https://github.com/n8n-io/n8n/pull/7662
2023-11-17 17:49:28 +01:00
Iván Ovejero 6be453b716
fix(core): Guard against node not found on cancelling test webhook (#7750)
https://n8nio.sentry.io/issues/4623682198
2023-11-17 17:10:26 +01:00
Elias Meire a9ab73896e
fix(HubSpot Node): Fetching available parameters fails when using expressions (#7672)
This fix affects all nodes, will fix this issue in all nodes

Github issue / Community forum post (link here to close automatically):

Co-authored-by: Michael Kret <michael.k@radency.com>
2023-11-13 12:28:55 +01:00
Michael Kret 1c7225ebdb
feat(core): Expression function $ifEmpty (#7660)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Elias Meire <elias@meire.dev>
2023-11-13 13:28:41 +02:00
Elias Meire 14035e1244
feat(editor): Add HTTP request nodes for credentials without a node (#7157)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-13 12:11:16 +01:00
Michael Auerswald cbc690907f
feat(editor): Adds a EE view to show worker details and job status (#7600)
This change expands on the command channel communication introduced
lately between the main instance(s) and the workers. The frontend gets a
new menu entry "Workers" which will, when opened, trigger a regular call
to getStatus from the workers. The workers then respond via their
response channel to the backend, which then pushes the status to the
frontend.
This introduces the use of ChartJS for metrics.
This feature is still in MVP state and thus disabled by default for the
moment.
2023-11-10 23:48:31 +01:00