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
Elias Meire
48b240b026
fix(HTTP Request Node): Support generic credentials when using pagination ( #7686 )
...
Github issue / Community forum post (link here to close automatically):
fixes #7653
Co-authored-by: Michael Kret <michael.k@radency.com>
2023-11-15 09:13:33 +01:00
Jan Oberhauser
cc2bd2e19c
feat(HTTP Request Node): Add pagination support ( #5993 )
...
Is still WIP and does not implement the correct UI yet.
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/pagination-included-into-http-node/15080
https://community.n8n.io/t/how-to-paginate-through-data-in-http-requests/28103
2023-11-01 14:24:43 +01:00
Jan Oberhauser
655efeaf66
feat(core): Add optional Error-Output ( #7460 )
...
Add an additional optional error output to which all items get sent that
could not be processed.

Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/error-connector-for-nodes/3094
https://community.n8n.io/t/error-handling-at-node-level-detect-node-execution-status/26791
---------
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
2023-10-30 18:42:47 +01:00
कारतोफ्फेलस्क्रिप्ट™
35bb42c1b9
refactor(core): Avoid passing around static state like default timezone (no-changelog) ( #7221 )
2023-10-27 14:17:52 +02:00
कारतोफ्फेलस्क्रिप्ट™
b6de910cbe
refactor(core): Abstract away InstanceSettings and encryptionKey
into injectable services (no-changelog) ( #7471 )
...
This change ensures that things like `encryptionKey` and `instanceId`
are always available directly where they are needed, instead of passing
them around throughout the code.
2023-10-23 13:39:35 +02:00
कारतोफ्फेलस्क्रिप्ट™
91dfc4d513
feat(core): Update LLM applications building support (no-changelog) ( #7418 )
...
extracted out of #7336
---------
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Deborah <deborah@starfallprojects.co.uk>
Co-authored-by: Jesper Bylund <mail@jesperbylund.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
2023-10-20 10:52:56 +02:00
कारतोफ्फेलस्क्रिप्ट™
597669aa62
refactor(core): Move copyInputItems
to node helpers (no-changelog) ( #7299 )
2023-10-06 16:25:58 +02:00
Michael Kret
8f9fe6269b
feat(core): Add "Sent by n8n" attribution ( #7183 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
2023-10-03 11:18:59 +03:00
कारतोफ्फेलस्क्रिप्ट™
00a4b8b0c6
feat(core): Add support for building LLM applications ( #7235 )
...
This extracts all core and editor changes from #7246 and #7137 , so that
we can get these changes merged first.
ADO-1120
[DB Tests](https://github.com/n8n-io/n8n/actions/runs/6379749011 )
[E2E Tests](https://github.com/n8n-io/n8n/actions/runs/6379751480 )
[Workflow Tests](https://github.com/n8n-io/n8n/actions/runs/6379752828 )
---------
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>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-02 17:33:43 +02:00
Iván Ovejero
fa845453bb
feat(core): Introduce object store service ( #7225 )
...
Depends on https://github.com/n8n-io/n8n/pull/7220 | Story:
[PAY-840](https://linear.app/n8n/issue/PAY-840/introduce-object-store-service-and-manager-for-binary-data )
This PR introduces an object store service for Enterprise edition. Note
that the service is tested but currently unused - it will be integrated
soon as a binary data manager, and later for execution data.
`amazonaws.com` in the host is temporarily hardcoded until we integrate
the service and test against AWS, Cloudflare and Backblaze, in the next
PR.
This is ready for review - the PR it depends on is approved and waiting
for CI.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-27 09:42:35 +02:00
Iván Ovejero
77d6e3fc07
refactor(core): Include workflow ID in binary data writes (no-changelog) ( #7220 )
...
Depends on: https://github.com/n8n-io/n8n/pull/7195 | Story:
[PAY-837](https://linear.app/n8n/issue/PAY-837/implement-object-store-manager-for-binary-data )
This PR includes `workflowId` in binary data writes so that the S3
manager can support this filepath structure
`/workflows/{workflowId}/executions/{executionId}/binaryData/{binaryFilename}`
to easily delete binary data for workflows. Also all binary data service
and manager methods that take `workflowId` and `executionId` are made
consistent in arg order.
Note: `workflowId` is included in filesystem mode for compatibility with
the common interface, but `workflowId` will remain unused by filesystem
mode until we decide to restructure how this mode stores data.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-25 18:04:52 +02:00
Iván Ovejero
75541e91f2
refactor(core)!: Make getBinaryStream
async ( #7247 )
...
Story: [PAY-846](https://linear.app/n8n/issue/PAY-846 ) | Related:
https://github.com/n8n-io/n8n/pull/7225
For the S3 backend for external storage of binary data and execution
data, the `getAsStream` method in the binary data manager interface used
by FS and S3 will need to become async. This is a breaking change for
nodes-base.
2023-09-25 16:59:45 +02:00
Iván Ovejero
dcc9cc13ed
feat(core): Remove storeMetadata
and getSize
from binary data manager interface (no-changelog) ( #7195 )
...
Depends on: #7164 | Story:
[PAY-838](https://linear.app/n8n/issue/PAY-838/introduce-object-store-service-for-binary-data )
This PR removes `storeMetadata` and `getSize` from the binary data
manager interface, as these are specific to filesystem mode. Also this
disambiguates identifiers:
```
binaryDataId
filesystem:289b4aac51e-dac6-4167-b793-6d5c415e2b47 {mode}:{fileId}
fileId - FS
289b4aac51e-dac6-4167-b793-6d5c415e2b47 {executionId}{uuid}
fileId - S3
/workflows/{workflowId}/executions/{executionId}/binary_data/b4aac51e-dac6-4167-b793-6d5c415e2b47
```
Note: The object store changes originally in this PR were extracted out
into the final PR.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-25 10:07:06 +02:00
Iván Ovejero
6d6e2488c6
refactor(core): Generalize binary data manager interface (no-changelog) ( #7164 )
...
Depends on: #7092 | Story:
[PAY-768](https://linear.app/n8n/issue/PAY-768 )
This PR:
- Generalizes the `IBinaryDataManager` interface.
- Adjusts `Filesystem.ts` to satisfy the interface.
- Sets up an S3 client stub to be filled in in the next PR.
- Turns `BinaryDataManager` into an injectable service.
- Adjusts the config schema and adds new validators.
Note that the PR looks large but all the main changes are in
`packages/core/src/binaryData`.
Out of scope:
- `BinaryDataManager` (now `BinaryDataService`) and `Filesystem.ts` (now
`fs.client.ts`) were slightly refactored for maintainability, but fully
overhauling them is **not** the focus of this PR, which is meant to
clear the way for the S3 implementation. Future improvements for these
two should include setting up a backwards-compatible dir structure that
makes it easier to locate binary data files to delete, removing
duplication, simplifying cloning methods, using integers for binary data
size instead of `prettyBytes()`, writing tests for existing binary data
logic, etc.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-22 17:22:12 +02:00
Elias Meire
67b985fe89
fix(core): Handle filename* with quotes in Content-Disposition header ( #7229 )
...
Github issue / Community forum post (link here to close automatically):
2023-09-21 14:54:10 +02:00
Elias Meire
d41546b899
fix(core): Make parsing of content-type and content-disposition headers more flexible ( #7217 )
...
fixes #7149
2023-09-20 14:40:06 +02:00
Michael Kret
3a474552b2
feat(Set Node): Overhaul ( #6348 )
...
Github issue / Community forum post (link here to close automatically):
https://github.com/n8n-io/n8n/pull/6348
---------
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Marcus <marcus@n8n.io>
2023-09-19 13:16:35 +03:00
कारतोफ्फेलस्क्रिप्ट™
273d0913fe
feat(HTTP Request Node): Determine binary file name from content-disposition headers ( #7032 )
...
Fixes:
https://community.n8n.io/t/http-request-node-read-filename-from-content-disposition-header-when-downloading-files/13453
https://community.n8n.io/t/read-filename-from-content-disposition-header-when-downloading-files/22192
2023-09-06 12:38:37 +02:00
कारतोफ्फेलस्क्रिप्ट™
6aa7b93473
refactor(core): Deprecate prepareOutputData
(no-changelog) ( #7091 )
2023-09-05 12:59:02 +02:00
Alex Grozav
ed927d34b2
feat: External Secrets storage for credentials ( #6477 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Romain Minaud <romain.minaud@gmail.com>
Co-authored-by: Valya Bullions <valya@n8n.io>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-08-25 10:33:46 +02:00
कारतोफ्फेलस्क्रिप्ट™
a01c3fbc19
fix(core): Throw NodeSSLError
only for nodes that allow ignoring SSL issues ( #6928 )
2023-08-23 17:29:43 +02:00
Iván Ovejero
d4fac0527b
fix(core): Fix continueOnFail
for expression error in Set ( #6939 )
...
* fix(core): Fix `continueOnFail` for expression error in Set
* Add story
2023-08-16 16:14:41 +02:00
कारतोफ्फेलस्क्रिप्ट™
96ff1f847d
fix(HTTP Request Node): Improve error handling for TCP socket errors when Continue On Fail
is enabled ( #6925 )
2023-08-14 17:26:40 +02:00
Michael Kret
5ab30fdd95
fix(core): OAuth1 authentication fix for Clever Cloud API ( #6847 )
2023-08-04 19:49:00 +03:00
Michael Kret
f6bf9e9887
fix(core): Restrict read/write file paths access ( #6582 )
2023-07-31 15:20:39 +03:00
Iván Ovejero
72523462ea
refactor: Clear unused ESLint directives from BE packages (no-changelog) ( #6798 )
2023-07-31 11:00:48 +02:00
कारतोफ्फेलस्क्रिप्ट™
feac369f6c
fix(core): Allow ignoring SSL issues on generic oauth2 credentials ( #6702 )
2023-07-26 17:56:59 +02:00
कारतोफ्फेलस्क्रिप्ट™
cd0e41a6b4
feat(Google Cloud Storage Node): Use streaming for file uploads ( #6462 )
...
fix(Google Cloud Storage Node): Use streaming for file uploads
2023-07-19 12:54:31 +02:00
कारतोफ्फेलस्क्रिप्ट™
0a31b8e2b4
feat(Read PDF Node): Replace pdf-parse with pdfjs, and add support for streaming and encrypted PDFs ( #6640 )
2023-07-18 20:07:29 +02:00
OlegIvaniv
aa53c46367
feat(Slack Node): Add option to include link to workflow in Slack node ( #6611 )
...
* feat(Slack Node): Add “automated by” message to Slack node’s post message
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Pass instanceBaseUrl to node context
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* Move `includeLinkToWorkflow` to options
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
* keep "includeLinkToWorkflow" hidden
* Only append the message for version 2.1 and up
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2023-07-10 15:03:21 +02:00
कारतोफ्फेलस्क्रिप्ट™
bf351243df
fix(Code Node): Install python modules always in a user-writable folder ( #6568 )
...
* upgrade pyodide
* install pyodide modules to a custom user-writable path
* in `augmentObject` `newData` is never undefined
2023-07-07 16:43:45 +02:00
Omar Ajoue
632ea275b7
refactor: Removal of request lib from the code ( #6413 )
...
* refactor: Removal of request lib from the code
2023-06-22 21:05:04 +02:00
Iván Ovejero
1197811a1e
fix(core)!: Allow syntax errors and expression errors to fail executions ( #6352 )
...
* fix: Unify expression error behavior for v1
* fix: Add `package.json` to `tsconfig.build.json`
* fix: Make `isFrontend` a constant
* fix: Use CommonJS require to read version
* fix: Use `JSON.parse()` and `fs.readFileSync()`
* feat(editor): Make WF name a link on /executions (#6354 )
* make wf name a link in exec view
* link color
* make wf name a link in exec view
* link color
---------
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix: Try restoring inclusions in tsconfig files
* fix: Try with copy
* refactor: Switch base branch and remove global toggle
* chore: Remove unrelated changes
* chore: Restore lockfile
* fix: Ensure all expression errors fail executions
* uncaught ExpressionErrors should not fail e2e tests
---------
Co-authored-by: romainminaud <romain.minaud@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-22 21:04:59 +02:00
agobrech
fc7261aca6
feat(core): Add PKCE for OAuth2 ( #6324 )
...
* Remove authorization header when empty
* Import pkce
* Add OAuth2 with new grant type to Twitter
* Add pkce logic auto assign authorization code if pkce not defined
* Add pkce to ui and interfaces
* Fix scopes for Oauth2 twitter
* Deubg + pass it through header
* Add debug console, add airtable cred
* Remove all console.logs, make PKCE in th body only when it exists
* Remove invalid character ~
* Remove more console.logs
* remove body inside query
* Remove useless grantype check
* Hide oauth2 twitter waiting for overhaul
* Remove redundant header removal
* Remove more console.logs
* Add comment for code verifier
* Remove uneeded scopes
* Restore client id in callback
* Revert "Add OAuth2 with new grant type to Twitter"
This reverts commit 1c3b331aa1
.
* Remove oauth2 from twitter
* Remove properties linked to oauth2
* Fix lodash imports
* remove redundant check
* remove redundant codeVerifier
* patch pkce-challenge to avoid generating `code_verifier` with `~`
* store `codeVerifier` on the DB like `csrfSecret`
* remove unrelated changes
---------
Co-authored-by: Marcus <marcus@n8n.io>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-21 10:54:32 +02:00
कारतोफ्फेलस्क्रिप्ट™
1b084bc56b
fix(core): Improve the error returned to users on SSL issues ( #6494 )
2023-06-20 17:54:05 +02:00
कारतोफ्फेलस्क्रिप्ट™
7a95e08bfd
fix(HTTP Request Node): "Ignore SSL issues" should also ignore legacy renegotiation issues ( #6492 )
2023-06-20 17:38:37 +02:00
कारतोफ्फेलस्क्रिप्ट™
6ccab3eaaa
feat(Webhook Node): Stream binary response in lastNode.firstEntryBinary
mode ( #6463 )
2023-06-19 13:54:56 +02:00
Jon
e0f109fa7e
feat: Add support for large files with declarative nodes ( #6461 )
2023-06-19 08:41:16 +01:00
Chris Wu
1111c915f2
refactor(core): Replace lodash's "soft-deprecated" individual packages with lodash
to resolve CVE (no-changelog) ( #6450 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-16 16:26:35 +02:00
Milorad FIlipović
04cfa548af
feat(editor): Implement Resource Mapper component ( #6207 )
...
* ⚡ scaffolding
* ⚡ finished scaffolding
* ⚡ renamed types
* ⚡ updated subtitle
* ⚡ renamed functions file, UI updates
* ⚡ query parameters fixes, ui updates, refactoring
* ⚡ fixes for credentials test, setup for error parsing
* ⚡ rlc for schema and table, error handling tweaks
* ⚡ delete operation, new options
* ⚡ columns loader
* ⚡ linter fixes
* ⚡ where clauses setup
* ⚡ logic for processing where clauses
* ⚡ select operation
* ⚡ refactoring
* ⚡ data mode for insert and update, wip
* ⚡ data mapping, insert update, skip on conflict option
* ⚡ select columns with spaces fix
* ⚡ update operation update, wip
* ⚡ finished update operation
* ⚡ upsert operation
* ⚡ ui fixes
* Copy updates.
* Copy updates.
* ⚡ option to convert empty strings to nulls, schema checks
* ⚡ UI requested updates
* ⚡ ssh setup WIP
* ⚡ fixes, ssh WIP
* ⚡ ssh fixes, credentials
* ⚡ credentials testing update
* ⚡ uncaught error fix
* ⚡ clean up
* ⚡ address in use fix
* ⚡ improved error message
* ⚡ tests setup
* ⚡ unit tests wip
* ⚡ config files clean up
* ⚡ utils unit tests
* ⚡ refactoring
* ⚡ setup for testing operations, tests for deleteTable operation
* ⚡ executeQuery and insert operations tests
* ⚡ select, update, upsert operations tests
* ⚡ runQueries tests setup
* ⚡ hint to query
* Copy updates.
* ⚡ ui fixes
* ⚡ clean up
* ⚡ error message update
* ⚡ ui update
* Minor tweaks to query params decription.
* feat(Google Sheets Node): Implement Resource mapper in Google Sheets node (#5752 )
* ✨ Added initial resource mapping support in google sheets node
* ✨ Wired mapping API endpoint with node-specific logic for fetching mapping fields
* ✨ Implementing mapping fields logic for google sheets
* ✨ Updating Google Sheets execute methods to support resource mapper fields
* 🚧 Added initial version of `ResourceLocator` component
* 👌 Added `update` mode to resource mapper modes
* 👌 Addressing PR feedback
* 👌 Removing leftover const reference
* 👕 Fixing lint errors
* ⚡ singlton for conections
* ⚡ credentials test fix, clean up
* feat(Postgres Node): Add resource mapper to new version of Postgres node (#5814 )
* ⚡ scaffolding
* ⚡ finished scaffolding
* ⚡ renamed types
* ⚡ updated subtitle
* ⚡ renamed functions file, UI updates
* ⚡ query parameters fixes, ui updates, refactoring
* ⚡ fixes for credentials test, setup for error parsing
* ⚡ rlc for schema and table, error handling tweaks
* ⚡ delete operation, new options
* ⚡ columns loader
* ⚡ linter fixes
* ⚡ where clauses setup
* ⚡ logic for processing where clauses
* ⚡ select operation
* ⚡ refactoring
* ⚡ data mode for insert and update, wip
* ⚡ data mapping, insert update, skip on conflict option
* ⚡ select columns with spaces fix
* ⚡ update operation update, wip
* ⚡ finished update operation
* ⚡ upsert operation
* ⚡ ui fixes
* Copy updates.
* Copy updates.
* ⚡ option to convert empty strings to nulls, schema checks
* ⚡ UI requested updates
* ⚡ ssh setup WIP
* ⚡ fixes, ssh WIP
* ⚡ ssh fixes, credentials
* ⚡ credentials testing update
* ⚡ uncaught error fix
* ⚡ clean up
* ⚡ address in use fix
* ⚡ improved error message
* ⚡ tests setup
* ⚡ unit tests wip
* ⚡ config files clean up
* ⚡ utils unit tests
* ⚡ refactoring
* ⚡ setup for testing operations, tests for deleteTable operation
* ⚡ executeQuery and insert operations tests
* ⚡ select, update, upsert operations tests
* ⚡ runQueries tests setup
* ⚡ hint to query
* Copy updates.
* ⚡ ui fixes
* ⚡ clean up
* ⚡ error message update
* ⚡ ui update
* Minor tweaks to query params decription.
* ✨ Updated Postgres node to use resource mapper component
* ✨ Implemented postgres <-> resource mapper type mapping
* ✨ Updated Postgres node execution to use resource mapper fields in v3
* 🔥 Removing unused import
---------
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
* feat(core): Resource editor componend P0 (#5970 )
* ✨ Added inital value of mapping mode dropdown
* ✨ Finished mapping mode selector
* ✨ Finished implementing mapping mode selector
* ✨ Implemented 'Columns to match on' dropdown
* ✨ Implemented `loadOptionsDependOn` support in resource mapper
* ✨ Implemented initial version of mapping fields
* ✨ Implementing dependant fields watcher in new component setup
* ✨ Generating correct resource mapper field types. Added `supportAutoMap` to node specification and UI. Not showing fields with `display=false`. Pre-selecting matching columns if it's the only one
* ✨ Handling matching columns correctly in UI
* ✨ Saving and loading resourceMapper values in component
* ✨ Implemented proper data saving and loading
* ✨ ResourceMapper component refactor, fixing value save/load
* ✨ Refactoring MatchingColumnSelect component. Updating Sheets node to use single key match and Postgres to use multi key
* ✨ Updated Google Sheets node to work with the new UI
* ✨ Updating Postgres Node to work with new UI
* ✨ Additional loading indicator that shown if there is no mapping mode selector
* ✨ Removing hard-coded values, fixing matching columns ordering, refactoring
* ✨ Updating field names in nodes
* ✨ Fixing minor UI issues
* ✨ Implemented matching fields filter logic
* ✨ Moving loading label outside of fields list
* ✅ Added initial unit tests for resource mapper
* ✅ Finished default rendering test
* ✅ Test refactoring
* ✅ Finished unit tests
* 🔨 Updating the way i18n is used in resource mapper components
* ✔️ Fixing value to match on logic for postgres node
* ✨ Hiding mapping fields when auto-map mode is selected
* ✨ Syncing selected mapping mode between components
* ✨ Fixing dateTime input rendering and adding update check to Postgres node
* ✨ Properly handling database connections. Sending null for empty string values.
* 💄 Updated wording in the error message for non-existing rows
* ✨ Fixing issues with selected matching values
* ✔️ Updating unit tests after matching logic update
* ✨ Updating matching columns when new fields are loaded
* ✨ Defaulting to null for empty parameter values
* ✨ Allowing zero as valid value for number imputs
* ✨ Updated list of types that use datepicker as widger
* ✨ Using text inputs for time types
* ✨ Initial mapping field rework
* ✨ Added new component for mapping fields, moved bit of logic from root component to matching selector, fixing some lint errors
* ✨ Added tooltip for columns that cannot be deleted
* ✨ Saving deleted values in parameter value
* ✨ Implemented control to add/remove mapping fields
* ✨ Syncing field list with add field dropdown when changing dependent values
* ✨ Not showing removed fields in matching columns selector. Updating wording in matching columns selector description
* ✨ Implementing disabled states for add/remove all fields options
* ✨ Saving removed columns separately, updating copy
* ✨ Implemented resource mapper values validation
* ✨ Updated validation logic and error input styling
* ✨ Validating resource mapper fields when new nodes are added
* ✨ Using node field words in validation, refactoring resource mapper component
* ✨ Implemented schema syncing and add/remove all fields
* ✨ Implemented custom parameter actions
* ✨ Implemented loading indicator in parameter options
* 🔨 Removing unnecessary constants and vue props
* ✨ Handling default values properly
* ✨ Fixing validation logic
* 👕 Fixing lint errors
* ⚡ Fixing type issues
* ⚡ Not showing fields by default if `addAllFields` is set to `false`
* ✨ Implemented field type validation in resource mapper
* ✨ Updated casing in copy, removed all/remove all option from bottom menu
* ✨ Added auto mapping mode notice
* ✨ Added support for more types in validation
* ✨ Added support for enumerated values
* ✨ Fixing imports after merging
* ✨ Not showing removed fields in matching columns selector. Refactoring validation logic.
* 👕 Fixing imports
* ✔️ Updating unit tests
* ✅ Added resource mapper schema tests
* ⚡ Removing `match` from resource mapper field definition, fixing matching columns loading
* ⚡ Fixed schema merging
* ⚡ update operation return data fix
* ⚡ review
* 🐛 Added missing import
* 💄 Updating parameter actions icon based on the ui review
* 💄 Updating word capitalisation in tooltips
* 💄 Added empty state to mapping fields list
* 💄 Removing asterisk from fields, updating tooltips for matching fields
* ⚡ Preventing matching fields from being removed by 'Remove All option'
* ⚡ Not showing hidden fields in the `Add field` dropdown
* ⚡ Added support for custom matching columns labels
* ⚡ query optimization
* ⚡ fix
* ⚡ Optimizing Postgres node enumeration logic
* ⚡ Added empty state for matching columns
* ⚡ Only fully loading fields if there is no schema fetched
* ⚡ Hiding mapping fields if there is no matching columns available in the schema
* ✔️ Fixing minor issues
* ✨ Implemented runtime type validation
* 🔨 Refactoring validation logic
* ✨ Implemented required check, added more custom messages
* ✨ Skipping boolean type in required check
* Type check improvements
* ✨ Only reloading fields if dependent values actually change
* ✨ Adding item index to validation error title
* ✨ Updating Postgres fetching logic, using resource mapper mode to determine if a field can be deleted
* ✨ Resetting field values when adding them via the addAll option
* ⚡ Using minor version (2.2) for new Postgres node
* ⚡ Implemented proper date validation and type casting
* 👕 Consolidating typing
* ✅ Added unit tests for type validations
* 👌 Addressing front-end review comments
* ⚡ More refactoring to address review changes
* ⚡ Updating leftover props
* ⚡ Added fallback for ISO dates with invalid timezones
* Added timestamp to datetime test cases
* ⚡ Reseting matching columns if operation changes
* ⚡ Not forcing auto-increment fields to be filled in in Postgres node. Handling null values
* 💄 Added a custom message for invalid dates
* ⚡ Better handling of JSON values
* ⚡ Updating codemirror readonly stauts based on component property, handling objects in json validation
* Deleting leftover console.log
* ⚡ Better time validation
* ⚡ Fixing build error after merging
* 👕 Fixing lint error
* ⚡ Updating node configuration values
* ⚡ Handling postgres arrays better
* ⚡ Handling SQL array syntax
* ⚡ Updating time validation rules to include timezone
* ⚡ Sending expressions that resolve to `null` or `undefined` by the resource mapper to delete cell content in Google Sheets
* ⚡ Allowing removed fields to be selected for match
* ⚡ Updated the query for fetching unique columns and primary keys
* ⚡ Optimizing the unique query
* ⚡ Setting timezone to all parsed dates
* ⚡ Addressing PR review feedback
* ⚡ Configuring Sheets node for production, minor vue component update
* New cases added to the TypeValidation test.
* ✅ Tweaking validation rules for arrays/objects and updating test cases
---------
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
2023-05-31 11:56:09 +02:00
कारतोफ्फेलस्क्रिप्ट™
a1b1f24ddf
feat(core): Replace client-oauth2 with an in-repo package ( #6266 )
...
Co-authored-by: Marcus <marcus@n8n.io>
2023-05-17 16:40:53 +02:00
कारतोफ्फेलस्क्रिप्ट™
b7d30f3eab
fix: Revert "Replace client-oauth2 with an in-repo package" (no-changelog) ( #6265 )
...
Revert "feat(core): Replace client-oauth2 with an in-repo package (#6056 )"
This reverts commit 77ac953eaf
.
2023-05-17 10:53:03 +02:00
कारतोफ्फेलस्क्रिप्ट™
77ac953eaf
feat(core): Replace client-oauth2 with an in-repo package ( #6056 )
...
Co-authored-by: Marcus <marcus@n8n.io>
2023-05-16 16:31:11 +02:00
कारतोफ्फेलस्क्रिप्ट™
a4c0cc9b5c
feat(core): Reduce the number of events sent to Sentry ( #6235 )
2023-05-15 15:54:48 +02:00
कारतोफ्फेलस्क्रिप्ट™
f3bc6f19b6
feat: Create NPM node ( #6177 )
2023-05-10 12:37:26 +02:00
कारतोफ्फेलस्क्रिप्ट™
a3aba835a1
fix(core): Avoid using Object.keys
on Buffer and other non-plain objects ( #6131 )
...
* create a unified way to check if an object is empty
* avoid running `Object.keys` on Buffer objects, to avoid unnecessary memory usage
2023-04-28 13:05:48 +02:00
Jan Oberhauser
62f993c84f
feat(core): Add support for digestAuth to httpRequest and declarative style ( #5676 )
...
feat(core): Add support to digestAuth to httpRequest and declarative style
2023-04-19 13:44:41 +02:00
Val
1bb987140a
feat: Add variables feature ( #5602 )
...
* feat: add variables db models and migrations
* feat: variables api endpoints
* feat: add $variables to expressions
* test: fix ActiveWorkflowRunner tests failing
* test: a different fix for the tests broken by $variables
* feat: variables licensing
* fix: could create one extra variable than licensed for
* feat: Add Variables UI page and $vars global property (#5750 )
* feat: add support for row slot to datatable
* feat: add variables create, read, update, delete
* feat: add vars autocomplete
* chore: remove alert
* feat: add variables autocomplete for code and expressions
* feat: add tests for variable components
* feat: add variables search and sort
* test: update tests for variables view
* chore: fix test and linting issue
* refactor: review changes
* feat: add variable creation telemetry
* fix: Improve variables listing and disabled case, fix resource sorting (no-changelog) (#5903 )
* fix: Improve variables disabled experience and fix sorting
* fix: update action box margin
* test: update tests for variables row and datatable
* fix: Add ee controller to base controller
* fix: variables.ee routes not being added
* feat: add variables validation
* fix: fix vue-fragment bug that breaks everything
* chore: Update lock
* feat: Add variables input validation and permissions (no-changelog) (#5910 )
* feat: add input validation
* feat: handle variables view for non-instance-owner users
* test: update variables tests
* fix: fix data-testid pattern
* feat: improve overflow styles
* test: fix variables row snapshot
* feat: update sorting to take newly created variables into account
* fix: fix list layout overflow
* fix: fix adding variables on page other than 1. fix validation
* feat: add docs link
* fix: fix default displayName function for resource-list-layout
* feat: improve vars expressions ux, cm-tooltip
* test: fix datatable test
* feat: add MATCH_REGEX validation rule
* fix: overhaul how datatable pagination selector works
* feat: update completer description
* fix: conditionally update usage syntax based on key validation
* test: update datatable snapshot
* fix: fix variables-row button margins
* fix: fix pagination overflow
* test: Fix broken test
* test: Update snapshot
* fix: Remove duplicate declaration
* feat: add custom variables icon
---------
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-04-18 12:41:55 +02:00