Commit graph

1065 commits

Author SHA1 Message Date
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
Mutasem Aldmour 01e9340621
feat: Add onboarding flow (#7212)
Github issue / Community forum post (link here to close automatically):
2023-09-25 15:49:36 +02:00
Ricardo Espinoza 60c152dc72
feat: Add user cloud it to telemetry (#7232)
Github issue / Community forum post (link here to close automatically):
2023-09-25 12:59:41 +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
Val bf74f09d69
feat(core): Add Tournament as the new default expression evaluator (#6964)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-21 13:57:45 +01:00
Milorad FIlipović b0e98b59a6
feat(editor): Rework banners framework and add email confirmation banner (#7205)
This PR introduces banner framework overhaul:
First version of the banner framework was built to allow multiple
banners to be shown at the same time. Since that proven to be the case
we don't need and it turned out to be pretty messy keeping only one
banner visible in such setup, this PR reworks it so it renders only one
banner at a time, based on [this priority
list](https://www.notion.so/n8n/Banner-stack-60948c4167c743718fde80d6745258d5?pvs=4#6afd052ec8d146a1b0fab8884a19add7)
that is assembled together with our product & design team.

### How to test banner stack:
1. Available banners and their priorities are registered
[here](f9f122d46d/packages/editor-ui/src/components/banners/BannerStack.vue (L14))
2. Banners are pushed to stack using `pushBannerToStack` action, for
example:
```
useUIStore().pushBannerToStack('TRIAL');
```
4. Try pushing different banners to stack and check if only the one with
highest priorities is showing up

### How to test the _Email confirmation_ banner:
1. Comment out [this
line](b80d2e3bec/packages/editor-ui/src/stores/cloudPlan.store.ts (L59)),
so cloud data is always fetched
2. Create an
[override](https://chrome.google.com/webstore/detail/resource-override/pkoacgokdfckfpndoffpifphamojphii)
(URL -> File) that will serve user data that triggers this banner:
- **URL**: `*/rest/cloud/proxy/admin/user/me`
- **File**:
```
{
    "confirmed": false,
    "id": 1,
    "email": "test@test.com",
    "username": "test"
}
```
3. Run n8n
2023-09-21 09:47:21 +02:00
github-actions[bot] ecd5d93c19
🚀 Release 1.8.0 (#7219)
# [1.8.0](https://github.com/n8n-io/n8n/compare/n8n@1.7.0...n8n@1.8.0)
(2023-09-20)


### Bug Fixes

* **core:** Make parsing of content-type and content-disposition headers
more flexible ([#7217](https://github.com/n8n-io/n8n/issues/7217))
([d41546b](d41546b899)),
closes [#7149](https://github.com/n8n-io/n8n/issues/7149)
* **core:** Resolve domains to IPv4 first
([#7206](https://github.com/n8n-io/n8n/issues/7206))
([e9ce531](e9ce531210))
* **editor:** Add ssh key type selection to source control settings when
regenerating key ([#7172](https://github.com/n8n-io/n8n/issues/7172))
([54bf66d](54bf66d335))
* **editor:** No need to add click emitting click events, VUE delegates
the handler to the root element of the component
([#7182](https://github.com/n8n-io/n8n/issues/7182))
([3c055e4](3c055e4d8d))
* **editor:** Prevent duplicate creation of credential for OAuth2
([#7163](https://github.com/n8n-io/n8n/issues/7163))
([07a6417](07a6417f0f))
* **editor:** Testing flaky resource mapper feature in e2e tests
([#7165](https://github.com/n8n-io/n8n/issues/7165))
([aaf87c3](aaf87c3edd))
* **HTML Node:** Add pairedItem support for 'Convert to HTML Table'
operation ([#7196](https://github.com/n8n-io/n8n/issues/7196))
([6bc477b](6bc477b50e))
* **HTTP Request Node:** Decrease default timeout to 5min
([#7177](https://github.com/n8n-io/n8n/issues/7177))
([321780d](321780d4a2))
* **seven Node:** Rename sms77 to seven, fix credentials test
([#7180](https://github.com/n8n-io/n8n/issues/7180))
([cf776b8](cf776b8f17))
* **X (Formerly Twitter) Node:** Rename Twitter to X (keep Twitter
alias) ([#7179](https://github.com/n8n-io/n8n/issues/7179))
([d317e09](d317e09c59))


### Features

* **core:** Add command to trigger license refresh on workers
([#7184](https://github.com/n8n-io/n8n/issues/7184))
([9f797b9](9f797b96d8))
* **core:** Add rsa option to ssh key generation
([#7154](https://github.com/n8n-io/n8n/issues/7154))
([fdac2c8](fdac2c8572))
* **Linear Node:** Add support for OAuth2
([#7201](https://github.com/n8n-io/n8n/issues/7201))
([12a3168](12a3168367))
* **Microsoft Outlook Node:** Node overhaul
([#4449](https://github.com/n8n-io/n8n/issues/4449))
([556a613](556a6132ba))
* **Set Node:** Overhaul
([#6348](https://github.com/n8n-io/n8n/issues/6348))
([3a47455](3a474552b2))

Co-authored-by: krynble <krynble@users.noreply.github.com>
2023-09-20 15:10:20 +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
Csaba Tuncsik 240b2f075e
feat(editor): Add Workflow history route and base page (no-changelog) (#7161) 2023-09-15 13:17:04 +02:00
github-actions[bot] a6e027b3ff
🚀 Release 1.7.0 (#7162)
# [1.7.0](https://github.com/n8n-io/n8n/compare/n8n@1.6.0...n8n@1.7.0)
(2023-09-13)


### Bug Fixes

* **Code Node:** Disable WASM to address CVE-2023-37903
([#7122](https://github.com/n8n-io/n8n/issues/7122))
([36a8e91](36a8e911e6))
* **Code Node:** Upgrade vm2 to address CVE-2023-37466
([#7123](https://github.com/n8n-io/n8n/issues/7123))
([0a35025](0a35025e5e))
* **core:** Disable Node.js custom inspection to address CVE-2023-37903
([#7125](https://github.com/n8n-io/n8n/issues/7125))
([a223734](a223734a4a))
* **editor** Account for nanoid workflow ids for subworkflow execute
policy ([#7094](https://github.com/n8n-io/n8n/issues/7094))
([67092c0](67092c0a1b))
* **editor:** Tweak hover area of workflow / cred cards
([#7108](https://github.com/n8n-io/n8n/issues/7108))
([217de21](217de21605))
* **editor:** Unbind workflow endpoint events in case of workspace reset
([#7129](https://github.com/n8n-io/n8n/issues/7129))
([c9b7948](c9b79485cf))
* **editor:** Update git repo url validation regex
([#7151](https://github.com/n8n-io/n8n/issues/7151))
([e51f173](e51f173608))
* **Google Cloud Firestore Node:** Fix empty string interpreted as
number ([#7136](https://github.com/n8n-io/n8n/issues/7136))
([915cfa0](915cfa0f6a))
* **HubSpot Node:** Fix issue with contact lists not working
([#5582](https://github.com/n8n-io/n8n/issues/5582))
([6e5a4f6](6e5a4f6a58))
* **Postgres Node:** Fix automatic column mapping
([#7121](https://github.com/n8n-io/n8n/issues/7121))
([92af131](92af1314fe))
* **Zoho CRM Node:** Fix issue with Sales Order not updating
([#6959](https://github.com/n8n-io/n8n/issues/6959))
([fd800b6](fd800b674b))


### Features

* **core:** Add an option to enable WAL mode for SQLite
([#7118](https://github.com/n8n-io/n8n/issues/7118))
([1d1a022](1d1a022def))
* **core:** Add commands to workers to respond with current state
([#7029](https://github.com/n8n-io/n8n/issues/7029))
([7b49cf2](7b49cf2a2c))
* **Salesforce Node:** Add fax field to lead option
([#7030](https://github.com/n8n-io/n8n/issues/7030))
([01f875a](01f875a94d))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-09-13 14:55:52 +02:00
greyliath b67a6fc432
docs(editor): Update .round() function in NumberExtensions.ts for clarity (#7150) 2023-09-12 09:24:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ 67aaad15eb
refactor(core): Use a Set for deletedProperties in AugmentObject (no-changelog) (#7131) 2023-09-07 15:07:32 +02:00
github-actions[bot] 955bd327ff
🚀 Release 1.6.0 (#7120)
# [1.6.0](https://github.com/n8n-io/n8n/compare/n8n@1.5.1...n8n@1.6.0)
(2023-09-06)


### Bug Fixes

* **core:** Add support for in-transit encryption (TLS) on Redis
connections ([#7047](https://github.com/n8n-io/n8n/issues/7047))
([a910757](a910757cc5))
* **core:** Disallow orphan executions
([#7069](https://github.com/n8n-io/n8n/issues/7069))
([8a28e98](8a28e98ec8))
* **core:** Split event bus controller into community and ee
([#7107](https://github.com/n8n-io/n8n/issues/7107))
([011ee2e](011ee2e04b))
* **editor:** Standardize save text
([#7093](https://github.com/n8n-io/n8n/issues/7093))
([58b3492](58b3492b0d))
* Ensure all new executions are saved
([#7061](https://github.com/n8n-io/n8n/issues/7061))
([b8e06d2](b8e06d245f))
* Load remote resources even if expressions in non requried parameters
resolve ([#6987](https://github.com/n8n-io/n8n/issues/6987))
([8a8d4e8](8a8d4e8bb3))
* **Postgres Node:** Connection pool of the database object has been
destroyed ([#7074](https://github.com/n8n-io/n8n/issues/7074))
([9dd5f0e](9dd5f0e579))
* **Postgres Node:** Tunnel doesn't always close
([#7087](https://github.com/n8n-io/n8n/issues/7087))
([58e55ba](58e55ba669))


### Features

* **core:** Add list query middleware to credentials
([#7041](https://github.com/n8n-io/n8n/issues/7041))
([fd78021](fd78021b68))
* **core:** Add support for floating licenses
([#7090](https://github.com/n8n-io/n8n/issues/7090))
([e26553f](e26553f198))
* **core:** Migration for soft deletions for executions
([#7088](https://github.com/n8n-io/n8n/issues/7088))
([413e0bc](413e0bccb4))
* **HTTP Request Node:** Determine binary file name from
content-disposition headers
([#7032](https://github.com/n8n-io/n8n/issues/7032))
([273d091](273d0913fe))
* **TheHive Node:** Overhaul
([#6457](https://github.com/n8n-io/n8n/issues/6457))
([73e782e](73e782e2cf))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-09-06 13:35:31 +02: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
Michael Kret 73e782e2cf
feat(TheHive Node): Overhaul (#6457) 2023-09-04 18:15:52 +03:00
github-actions[bot] 0ca2c780ed
🚀 Release 1.5.0 (#7056)
# [1.5.0](https://github.com/n8n-io/n8n/compare/n8n@1.4.0...n8n@1.5.0)
(2023-08-31)


### Bug Fixes

* **Agile CRM Node:** Fix issue with company address not working
([#6997](https://github.com/n8n-io/n8n/issues/6997))
([2f81652](2f81652400))
* **Code Node:** Switch over to vm2 fork
([#7018](https://github.com/n8n-io/n8n/issues/7018))
([dfe0fa6](dfe0fa65f8))
* **core:** Invalid NODES_INCLUDE should not crash the app
([#7038](https://github.com/n8n-io/n8n/issues/7038))
([04e3178](04e3178901)),
closes [#6683](https://github.com/n8n-io/n8n/issues/6683)
* **core:** Setup websocket keep-live messages
([#6866](https://github.com/n8n-io/n8n/issues/6866))
([8bdb07d](8bdb07d33d)),
closes [#6757](https://github.com/n8n-io/n8n/issues/6757)
* **core:** Throw `NodeSSLError` only for nodes that allow ignoring SSL
issues ([#6928](https://github.com/n8n-io/n8n/issues/6928))
([a01c3fb](a01c3fbc19))
* **Date & Time Node:** Dont parse date if it's not set (null or
undefined) ([#7050](https://github.com/n8n-io/n8n/issues/7050))
([d72f79f](d72f79ffb3))
* **editor:** Fix sending of Ask AI tracking events
([#7002](https://github.com/n8n-io/n8n/issues/7002))
([fb05afa](fb05afa165))
* **Microsoft Excel 365 Node:** Support for more extensions in workbook
rlc ([#7020](https://github.com/n8n-io/n8n/issues/7020))
([d6e1cf2](d6e1cf232f))
* **MongoDB Node:** Stringify response ObjectIDs
([#6990](https://github.com/n8n-io/n8n/issues/6990))
([9ca990b](9ca990b993))
* **MongoDB Node:** Upgrade mongodb package to address CVE-2021-32050
([#7054](https://github.com/n8n-io/n8n/issues/7054))
([d3f6356](d3f635657c))
* **Postgres Node:** Empty return data fix for Postgres and MySQL
([#7016](https://github.com/n8n-io/n8n/issues/7016))
([176ccd6](176ccd62bc))
* **Webhook Node:** Fix URL params for webhooks
([#6986](https://github.com/n8n-io/n8n/issues/6986))
([596b569](596b5695cd))


### Features

* **core:** External Secrets storage for credentials
([#6477](https://github.com/n8n-io/n8n/issues/6477))
([ed927d3](ed927d34b2))
* **core:** Add MFA ([#4767](https://github.com/n8n-io/n8n/issues/4767))
([2b7ba6f](2b7ba6fdf1))
* **core:** Add filtering, selection and pagination to users
([#6994](https://github.com/n8n-io/n8n/issues/6994))
([b716241](b716241b42))
* **editor:** Debug executions in the editor
([#6834](https://github.com/n8n-io/n8n/issues/6834))
([c833078](c833078c87))
* **RSS Read Node:** Add support for self signed certificates
([#7039](https://github.com/n8n-io/n8n/issues/7039))
([3b9f0fe](3b9f0fed7a))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-08-31 12:57:20 +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
Ricardo Espinoza 2b7ba6fdf1
feat(core): Add MFA (#4767)
https://linear.app/n8n/issue/ADO-947/sync-branch-with-master-and-fix-fe-e2e-tets

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-08-23 22:59:16 -04:00
github-actions[bot] 0e89a65b38
🚀 Release 1.4.0 (#7001)
# [1.4.0](https://github.com/n8n-io/n8n/compare/n8n@1.3.0...n8n@1.4.0)
(2023-08-23)


### Bug Fixes

* **core:** Add recoveryInProgress flag file
([#6962](https://github.com/n8n-io/n8n/issues/6962))
([7b96820](7b96820218))
* **core:** Fix `continueOnFail` for expression error in Set
([#6939](https://github.com/n8n-io/n8n/issues/6939))
([d4fac05](d4fac0527b))
* **core:** Fix `import:workflow` command
([#6996](https://github.com/n8n-io/n8n/issues/6996))
([8c38d85](8c38d85e76))
* **core:** Replace throw with warning when deactivating a non-active
workflow ([#6969](https://github.com/n8n-io/n8n/issues/6969))
([b6a00fe](b6a00febbd))
* **core:** Set up OAuth2 cred test
([#6960](https://github.com/n8n-io/n8n/issues/6960))
([4fc69b7](4fc69b776c))
* **editor:** Do not flag dynamic load options issue on expression
([#6932](https://github.com/n8n-io/n8n/issues/6932))
([60a1ef0](60a1ef0993))
* **editor:** Ensure community node install button tracks user agreement
([#6976](https://github.com/n8n-io/n8n/issues/6976))
([0ddfc73](0ddfc73bee))
* **editor:** Fix parsing for single quoted resolvables
([#6982](https://github.com/n8n-io/n8n/issues/6982))
([f32e993](f32e993227))
* **editor:** Fix Remove all fields not removing values in resource
mapper ([#6940](https://github.com/n8n-io/n8n/issues/6940))
([e6cff3f](e6cff3fce4))
* **editor:** Prevent Code node linter from erroring on `null` parse
([#6934](https://github.com/n8n-io/n8n/issues/6934))
([40d3a29](40d3a295d3))
* **Google Sheets Node:** Fix short sheet name interpreted as range
([#6989](https://github.com/n8n-io/n8n/issues/6989))
([00268a0](00268a019a))
* **Google Sheets Trigger Node:** Support sheet names with non-latin
characters ([#6970](https://github.com/n8n-io/n8n/issues/6970))
([052dd7c](052dd7cc9d))
* **GraphQL Node:** Improve error handling
([#6955](https://github.com/n8n-io/n8n/issues/6955))
([41db637](41db6371f0))
* **Mautic Node:** Fix issue with owner not being set correctly
([#6991](https://github.com/n8n-io/n8n/issues/6991))
([64b950f](64b950f294))
* **Salesforce Node:** Fix Account update owner operation
([#6958](https://github.com/n8n-io/n8n/issues/6958))
([9b27878](9b27878d8f))
* **Shopify Node:** Fix pagination when using options
([#6972](https://github.com/n8n-io/n8n/issues/6972))
([475d9c9](475d9c98e8))
* **Webhook Node:** Backward compatible form-data parsing for non-array
fields ([#6967](https://github.com/n8n-io/n8n/issues/6967))
([9455bcf](9455bcfef5))


### Features

* **core:** Add a warning to error workflows that cannot be started due
to permission or settings
([#6961](https://github.com/n8n-io/n8n/issues/6961))
([67b88f7](67b88f75f4))
* **core:** Add support for ready hooks, and credentials overwrite
endpoint in workers ([#6954](https://github.com/n8n-io/n8n/issues/6954))
([8f8a1de](8f8a1de3dd))
* **editor:** Show banner for non-production licenses
([#6943](https://github.com/n8n-io/n8n/issues/6943))
([413570c](413570c49d))
* Remove PostHog event calls
([#6915](https://github.com/n8n-io/n8n/issues/6915))
([270946a](270946a93b))
* **Send Email Node:** Add support for sending text and html email
simultaneously ([#6978](https://github.com/n8n-io/n8n/issues/6978))
([3860d41](3860d41d73))

Co-authored-by: krynble <krynble@users.noreply.github.com>
2023-08-23 15:41:49 +02:00
Omar Ajoue 67b88f75f4
feat(core): Add a warning to error workflows that cannot be started due to permission or settings (#6961)
Github issue / Community forum post (link here to close automatically):

This PR aims to address an issue where an Error workflow cannot be
started, either due to insufficient permissions or because its settings
prevent it from being called.

The way of addressing this is by creating a failed execution for the
appointed error workflow stating the error, as can be seen below.

This means the execution itself won't start, as it's prevented before
the execution beings, but we save a "stub" execution to show the error.

![Screenshot 2023-08-17 at 16 17
02](https://github.com/n8n-io/n8n/assets/219272/d8ec0144-13c5-4b11-b91c-a6b440816ccf)
2023-08-22 15:26:33 +02:00
Iván Ovejero 2d1d638654
ci: Remove --report-unused-disable-directives to speed up CI (#6988)
https://n8nio.slack.com/archives/C03MZF137FV/p1692610341832309
2023-08-22 13:42:05 +02:00
कारतोफ्फेलस्क्रिप्ट™ 41c3cc89ca
refactor(core): Delete some duplicate code between ActiveWebhooks and ActiveWorkflowRunner (no-changelog) (#6951) 2023-08-17 17:18:14 +02:00
Iván Ovejero 413570c49d
feat(editor): Show banner for non-production licenses (#6943)
https://linear.app/n8n/issue/PAY-692
2023-08-17 14:00:17 +02:00
कारतोफ्फेलस्क्रिप्ट™ 0913e0dbd3 Merge tag 'n8n@1.3.0' 2023-08-16 18:36:01 +02:00
Iván Ovejero 7ce5d8fd90
refactor: Upgrade to Prettier 3 (no-changelog) (#6947)
Supersedes https://github.com/n8n-io/n8n/pull/6937

Excluding fixtures and test workflow JSONs to avoid having to update
tests.
2023-08-16 17:13:57 +02:00
github-actions[bot] f86d9a4b34
🚀 Release 1.3.0 (#6945)
# [1.3.0](https://github.com/n8n-io/n8n/compare/n8n@1.2.0...n8n@1.3.0)
(2023-08-16)


### Bug Fixes

* **core:** Don't let bull override the default redis config
([#6897](https://github.com/n8n-io/n8n/issues/6897))
([cfeb322](cfeb322b3b))
* **core:** Fix fetching of EE executions
([#6901](https://github.com/n8n-io/n8n/issues/6901))
([f3fce48](f3fce48155))
* **core:** Update frontend urls when using the `--tunnel` option
([#6898](https://github.com/n8n-io/n8n/issues/6898))
([718e613](718e61354d))
* **editor:** Disable telemetry in dev mode and in E2E tests
([#6869](https://github.com/n8n-io/n8n/issues/6869))
([808a928](808a92809e))
* **editor:** Fix code node’s content property to be reactive
([#6931](https://github.com/n8n-io/n8n/issues/6931))
([3b75bc6](3b75bc6bc1))
* **editor:** Fix event emit on credential sharing
([#6922](https://github.com/n8n-io/n8n/issues/6922))
([297c3c9](297c3c91f2))
* **editor:** Fix multiOptions parameters resetting on initial load
([#6903](https://github.com/n8n-io/n8n/issues/6903))
([49867c2](49867c2b17))
* **editor:** Update execution view layout
([#6882](https://github.com/n8n-io/n8n/issues/6882))
([0339732](0339732378))
* **Email Trigger (IMAP) Node:** Fix connection issue with unexpected
spaces in host ([#6886](https://github.com/n8n-io/n8n/issues/6886))
([f3248e4](f3248e46e4))
* Fix issue with key formatting if null or undefined
([#6924](https://github.com/n8n-io/n8n/issues/6924))
([4e4a3cf](4e4a3cf7ab))
* Fix issue with key formatting introduced in 1.2.0
([#6896](https://github.com/n8n-io/n8n/issues/6896))
([0e075c9](0e075c9cb5))
* Fix lag when node parameters are updated
([#6941](https://github.com/n8n-io/n8n/issues/6941))
([3eb65e0](3eb65e08c4))
* **HTTP Request Node:** Improve error handling for TCP socket errors
when `Continue On Fail` is enabled
([#6925](https://github.com/n8n-io/n8n/issues/6925))
([96ff1f8](96ff1f847d))
* Prevent workflow breaking when credential type is unknown
([#6923](https://github.com/n8n-io/n8n/issues/6923))
([e83b93f](e83b93f293))
* **Respond to Webhook Node:** Return headers in response
([#6921](https://github.com/n8n-io/n8n/issues/6921))
([a82107f](a82107fb05))


### Features

* **core:** Add support for not requiring SMTP auth with user management
([#3742](https://github.com/n8n-io/n8n/issues/3742))
([eead6d4](eead6d49f2))
* **core:** Descriptive message for common nodeJS errors
([#6841](https://github.com/n8n-io/n8n/issues/6841))
([3adb0b6](3adb0b66ea))
* **editor:** Ask AI in Code node
([#6672](https://github.com/n8n-io/n8n/issues/6672))
([fde6ad1](fde6ad1e7f))
* Enable parallel processing on multiple queue nodes
([#6295](https://github.com/n8n-io/n8n/issues/6295))
([44afcff](44afcff959))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-08-16 16:55:05 +02:00
OlegIvaniv fde6ad1e7f
feat(editor): Ask AI in Code node (#6672)
* feat(editor): Ask AI tab and CLi connection

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove old getSchema util method

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Increase CSS specificity of the CodeNodeEditor global overrides

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* feat(editor): Magic Connect

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Improve AI controller, load conditionally, UX modal imporvements

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Extract-out AI curl

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Move loading phrases to locale, add support for ask ai experiment

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix build

* adjust communication

* fix: Remove duplicate source control preferences fetching (no-changelog) (#6675)

fix: remove duplicate source control preferences fetching (no-changelog)

* fix(Slack Node): Add UTM params to n8n reference in Slack message (no-changelog) (#6668)

fix(Slack Node): Add UTM params to n8n reference in Slack message

* fix(FileMaker Node): Improve returned error responses (#6585)

* fix(Microsoft Outlook Node): Fix issue with category not correctly applying (#6583)

* feat(Airtable Node): Overhaul (#6200)

* fix(core): Deleting manual executions should defer deleting binary data (#6680)

deleting manual executions should defer deleting binary data

* fix(editor): Add paywall state to non owner users for Variables (#6679)

* fix(editor): Add paywall state to non owner users for Variables

* fix(editor): Add variables view tests

* fix(editor): remove link from paywall state for non owner

* fix(editor): fix displaying logic

* refactor(core): Refactor WorkflowStatistics code (no-changelog) (#6617)

refactor(core): Refactor WorkflowStatistics code

* fix(editor): Hide Execute Node button for unknown nodes (#6684)

* feat: Allow hiding credential params on cloud (#6687)

* fix: Stop n8n from complaining about credentials when saving a new workflow form a template (#6671)

* fix(core): Upgrade semver to address CVE-2022-25883 (#6689)

* fix(core): Upgrade semver to address CVE-2022-25883

[GH Advisory](https://github.com/advisories/GHSA-c2qf-rxjj-qqgw)

* enforce the patched version of semver everywhere in the dev setup

* ci: Fix test checker glob (no changelog) (#6682)

ci: Fix test checker glob

* fix(API): Do not add starting node on workflow creation (#6686)

* fix(API): Do not add starting node on workflow creation

* chore: Remove comment

* fix(core): Filter out workflows that failed to activate on startup (#6676)

* fix(core): Deactivate on init workflow that should not be retried

* fix(core): Filter out workflows with activation errors

* fix(core): Load SAML libraries dynamically (#6690)

load SAML dynamically

* fix(crowd.dev Node): Fix documentation urls for crowd.dev credentials and nodes (#6696)

* feat(Read PDF Node): Replace pdf-parse with pdfjs, and add support for streaming and encrypted PDFs (#6640)

* feat: Allow `eslint-config` to be externally consumable (#6694)

* feat: Allow `eslint-config` to be externally consumable

* refactor: Adjust import styles

* fix(Contentful Node): Fix typo in credential name (no-changelog) (#6692)

* fix(editor): Ensure default credential values are not detected as dirty state (#6677)

* fix(editor): Ensure default credential values are not detected as dirty state

* chore: Remove logging

* refactor: Improve comment

* feat(Google Cloud Storage Node): Use streaming for file uploads (#6462)

fix(Google Cloud Storage Node): Use streaming for file uploads

* fix(editor): Prevent RMC from loading schema if it's already cached (#6695)

* fix(editor): Prevent RMC from loading schema if it's already cached
*  Adding new tests for RMC
* 👕 Fixing lint errors
* 👌 Updating inline loader styling

* fix(API): Fix issue with workflow setting not supporting newer nanoids (#6699)

* ci: Fix test workflows (no-changelog) (#6698)

* ci: Fix test workflows (no-changelog)

We removed `pdf-parse` in #6640, so we need to get these test PDF files from the `test-workflows` repo instead ([which has been updated to include these files](0f6ef1c804))

* remove `\n` from ids and skipList text files

* fix(core): Banner dismissal should also work for users migrating to v1 (no-changelog) (#6700)

* fix(Postgres Node): For select queries, empty result should be be replaced with `{"success":true}` (#6703)

* fix(Postgres Node): For select queries, empty result should be be replaced with `{"success":true}`

*  less checks

---------

Co-authored-by: Michael Kret <michael.k@radency.com>

* feat(editor): Removing `ph-no-capture` class from some elements (#6674)

* feat(editor): Remove `.ph-no-capture` class from some of the fields
* ✔️ Updating test snapshots
*  Redacting expressions preview in credentials form
* 🔧 Disable posthog input masking
* 🚨 Testing PostHog iFrame settings
* Reverting iframe test
*  Hiding API key in PostHog recordings
*  Added tests for redacted values
* ✔️ Updating checkbox snapshots after label component update
* ✔️ Updating test snapshots in editor-ui
* 👕 Fix lint errors

* fix(editor): Remove global link styling in v1 banner (#6705)

* fix: Add missing indices on sqlite (#6673)

* fix: enforce tag name uniqueness on sqlite

* rename migration and add other missing indices

* add tags tests

* test: Move test timeout to `/cli` (no-changelog) (#6712)

* fix(core): Redirect user to previous url after SSO signin (#6710)

redirect user to previous url after SSO signin

* fix(FTP Node): List recursive ignore . and .. to prevent infinite loops (#6707)

ignore . and .. to prevent infinite loop

Co-authored-by: Michael Kret <michael.k@radency.com>

* ci: Fix running e2e tests in dev mode (no-changelog) (#6717)

* fix(Google BigQuery Node): Error description improvement (#6715)

* fix(GitLab Trigger Node): Fix trigger activation 404 error  (#6711)

* fix webhook checkExists not deleting static data

* improve webhook checkExists not deleting static data

* fix(core): Support redis cluster in queue mode (#6708)

* support redis cluster

* cleanup, fix config schema

* set default prefix to bull

* fix(editor): Skip error line highlighting if out of range (#6721)

* fix(AwsS3 Node): Fix issue if bucket name contains a '.' (#6542)

* test(editor): Add canvas actions E2E tests (#6723)

* test(editor): Add canvas actions E2E tests

* test(editor): Open category items in node creator when category dropped on canvas

* test(editor): Have new position counted only once in drag

* test(editor): rename test

* feat(Rundeck Node): Add support for node filters  (#5633)

* fix(Gmail Trigger Node): Early returns in case of no data (#6727)

* fix(core): Use JWT as reset password token (#6714)

* use jwt to reset password

* increase expiration time to 1d

* drop user id query string

* refactor

* use service instead of package in tests

* sqlite migration

* postgres migration

* mysql migration

* remove unused properties

* remove userId from FE

* fix test for users.api

* move migration to the common folder

* move type assertion to the jwt.service

* Add jwt secret as a readonly property

* use signData instead of sign in user.controller

* remove base class

* remove base class

* add tests

* ci: Fix tests on postgres (no-changelog)

* refactor(core): Prevent community packages queries if feature is disabled (#6728)

* feat(core): Add cache service (#6729)

* add cache service

* PR adjustments

* switch to maxSize for memory cache

* Revert "test(editor): Add canvas actions E2E tests" (#6736)

Revert "test(editor): Add canvas actions E2E tests (#6723)"

This reverts commit 052d82b220.

* fix(Postgres Node): Arrays in query replacement fix (#6718)

* fix(Telegram Trigger Node): Add guard to 'include' call on null or undefined (#6730)

* fix(core): Use `exec` in docker images to forward signals correctly (#6732)

* refactor(core): Move webhook DB access to repository (no-changelog) (#6706)

* refactor(core): Move webhook DB access to repository (no-changelog)

* make sure `DataSource` is initialized before it's dependencies

at some point I hope to replace `DataSource` with a custom `DatabaseConnection` service class that can then disconnect and reconnect from DB without having to update all repositories.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>

* feat: Environments release using source control (#6653)

* initial telemetry setup and adjusted pull return

* quicksave before merge

* feat: add conflicting workflow list to pull modal

* feat: update source control pull modal

* fix: fix linting issue

* feat: add Enter keydown event for submitting source control push modal (no-changelog)

feat: add Enter keydown event for submitting source control push modal

* quicksave

* user workflow table for export

* improve telemetry data

* pull api telemetry

* fix lint

* Copy tweaks.

* remove authorName and authorEmail and pick from user

* rename owners.json to workflow_owners.json

* ignore credential conflicts on pull

* feat: several push/pull flow changes and design update

* pull and push return same data format

* fix: add One last step toast for successful pull

* feat: add up to date pull toast

* fix: add proper Learn more link for push and pull modals

* do not await tracking being sent

* fix import

* fix await

* add more sourcecontrolfile status

* Minor copy tweak for "More info".

* Minor copy tweak for "More info".

* ignore variable_stub conflicts on pull

* ignore whitespace differences

* do not show remote workflows that are not yet created

* fix telemetry

* fix toast when pulling deleted wf

* lint fix

* refactor and make some imports dynamic

* fix variable edit validation

* fix telemetry response

* improve telemetry

* fix unintenional delete commit

* fix status unknown issue

* fix up to date toast

* do not export active state and reapply versionid

* use update instead of upsert

* fix: show all workflows when clicking push to git

* feat: update Up to date pull translation

* fix: update read only env checks

* do not update versionid of only active flag changes

* feat: prevent access to new workflow and templates import when read only env

* feat: send only active state and version if workflow state is not dirty

* fix: Detect when only active state has changed and prevent generation a new version ID

* feat: improve readonly env messages

* make getPreferences public

* fix telemetry issue

* fix: add partial workflow update based on dirty state when changing active state

* update unit tests

* fix: remove unsaved changes check in readOnlyEnv

* fix: disable push to git button when read onyl env

* fix: update readonly toast duration

* fix: fix pinning and title input in protected mode

* initial commit (NOT working)

* working push

* cleanup and implement pull

* fix getstatus

* update import to new method

* var and tag diffs are no conflicts

* only show pull conflict for workflows

* refactor and ignore faulty credentials

* add sanitycheck for missing git folder

* prefer fetch over pull and limit depth to 1

* back to pull...

* fix setting branch on initial connect

* fix test

* remove clean workfolder

* refactor: Remove some unnecessary code

* Fixed links to docs.

* fix getstatus query params

* lint fix

* dialog to show local and remote name on conflict

* only show remote name on conflict

* fix credential expression export

* fix: Broken test

* dont show toast on pull with empty var/tags and refactor

* apply frontend changes from old branch

* fix tag with same name import

* fix buttons shown for non instance owners

* prepare local storage key for removal

* refactor: Change wording on pushing and pulling

* refactor: Change menu item

* test: Fix broken test

* Update packages/cli/src/environments/sourceControl/types/sourceControlPushWorkFolder.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

---------

Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* fix(core): Fix RemoveResetPasswordColumns migration for sqlite (no-changelog) (#6739)

* ci: Update changelog generation to work with node 18

* refactor: Remove webhook from `IDatabaseCollections` (no-changelog) (#6745)

* refactor: Remove webhook from `IDatabaseCollections`

* refactor: Remove also from `collections`

* 🚀 Release 1.1.0 (#6746)

Co-authored-by: netroy <netroy@users.noreply.github.com>

* fix(Lemlist Node): Fix pagination issues with campaigns and activities (#6734)

* ci: Fix linting issues (no-changelog) (#6747)

* fix(core): Allow ignoring SSL issues on generic oauth2 credentials (#6702)

* refactor: Remove all references to the resetPasswordToken field (no-changelog) (#6751)

refactor: remove all references to the resetPasswordToken field (no-changelog)

* refactor(core): Use mixins to delete redundant code between Entity classes (no-changelog) (#6616)

* db entities don't need an ID before they are inserted

* don't define constructors on entity classes, use repository.create instead

* use mixins to reduce duplicate code in db entity classes

* fix: Display source control buttons properly (#6756)

* feat(editor): Migrate Design System and Editor UI to Vue 3 (#6476)

* feat: remove vue-fragment (no-changelog)

* feat: partial design-system migration

* feat: migrate info-accordion and info-tip components

* feat: migrate several components to vue 3

* feat: migrated several components

* feat: migrate several components

* feat: migrate several components

* feat: migrate several components

* feat: re-exported all design system components

* fix: fix design for popper components

* fix: editor kind of working, lots of issues to fix

* fix: fix several vue 3 migration issues

* fix: replace @change with @update:modelValue in several places

* fix: fix translation linking

* fix: fix inline-edit input

* fix: fix ndv and dialog design

* fix: update parameter input event bindings

* fix: rename deprecated lifecycle methods

* fix: fix json view mapping

* build: update lock file

* fix(editor): revisit last conflict with master and fix issues

* fix(editor): revisit last conflict with master and fix issues

* fix: fix expression editor bug causing code mirror to no longer be reactive

* fix: fix resource locator bug

* fix: fix vue-agile integration

* fix: remove global import for vue-agile

* fix: replace element-plus buttons with n8n-buttons everywhere

* fix(editor): Fix various element-plus styles (#6571)

* fix(editor): Fix various element-plus styles

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove debugging code

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Fix loading in production mode [Vue 3] (#6578)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): First round of e2e tests fixes with Vue 3 (#6579)

* fix(editor): Fix broken smoke and workflow list e2e tests
* ✔️ Fix failing canvas action tests. Updating some selectors used in credentials and workflow tests

* feat: add vue 3 eslint rules and fix issues

* fix: fix tags-dropdown

* fix: fix white-space issues caused by i18n-t

* fix: rename non-generic click events

* fix: fix search in resources list layout

* fix: fix datatable paginator

* fix: fix popper select caret and dropdown size

* fix: add width to action-dropdown

* fix: fix workflow settings icon not being hidden

* fix: refactor newly added code

* fix: fix merge issue

* fix: fix ndv credentials watcher

* fix: fix workflow saving and grabber notch

* fix: fix nodes list panel transition

* fix: fix node title visibility

* fix: fix data unpinning

* fix: fix value access

* fix: show  input panel only if trigger panel enabled or not trigger node

* fix: fix tags dropdown and executions status spcing

* fix(editor): Prevent execution list to load back when leaving the route (#6697)

fix(editor): prevent execution list to load back when leaving the route

* fix: fix drawer visibility

* fix: fix expression toggle padding

* fix: fix expressions editor styling

* chore: prepare for testing

* fix: fix styling for el-button without patching

* test: fix unit tests in design-system

* test: fix most unit tests

* fix: remove import cycle.

* fix: fix personalization modal tests

* fix further resource mapper test adjustments

* fix: fix multiple tests and n8n-route attr duplication

* fix: fix source control tets

* fix: fixed remaining unit tests

* fix: fix workflows and credentials e2e tests

* fix: fix localizeNodeNames

* fix: update ndv e2e tests

* fix: fix popper left placement arrow

* fix: fix 5-ndv e2e tests

* fix: fix 6-code-node e2e tests

* fix(editor): Drop click outside directive from NodeCreator (#6716)

* fix(editor): Drop click outside directive from NodeCreator

* fix(editor): make sure mouseup outside is unbound at least before the component is unmounted

* fix: fix 10-settings-log-streaming e2e tests

* fix: fix node redrawing

* fix: fix tooltip buttons styling

* fix: fix varous e2e suites

* fix: fix 15-scheduler-node e2e suite

* fix: fix route watcher

* fix: fixed param name update and credential edit

* feat: update event names

* refactor: Remove deprecated `$data` (#6576)

Co-authored-by: Alex Grozav <alex@grozav.com>

* fix: fix 17-sharing e2e suite

* fix: fix tags dropdown

* fix: fix tags manager

* fix(editor): move :deep selectors to a separate scoped style block

* fix: fix sticky component and inline text edit

* fix: update e2e tests

* fix: remove button override references

* fix(editor): Adjust spacing in templates for Vue 3 (#6744)

* fix(editor): Adjust spacing in templates

* fix: Undo unneeded change

* fix: Undo unneeded change

* fix(editor): Adjust NDV height for Vue 3 (#6742)

fix(editor): Adjust NDV height

* fix(editor): Restore collapsed sidebar items for Vue 3 (#6743)

fix(editor): Restore collapsed sidebar items

* fix: fix linting issues

* fix: fix design-system deps

* fix: post-merge fixes

* fix: update tests

* fix: increase timeout for executionslist tets

* chore: fix linting issue

* fix: fix 14-mapping e2e tests in ci

* fix: re-enable tests

* fix: fix workflow duplication e2e tests after tags update

* fix(editor): Change component prop to be typed

* fix: fix tags dropdown in duplicate wf modal

* fix: fix focus behaviour in tags selector

* fix: fix tag creation

* fix: fix log streaming e2e race condition

* fix(editor): Fix Vue 3 linting issues (#6748)

* fix(editor): Fix Vue 3 linting issues

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix MainSidebar linter issues

* revert pnpm lock

* update pnpm lock file

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Some css fixes for vue3 branch (#6749)

*  Fixing filter button height

*  Update input modal button position

*  Updating tags styling

*  Fix event logging settings spacing

* 👕 Fixing lint errors

* fix: fix linting issues

* Revert to `// eslint-disable-next-line @typescript-eslint/no-misused-promises` disabling of mixins init

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix css issue

* fix(editor): Lint fix

* fix(editor): Fix settings initialisation (#6750)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix initial settings loading

* fix: replace realClick with click force

* fix: fix randomly failing mapping e2e tests

* fix(editor): Fix menu item event handling

* fix: fix resource filters dropdown events (#6752)

* fix: fix resource filters dropdown events

* fix: remove teleported:false

* fix: fix event selection event naming (#6753)

* fix: removed console.log (#6754)

* fix: rever await nextTick changes

* fix: redo linting changes

* fix(editor): Redraw node connections if adding more than one node to canvas (#6755)

* fix(editor): Redraw node connections if adding more than one node to canvas

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Update position before connection two nodes

* Lint fix

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Fix `ResourceMapper` unit tests (#6758)

* ✔️ Fix matching columns test

* ✔️ Fix multiple matching columns test

* ✔️ Removing `skip` from the last test

* fix: Allow pasting a big workflow (#6760)

* fix: pasting a big workflow

* chore: update comment

* refactor: move try/catch to function

* refactor: move try/catch to function

* fix(editor): Fix modal layer width

* fix: fix position changes

* fix: undo it.only

* fix: make undo/redo multiple steps more verbose

* fix: Fix value survey styles (#6764)

* fix: fix value survey styles

* fix: lint

* Revert "fix: lint"

72869c431f

* fix: lint

* fix(editor): Fix collapsed sub menu

* fix: Fix drawer animation (#6767)

fix: drawer animation

* fix(editor): Fix source control buttons (#6769)

* fix(editor): Fix App loading & auth  (#6768)

* fix(editor): Fix App loading & auth

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Await promises

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix eslint error

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>

* perf(editor): Memoize locale translate calls during actions generation (#6773)

performance(editor): Memoize locale translate calls during actions generation

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Close tags dropdown when modal is opened (#6766)

* feat: remove vue-fragment (no-changelog)

* feat: partial design-system migration

* feat: migrate info-accordion and info-tip components

* feat: migrate several components to vue 3

* feat: migrated several components

* feat: migrate several components

* feat: migrate several components

* feat: migrate several components

* feat: re-exported all design system components

* fix: fix design for popper components

* fix: editor kind of working, lots of issues to fix

* fix: fix several vue 3 migration issues

* fix: replace @change with @update:modelValue in several places

* fix: fix translation linking

* fix: fix inline-edit input

* fix: fix ndv and dialog design

* fix: update parameter input event bindings

* fix: rename deprecated lifecycle methods

* fix: fix json view mapping

* build: update lock file

* fix(editor): revisit last conflict with master and fix issues

* fix(editor): revisit last conflict with master and fix issues

* fix: fix expression editor bug causing code mirror to no longer be reactive

* fix: fix resource locator bug

* fix: fix vue-agile integration

* fix: remove global import for vue-agile

* fix: replace element-plus buttons with n8n-buttons everywhere

* fix(editor): Fix various element-plus styles (#6571)

* fix(editor): Fix various element-plus styles

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove debugging code

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Fix loading in production mode [Vue 3] (#6578)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): First round of e2e tests fixes with Vue 3 (#6579)

* fix(editor): Fix broken smoke and workflow list e2e tests
* ✔️ Fix failing canvas action tests. Updating some selectors used in credentials and workflow tests

* feat: add vue 3 eslint rules and fix issues

* fix: fix tags-dropdown

* fix: fix white-space issues caused by i18n-t

* fix: rename non-generic click events

* fix: fix search in resources list layout

* fix: fix datatable paginator

* fix: fix popper select caret and dropdown size

* fix: add width to action-dropdown

* fix: fix workflow settings icon not being hidden

* fix: refactor newly added code

* fix: fix merge issue

* fix: fix ndv credentials watcher

* fix: fix workflow saving and grabber notch

* fix: fix nodes list panel transition

* fix: fix node title visibility

* fix: fix data unpinning

* fix: fix value access

* fix: show  input panel only if trigger panel enabled or not trigger node

* fix: fix tags dropdown and executions status spcing

* fix(editor): Prevent execution list to load back when leaving the route (#6697)

fix(editor): prevent execution list to load back when leaving the route

* fix: fix drawer visibility

* fix: fix expression toggle padding

* fix: fix expressions editor styling

* chore: prepare for testing

* fix: fix styling for el-button without patching

* test: fix unit tests in design-system

* test: fix most unit tests

* fix: remove import cycle.

* fix: fix personalization modal tests

* fix further resource mapper test adjustments

* fix: fix multiple tests and n8n-route attr duplication

* fix: fix source control tets

* fix: fixed remaining unit tests

* fix: fix workflows and credentials e2e tests

* fix: fix localizeNodeNames

* fix: update ndv e2e tests

* fix: fix popper left placement arrow

* fix: fix 5-ndv e2e tests

* fix: fix 6-code-node e2e tests

* fix(editor): Drop click outside directive from NodeCreator (#6716)

* fix(editor): Drop click outside directive from NodeCreator

* fix(editor): make sure mouseup outside is unbound at least before the component is unmounted

* fix: fix 10-settings-log-streaming e2e tests

* fix: fix node redrawing

* fix: fix tooltip buttons styling

* fix: fix varous e2e suites

* fix: fix 15-scheduler-node e2e suite

* fix: fix route watcher

* fix: fixed param name update and credential edit

* feat: update event names

* refactor: Remove deprecated `$data` (#6576)

Co-authored-by: Alex Grozav <alex@grozav.com>

* fix: fix 17-sharing e2e suite

* fix: fix tags dropdown

* fix: fix tags manager

* fix(editor): move :deep selectors to a separate scoped style block

* fix: fix sticky component and inline text edit

* fix: update e2e tests

* fix: remove button override references

* fix(editor): Adjust spacing in templates for Vue 3 (#6744)

* fix(editor): Adjust spacing in templates

* fix: Undo unneeded change

* fix: Undo unneeded change

* fix(editor): Adjust NDV height for Vue 3 (#6742)

fix(editor): Adjust NDV height

* fix(editor): Restore collapsed sidebar items for Vue 3 (#6743)

fix(editor): Restore collapsed sidebar items

* fix: fix linting issues

* fix: fix design-system deps

* fix: post-merge fixes

* fix: update tests

* fix: increase timeout for executionslist tets

* chore: fix linting issue

* fix: fix 14-mapping e2e tests in ci

* fix: re-enable tests

* fix: fix workflow duplication e2e tests after tags update

* fix(editor): Change component prop to be typed

* fix: fix tags dropdown in duplicate wf modal

* fix: fix focus behaviour in tags selector

* fix: fix tag creation

* fix: fix log streaming e2e race condition

* fix(editor): Fix Vue 3 linting issues (#6748)

* fix(editor): Fix Vue 3 linting issues

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix MainSidebar linter issues

* revert pnpm lock

* update pnpm lock file

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Some css fixes for vue3 branch (#6749)

*  Fixing filter button height

*  Update input modal button position

*  Updating tags styling

*  Fix event logging settings spacing

* 👕 Fixing lint errors

* fix: fix linting issues

* Revert to `// eslint-disable-next-line @typescript-eslint/no-misused-promises` disabling of mixins init

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix css issue

* fix(editor): Lint fix

* fix(editor): Fix settings initialisation (#6750)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix initial settings loading

* fix: replace realClick with click force

* fix: fix randomly failing mapping e2e tests

* fix(editor): Fix menu item event handling

* fix: fix resource filters dropdown events (#6752)

* fix: fix resource filters dropdown events

* fix: remove teleported:false

* fix: fix event selection event naming (#6753)

* fix: removed console.log (#6754)

* fix: rever await nextTick changes

* fix: redo linting changes

* fix(editor): Redraw node connections if adding more than one node to canvas (#6755)

* fix(editor): Redraw node connections if adding more than one node to canvas

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Update position before connection two nodes

* Lint fix

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Fix `ResourceMapper` unit tests (#6758)

* ✔️ Fix matching columns test

* ✔️ Fix multiple matching columns test

* ✔️ Removing `skip` from the last test

* fix: Allow pasting a big workflow (#6760)

* fix: pasting a big workflow

* chore: update comment

* refactor: move try/catch to function

* refactor: move try/catch to function

* fix(editor): Fix modal layer width

* fix: fix position changes

* fix: undo it.only

* fix: make undo/redo multiple steps more verbose

* fix: Fix value survey styles (#6764)

* fix: fix value survey styles

* fix: lint

* Revert "fix: lint"

72869c431f

* fix: lint

* fix(editor): Close tags dropdown when modal is opened

* ✔️ Updating tag selectors in e2e tests

* ✔️ Using tab to blur dropdown after adding tags

* ✔️ Clicking on the New Tab button instead of the tags dropdown to open it

* Reverting merge changes added by mistake

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>

* fix: Show NodeIcon tooltips by removing pointer-events: none (#6777)

fix: show NodeIcon tooltips by removing pointer-events: none

* fix: Respect set modal widths (#6771)

* feat: remove vue-fragment (no-changelog)

* feat: partial design-system migration

* feat: migrate info-accordion and info-tip components

* feat: migrate several components to vue 3

* feat: migrated several components

* feat: migrate several components

* feat: migrate several components

* feat: migrate several components

* feat: re-exported all design system components

* fix: fix design for popper components

* fix: editor kind of working, lots of issues to fix

* fix: fix several vue 3 migration issues

* fix: replace @change with @update:modelValue in several places

* fix: fix translation linking

* fix: fix inline-edit input

* fix: fix ndv and dialog design

* fix: update parameter input event bindings

* fix: rename deprecated lifecycle methods

* fix: fix json view mapping

* build: update lock file

* fix(editor): revisit last conflict with master and fix issues

* fix(editor): revisit last conflict with master and fix issues

* fix: fix expression editor bug causing code mirror to no longer be reactive

* fix: fix resource locator bug

* fix: fix vue-agile integration

* fix: remove global import for vue-agile

* fix: replace element-plus buttons with n8n-buttons everywhere

* fix(editor): Fix various element-plus styles (#6571)

* fix(editor): Fix various element-plus styles

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove debugging code

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Fix loading in production mode [Vue 3] (#6578)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): First round of e2e tests fixes with Vue 3 (#6579)

* fix(editor): Fix broken smoke and workflow list e2e tests
* ✔️ Fix failing canvas action tests. Updating some selectors used in credentials and workflow tests

* feat: add vue 3 eslint rules and fix issues

* fix: fix tags-dropdown

* fix: fix white-space issues caused by i18n-t

* fix: rename non-generic click events

* fix: fix search in resources list layout

* fix: fix datatable paginator

* fix: fix popper select caret and dropdown size

* fix: add width to action-dropdown

* fix: fix workflow settings icon not being hidden

* fix: refactor newly added code

* fix: fix merge issue

* fix: fix ndv credentials watcher

* fix: fix workflow saving and grabber notch

* fix: fix nodes list panel transition

* fix: fix node title visibility

* fix: fix data unpinning

* fix: fix value access

* fix: show  input panel only if trigger panel enabled or not trigger node

* fix: fix tags dropdown and executions status spcing

* fix(editor): Prevent execution list to load back when leaving the route (#6697)

fix(editor): prevent execution list to load back when leaving the route

* fix: fix drawer visibility

* fix: fix expression toggle padding

* fix: fix expressions editor styling

* chore: prepare for testing

* fix: fix styling for el-button without patching

* test: fix unit tests in design-system

* test: fix most unit tests

* fix: remove import cycle.

* fix: fix personalization modal tests

* fix further resource mapper test adjustments

* fix: fix multiple tests and n8n-route attr duplication

* fix: fix source control tets

* fix: fixed remaining unit tests

* fix: fix workflows and credentials e2e tests

* fix: fix localizeNodeNames

* fix: update ndv e2e tests

* fix: fix popper left placement arrow

* fix: fix 5-ndv e2e tests

* fix: fix 6-code-node e2e tests

* fix(editor): Drop click outside directive from NodeCreator (#6716)

* fix(editor): Drop click outside directive from NodeCreator

* fix(editor): make sure mouseup outside is unbound at least before the component is unmounted

* fix: fix 10-settings-log-streaming e2e tests

* fix: fix node redrawing

* fix: fix tooltip buttons styling

* fix: fix varous e2e suites

* fix: fix 15-scheduler-node e2e suite

* fix: fix route watcher

* fix: fixed param name update and credential edit

* feat: update event names

* refactor: Remove deprecated `$data` (#6576)

Co-authored-by: Alex Grozav <alex@grozav.com>

* fix: fix 17-sharing e2e suite

* fix: fix tags dropdown

* fix: fix tags manager

* fix(editor): move :deep selectors to a separate scoped style block

* fix: fix sticky component and inline text edit

* fix: update e2e tests

* fix: remove button override references

* fix(editor): Adjust spacing in templates for Vue 3 (#6744)

* fix(editor): Adjust spacing in templates

* fix: Undo unneeded change

* fix: Undo unneeded change

* fix(editor): Adjust NDV height for Vue 3 (#6742)

fix(editor): Adjust NDV height

* fix(editor): Restore collapsed sidebar items for Vue 3 (#6743)

fix(editor): Restore collapsed sidebar items

* fix: fix linting issues

* fix: fix design-system deps

* fix: post-merge fixes

* fix: update tests

* fix: increase timeout for executionslist tets

* chore: fix linting issue

* fix: fix 14-mapping e2e tests in ci

* fix: re-enable tests

* fix: fix workflow duplication e2e tests after tags update

* fix(editor): Change component prop to be typed

* fix: fix tags dropdown in duplicate wf modal

* fix: fix focus behaviour in tags selector

* fix: fix tag creation

* fix: fix log streaming e2e race condition

* fix(editor): Fix Vue 3 linting issues (#6748)

* fix(editor): Fix Vue 3 linting issues

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix MainSidebar linter issues

* revert pnpm lock

* update pnpm lock file

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Some css fixes for vue3 branch (#6749)

*  Fixing filter button height

*  Update input modal button position

*  Updating tags styling

*  Fix event logging settings spacing

* 👕 Fixing lint errors

* fix: fix linting issues

* Revert to `// eslint-disable-next-line @typescript-eslint/no-misused-promises` disabling of mixins init

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix css issue

* fix(editor): Lint fix

* fix(editor): Fix settings initialisation (#6750)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix initial settings loading

* fix: replace realClick with click force

* fix: fix randomly failing mapping e2e tests

* fix(editor): Fix menu item event handling

* fix: fix resource filters dropdown events (#6752)

* fix: fix resource filters dropdown events

* fix: remove teleported:false

* fix: fix event selection event naming (#6753)

* fix: removed console.log (#6754)

* fix: rever await nextTick changes

* fix: redo linting changes

* fix(editor): Redraw node connections if adding more than one node to canvas (#6755)

* fix(editor): Redraw node connections if adding more than one node to canvas

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Update position before connection two nodes

* Lint fix

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Fix `ResourceMapper` unit tests (#6758)

* ✔️ Fix matching columns test

* ✔️ Fix multiple matching columns test

* ✔️ Removing `skip` from the last test

* fix: Allow pasting a big workflow (#6760)

* fix: pasting a big workflow

* chore: update comment

* refactor: move try/catch to function

* refactor: move try/catch to function

* fix(editor): Fix modal layer width

* fix: fix position changes

* fix: undo it.only

* fix: make undo/redo multiple steps more verbose

* fix: Fix value survey styles (#6764)

* fix: fix value survey styles

* fix: lint

* Revert "fix: lint"

72869c431f

* fix: lint

* fix(editor): Fix collapsed sub menu

* fix: Fix drawer animation (#6767)

fix: drawer animation

* fix(editor): Fix source control buttons (#6769)

* fix: Respect modal width

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* fix(editor): Fix tooltip opening delay prop name (#6776)

fix(editor): fix tooltip opening delay prop name

* fix(editor): Fix collapsed sub menu elements (#6778)

* fix: Remove number input arrows (no-changelog) (#6782)

fix: remove number input arrows

* ci: Update most of the dev tooling (no-changelog) (#6780)

* fix(TheHive Node): Treat  `ApiKey` as a secret (#6786)

* test(editor): Prevent node view unload by default in e2e run (#6787)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Resolve vue 3 related console-warnings (#6779)

* fix(editor): Resolve vue 3 related console-warnings

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Use span as component wrapper instead of div

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Wrap popover component in span

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Vue3 - Fix modal positioning and multi-select tag sizing (#6783)

*  Updating modals positioning within the overlay
* 💄 Implemented multi-select variant with small tabs
* ✔️ Removing password link clicks while modal is open in e2e tests
* Set generous timeout for $paramter resolve
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>

* ci: Fix linting issues (no-changelog) (#6788)

* ci: Fix linting (no-changelog)

* lintfix for nodes-base as well

* fix(editor): Fix code node highlight error (#6791)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* feat(core): Credentials for popular SecOps services, Part 1 (#6775)

* refactor: Clear unused ESLint directives from BE packages (no-changelog) (#6798)

* refactor(core): Cache workflow ownership (#6738)

* refactor: Set up ownership service

* refactor: Specify cache keys and values

* refactor: Replace util with service calls

* test: Mock service in tests

* refactor: Use dependency injection

* test: Write tests

* refactor: Apply feedback from Omar and Micha

* test: Fix tests

* test: Fix missing spot

* refactor: Return user entity from cache

* refactor: More dependency injection!

* fix(editor): Prevent text edit dialog from re-opening in same tick (#6781)

* fix: prevent reopenning textedit dialog in same tick

* fix: add same logic for code edit dialog

* fix: remove stop modifier

* fix: blur input field when closing modal, removing default element-plus behaviour

* test(editor): Do not chain invoke calls after assertions in 24-ndv-paired-item e2e spec (no-changelog) (#6800)

* test(editor): Do not chaing invoke calls after assertions in 24-ndv-paired-item e2e spec

* Do not chaing realHover after assertion

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove .only

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(Todoist Node): Fix issue with section id being ignored (#6799)

* test(editor): Add canvas actions E2E tests (#6723) (#6790)

* test(editor): Add canvas actions E2E tests (#6723)

* test(editor): Add canvas actions E2E tests

* test(editor): Open category items in node creator when category dropped on canvas

* test(editor): Have new position counted only once in drag

* test(editor): rename test

(cherry picked from commit 052d82b220)

* test: fix drag positioning

* fix(core): Add missing primary key on the `execution_data` table on postgres (#6797)

* fix: Review fixes

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: Fin locales

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix merging errors

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Map erros based on statusCode

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix code replacing

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix code formatting

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address review points

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Optionally access total_tokens

* Clean-up Ask AI modal

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Store prompt in sessionStorage

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Improve schema generation, only get parent nodes

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Send error messages to telemetry, aske before switching tabs

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Add locale

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Post-merge cleanup

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Move Ask AI into separate folder

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Lint fix

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Constants lint fix

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Add Ask AI e2e tests and fix linting issues

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Move CircleLoader to design-lib

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Replace circle-lodaer and move el-tabs styles to n8n theme

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix placeholder & e2e tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove old CircleLoader

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Romain Dunand <romain@1-more-thing.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Marcus <56945030+maspio@users.noreply.github.com>
Co-authored-by: Jordan Hall <Jordan@libertyware.co.uk>
Co-authored-by: qg-horie <36725144+qg-horie@users.noreply.github.com>
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
2023-08-16 13:08:10 +02:00
Cornelius Suermann 198a977f57
feat(core): Show a banner when running a non-prod license (no-changelog) (#6849)
* add feat:showNonProdBanner

* fix linting

* fix linting
2023-08-16 10:05:03 +02:00
Michael Kret 3adb0b66ea
feat(core): Descriptive message for common nodeJS errors (#6841) 2023-08-14 22:12:35 +03:00
Omar Ajoue 3d2f4406d7
feat(core): Debug in Editor flag (no-changelog) (#6888)
* feat(cli): Debug in Editor flag (no-changelog)

* fix: Lint issue

* chore: Use correct lock version

* fix: Remove dependency cycle
2023-08-09 16:38:17 +02:00
github-actions[bot] eda34a7ae7
🚀 Release 1.2.0 (#6891)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-08-09 14:10:24 +02:00
कारतोफ्फेलस्क्रिप्ट™ 8126181e18
fix(editor): Avoid infinite loops when resolving the expression {{ $parameter }} (no-changelog) (#6855)
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-08-07 11:52:33 +02:00
कारतोफ्फेलस्क्रिप्ट™ 732416f52f
fix(core): Fix property existence checks on AugmentObject (#6842)
Fixes https://community.n8n.io/t/code-node-returns-full-item-object-on-node-all/28823
2023-08-03 12:19:30 +02:00
Alex Grozav fb755db9bd
fix: Fix replacing node empty string value with default value (no-changelog) (#6832)
fix: fix replacing node empty string value with default value
2023-08-02 14:19:01 +03:00
कारतोफ्फेलस्क्रिप्ट™ 34df8b6238
refactor: Consolidate tsconfig and eslintrc files (no-changelog) (#6816)
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2023-08-01 17:32:43 +02:00
कारतोफ्फेलस्क्रिप्ट™ 31d8f478ee
refactor(core): Parse Webhook request bodies on-demand (#6394)
Also,
1. Consistent CORS support ~on all three webhook types~ waiting webhooks never supported CORS. I'll fix that in another PR
2. [Fixes binary-data handling when request body is text, json, or xml](https://linear.app/n8n/issue/NODE-505/webhook-binary-data-handling-fails-for-textplain-files).
3. Reduced number of middleware that each request has to go through.
4. Removed the need to maintain webhook endpoints in the auth-exception list.
5. Skip all middlewares (apart from `compression`) on Webhook routes. 
6. move `multipart/form-data` support out of individual nodes
7. upgrade `formidable`
8. fix the filenames on binary-data in webhooks nodes
9. add unit tests and integration tests for webhook request handling, and increase test coverage
2023-08-01 17:32:30 +02:00
Michael Auerswald 7b27fa5898
fix(core): Serialize BigInts (#6805)
* workaround for non-serializable BigInt

* refactor
2023-07-31 16:53:30 +02: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
कारतोफ्फेलस्क्रिप्ट™ 6fb8a9ee39
ci: Fix linting issues (no-changelog) (#6788)
* ci: Fix linting (no-changelog)

* lintfix for nodes-base as well
2023-07-28 18:28:17 +02:00
कारतोफ्फेलस्क्रिप्ट™ feac369f6c
fix(core): Allow ignoring SSL issues on generic oauth2 credentials (#6702) 2023-07-26 17:56:59 +02:00
github-actions[bot] 2f3086c8cb
🚀 Release 1.1.0 (#6746)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-07-26 11:55:53 +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
Iván Ovejero 3566c13afc
feat: Allow eslint-config to be externally consumable (#6694)
* feat: Allow `eslint-config` to be externally consumable

* refactor: Adjust import styles
2023-07-19 09:35:10 +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
Iván Ovejero 2af1c24ead
feat: Allow hiding credential params on cloud (#6687) 2023-07-18 11:43:28 +02:00
Michael Kret b69d20c12e
feat(Airtable Node): Overhaul (#6200) 2023-07-17 19:42:30 +03:00
Milorad FIlipović 4240e76253
feat(editor): Implement new banners framework (#6603)
*  Implemented new grid row - banners
*  Fixing node creator and executions sidebar position after layout update
* 💄 Added configurable round corners to the Callout component
*  Fixing mouse position detection and main tab bar position
*  Implemented basic banner component structure
*  Implemented banner state and dismiss logic
*  Fixing grid layout. Updating banners height state dynamically
*  Fix zoom to fit position, mouse position in demo mode and callout vertical alignment
*  Implementing proper trial banners logic
* 💄 Only showing execution usage data once the sidebar is fully expanded
*  Implemented permanent/temporary dismiss logic for v1 flag
*  Minor refactoring of banner logic
*  Updating permanent dismiss logic to work with all banners
* 👕 Fixing linting errors
* ✔️ Updating Callout component test snapshots
* 💄 Tweaking zoom to fit position
* ✔️ Updating testing endpoints to use new store data
*  Added banners unit tests
* ✔️ Fixing failing banner tests
*  Added more banner tests
*  Updating banners dimensions on resize, removing leftover code
* ✔️ Removing store import from API file
* 👕 Fixing lint errors
*  Updating migration files
*  Using query parameters in migrations
* 👌 Addressing design review feedback
*  Updating upgrade plan button click
*  Updating the migrations syntax
* 👌 Updating permanent banner dismiss endpoint and back-end logic
* 👌 Refactoring trial banner component and ui store
* 👌 Addressing more points from code review
* 👌 Moving DOM logic from the store
* ✔️ Updated callout component snapshots
* 👌 Updating mysql migration file
* ✔️ Updating e2e test canvas coordinates after setting it's position to absolute
* 👌 Addressing back-end review feedback
* 👌 Improving typing around banners
* 👕 Fixing lint errors
2023-07-14 15:36:17 +02:00
OlegIvaniv e5620ab1e4
feat(API): Implement users account quota guards (#6434)
* feat(cli): Implement users account quota guards

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove comment

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

- Getting `usersQuota` from `Settings` repo
- Revert `isUserManagementEnabled` helper
- Fix FE listing of users

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Refactor isWithinUserQuota getter and fix tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Revert testDb.ts changes

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Cleanup & improve types

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix duplicated method

* Fix failing test

* Remove `isUserManagementEnabled` completely

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Check for globalRole.name to determine if user is owner

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix unit tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Set isInstanceOwnerSetUp in specs

* Fix SettingsUserView UM

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* refactor: License typings suggestions for users quota guards (#6636)

refactor: License typings suggestions

* Update packages/cli/src/Ldap/helpers.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* Update packages/cli/test/integration/shared/utils.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Use 403 for all user quota related errors

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-07-12 14:11:46 +02:00
Romain Dunand aecc05b787
fix(HTTP Request Node): Cleanup circular references in response (#6590)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-07-12 12:31:32 +02:00
Iván Ovejero d6b2ae0255
refactor: Stop using .d.ts files for type-collection files (no-changelog) (#6634)
refactor: Stop using `.d.ts` files for type-collection files
2023-07-10 19:35:34 +02:00
कारतोफ्फेलस्क्रिप्ट™ 07744986ea
fix(core): Fix credentials lazy-loading (no-changelog) (#6615) 2023-07-10 17:57:26 +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
कारतोफ्फेलस्क्रिप्ट™ e33cc2c27c Merge remote-tracking branch 'origin/master' into release/1.0.1 2023-07-05 20:01:24 +02:00
github-actions[bot] b47ee52fb3
🚀 Release 1.0.1 (#6606)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-07-05 19:16:05 +02:00
कारतोफ्फेलस्क्रिप्ट™ d97edbcffa
fix(core): Make node execution order configurable, and backward-compatible (#6507)
* fix(core): Make node execution order configurable, and backward-compatible

*  Also add new Merge-Node behaviour

*  Fix typo

* Fix lint issue

* update labels

* rename legacy to v0

* remove the unnecessary log

* default all new workflows to use v1 execution-order

* remove the controller changes

* clone default settings to avoid it getting modified

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2023-07-05 18:47:34 +02:00
github-actions[bot] dd0fe2a7ab
🚀 Release 0.236.0 (#6602)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-07-05 15:34:52 +02:00
Jan Oberhauser c8456afd62 Merge tag 'n8n@0.235.0' 2023-07-05 14:57:09 +02:00
Csaba Tuncsik 2580286a19 fix(editor): Show retry information in execution list only when it exists (#6587)
* fix(editor): Show retry information in execution list only when it exists

* build: Fix checking for test files
2023-07-04 21:14:03 +02:00
कारतोफ्फेलस्क्रिप्ट™ 4c854f4f23
refactor: Setup node context API, and consolidate code between Webhook and Wait nodes (no-changelog) (#6464) 2023-07-04 16:17:50 +02:00
Csaba Tuncsik 3ca66be380
fix(editor): Show retry information in execution list only when it exists (#6587)
* fix(editor): Show retry information in execution list only when it exists

* build: Fix checking for test files
2023-07-04 09:42:58 +02:00
github-actions[bot] d0e7779617
🚀 Release 0.235.0 (#6557)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-06-28 11:07:11 +02:00
github-actions[bot] ca588ed66a
🚀 Release 1.0.0 (#6553)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-27 16:47:42 +02:00
Michael Auerswald 9294e2da3c
fix(core): Add empty credential value marker to show empty pw field (#6532)
add empty credential value marker to show empty pw field
2023-06-23 18:23:28 +02:00
Jan Oberhauser b8458a53f6
feat(core)!: Change data processing for multi-input-nodes (#4238)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-23 12:07:52 +02:00
कारतोफ्फेलस्क्रिप्ट™ 9194d8bb0e
refactor: Remove executeSingle (no-changelog) (#4853) 2023-06-23 10:50:08 +02:00
Ricardo Espinoza 3db2707b8e
fix: Show error when referencing node that exist but has not been executed (#6496)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-23 01:45:54 +02:00
Iván Ovejero 0fe415add2 feat(editor): Add v1 banner (#6443) 2023-06-22 21:05:04 +02:00
Iván Ovejero 85372aabdf fix(core)!: Make date extensions outputs match inputs (#6435) 2023-06-22 21:05:04 +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
Iván Ovejero 8c008f5d22 refactor(core)!: Remove basic-auth, external-jwt-auth, and no-auth options (#6362)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-22 20:03:47 +02:00
Iván Ovejero beedfb609c
feat(editor): SQL editor overhaul (#6282)
* Draft setup
*  Implemented expression evaluation in Postgres node, minor SQL editor UI improvements, minor refacring
*  Added initial version of expression preview for SQL editor
*  Linking npm package for codemirror sql grammar instead of a local file
*  Moving expression editor wrapper elements to the component
*  Using expression preview in SQL editor
* Use SQL parser skipping whitespace
*  Added support for custom skipped segments specification
*  Fixing highlight problems with dots and expressions that resolve to zero
* 👕 Fixing linting error
*  Added current item support
*  Added expression support to more nodes with sql editor
*  Added expression support for other nodes
*  Implemented different SQL dialect support
* 🐛 Fixing hard-coded parameter names for editors
*  Fixing preview for nested queries, updating query when input data changes, adding keyboard shortcut to toggle comments
*  Adding a custom automcomplete notice for different editors
*  Updating SQL autocomplete notice
*  Added unit tests for SQL editor
*  Using latest grammar
* 🐛 Fixing code node editor rendering
* 💄 SQL preview dropdown matches editor width. Removing unnecessary css
*  Addressing PR review feedback
* 👌 Addressing PR review feedback pt2
* 👌 Added path alias for utils in nodes-base package
* 👌 Addressing more PR review feedback
*  Adding tests for `getResolvables` utility function
* Fixing lodash imports
* 👌 Better focus handling, adding more plugins to the editor, other minor imrovements
*  Not showing SQL autocomplete suggestions inside expressions
*  Using npm package for sql grammar
*  Removing autocomplete notice, adding line highlight on syntax error
* 👌 Addressing code review feedback
---------
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
2023-06-22 16:47:28 +02:00
github-actions[bot] f32d5f637e
🚀 Release 0.234.0 (#6509)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-06-22 09:58:30 +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
Jan Oberhauser 4b0e0b7970
fix(core): Fix pairedItem for alwaysOutputData & multi identical resolve (#6405) 2023-06-21 10:38:28 +03:00
Michael Auerswald c3ba0123ad
feat: Migrate integer primary keys to nanoids (#6345)
* first commit for postgres migration

* (not working)

* sqlite migration

* quicksave

* fix tests

* fix pg test

* fix postgres

* fix variables import

* fix execution saving

* add user settings fix

* change migration to single lines

* patch preferences endpoint

* cleanup

* improve variable import

* cleanup unusued code

* Update packages/cli/src/PublicApi/v1/handlers/workflows/workflows.handler.ts

Co-authored-by: Omar Ajoue <krynble@gmail.com>

* address review notes

* fix var update/import

* refactor: Separate execution data to its own table (#6323)

* wip: Temporary migration process

* refactor: Create boilerplate repository methods for executions

* fix: Lint issues

* refactor: Added search endpoint to repository

* refactor: Make the execution list work again

* wip: Updating how we create and update executions everywhere

* fix: Lint issues and remove most of the direct access to execution model

* refactor: Remove includeWorkflowData flag and fix more tests

* fix: Lint issues

* fix: Fixed ordering of executions for FE, removed transaction when saving execution and removed unnecessary update

* refactor: Add comment about missing feature

* refactor: Refactor counting executions

* refactor: Add migration for other dbms and fix issues found

* refactor: Fix lint issues

* refactor: Remove unnecessary comment and auto inject repo to internal hooks

* refactor: remove type assertion

* fix: Fix broken tests

* fix: Remove unnecessary import

* Remove unnecessary toString() call

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* fix: Address comments after review

* refactor: Remove unused import

* fix: Lint issues

* fix: Add correct migration files

---------

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* remove null values from credential export

* fix: Fix an issue with queue mode where all running execution would be returned

* fix: Update n8n node to allow for workflow ids with letters

* set upstream on set branch

* remove typo

* add nodeAccess to credentials

* fix unsaved run check for undefined id

* fix(core): Rename version control feature to source control (#6480)

* rename versionControl to sourceControl

* fix source control tooltip wording

---------

Co-authored-by: Romain Minaud <romain.minaud@gmail.com>

* fix(editor): Pay 548 hide the set up version control button (#6485)

* feat(DebugHelper Node): Fix and include in main app (#6406)

* improve node a bit

* fixing continueOnFail() ton contain error in json

* improve pairedItem

* fix random data returning object results

* fix nanoId length typo

* update pnpm-lock file

---------

Co-authored-by: Marcus <marcus@n8n.io>

* fix(editor): Remove setup source control CTA button

* fix(editor): Remove setup source control CTA button

---------

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
Co-authored-by: Marcus <marcus@n8n.io>

* fix(editor): Update source control docs links (#6488)

* feat(DebugHelper Node): Fix and include in main app (#6406)

* improve node a bit

* fixing continueOnFail() ton contain error in json

* improve pairedItem

* fix random data returning object results

* fix nanoId length typo

* update pnpm-lock file

---------

Co-authored-by: Marcus <marcus@n8n.io>

* feat(editor): Replace root events with event bus events (no-changelog) (#6454)

* feat: replace root events with event bus events

* fix: prevent cypress from replacing global with globalThis in import path

* feat: remove emitter mixin

* fix: replace component events with event bus

* fix: fix linting issue

* fix: fix breaking expression switch

* chore: prettify ndv e2e suite code

* fix(editor): Update source control docs links

---------

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
Co-authored-by: Marcus <marcus@n8n.io>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix tag endpoint regex

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Romain Minaud <romain.minaud@gmail.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: Marcus <marcus@n8n.io>
Co-authored-by: Alex Grozav <alex@grozav.com>
2023-06-20 19:13:18 +02:00
कारतोफ्फेलस्क्रिप्ट™ 1b084bc56b
fix(core): Improve the error returned to users on SSL issues (#6494) 2023-06-20 17:54:05 +02: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
Csaba Tuncsik 1fe6459569
feat: Audit Logs - add new page to frontend [WIP] (no-changelog) (#6418)
* feat: Audit Logs (WIP)

* feat: Audit Logs license depending contents

* fix(editor): simplify import

* fix(editor): add audit logs to server
2023-06-15 08:33:28 +02:00
github-actions[bot] 93a8236155
🚀 Release 0.233.0 (#6428)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-06-14 16:28:08 +02:00
Jan Oberhauser 10bb5be542 Merge tag 'n8n@0.232.0' 2023-06-14 14:34:12 +02:00
कारतोफ्फेलस्क्रिप्ट™ da7ae2beef
fix(core): Prevent arbitrary code execution via expressions (#6420) 2023-06-14 13:15:27 +02:00
github-actions[bot] 72448229d7
🚀 Release 0.232.0 (#6399)
Co-authored-by: Alex Grozav <alex@grozav.com>
2023-06-07 15:29:04 +03:00
Ricardo Espinoza e95e8de500
refactor(editor): Remove user activation modal (no-changelog) (#6361)
* Remove user activation modal

* remove export from index.ts

* Update pnpm-lock.yaml

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-06-05 13:47:06 -04:00
Jan Oberhauser 4162b7b38a Merge tag 'n8n@0.231.0' 2023-06-05 11:19:11 +02:00
कारतोफ्फेलस्क्रिप्ट™ 23e49c53ed
fix(core): Upgrade @n8n_io/riot-tmpl (no-changelog) (#6357) 2023-06-01 18:41:50 +02:00
Csaba Tuncsik 1b321416c0
feat: Version control mvp (#6271)
* implement basic git service

* cleanup connected prop

* add skeleton of git functions

* initial import/export setup

* split out export service

* refactor and improve export

* begin import

* more commands and basic import

* clean up imports with transactions

* work folder import functions

* reintroduce versionid

* add missing import to pull workfolder

* add get-status endpoint

* add cleanup to disconnect

* add initRepo options

* add more checks and cleanup

* minor cleanup

* refactor prefs

* fix server.ts

* fix sending deleted files

* rename files to ee

* add variable override and fix critical cred import bug

* fix mkdir race condition

* make initRepo default to true

* fix front back integration

* improve connect flow

* add comment to generated ssh key

* fix(editor): use useToast composable

* fix buttons size

* commenting out repo init for now

* fix(editor): update UI logic

* fix(editor): remove console.log

* fix(editor): remove unused ref

* adjust endpoints for improved UI

* fix(editor): add push and pull buttons

* keep or not ssh key

* switching file name to id

* fix(editor): add success messages, fix save button

* fixed faulty diff preventing pull

* fix build

* fix(editor): adding loader to VC components

* removing duplicate exports

* improve conflict finding on push pull

* manage pull conflict

* alternate push pull

* fix pull confirmation

* fix rm and credential export/import

* switch to alternative pull implementation

* fix initial commit

* fix(editor): subscribing to VC store action to refresh lists

* fix(editor): wrap VC store actions with try

* feat: add fine-grained file selection for push action

* fix: close modal after successful push

* fix(editor): VC preferences validation

* fix confirm

* fix: update endpoint to /get-status

* feat: update pull modal override changes message

* fix missing wf error

* undo

* removing connect endpoint

* fix(editor): add button titles

* fix(editor): cleaning up store action

* add version-control/set-read-only protection

* fix(editor): adding set branch readonly

* fix(editor): remove Push button if branch set to readonly

* fix(editor): fix some styles

* fix(editor): remove duplicate and delete actions in WF list when branch is readonly

* fix: load status before opening selective push modal

* fix(editor): extend readonly logic

* add cleanup after failed initRepo

* fix deleted files crashing get-status

* fix n8n-checkbox in staging dialog

* fix(editor): fix loading

* fix(editor): resize buttons

* fix(editor): fix translation

* fix(editor): fix copy text size

* fix(editor): fix copy text size

* fix(editor): add disconnection confirmation

* fix(editor): add disconnection confirmation

* fix(editor): set large buttons

* add public api Pull endpoint

* feat: add refresh ssh key

* return prefs when new keys are generated

* fix(editor): adding readOnly mode to main header

* fix(editor): adding readOnly mode to workflow settings

* improve credential owner import

* add middleware to endpoints

* improve public api error/doc

* do not create branch if one already exists

* update wordings for connect toasts

* fix(editor): updating and separating readonly modes

* fix(editor): fix readonly mode in WF list

* fix(editor): disable elements dragging on canvas in readonly mode (WIP: not working when NodeView page is loaded first)

* fix(editor): fix canvas draggables in readonly env

* fix(editor): remove unused variables

* fix(editor): hide actions in node connections when readonly

* fix(editor): hide actions in node connections when readonly

* fix(editor): disable Save button when readonly

* fix(editor): disable Save settings if no branch is selected

* fix(editor): lint fix

* fix(editor): update snapshots

* fix(editor): replace Loading... text

* fix(editor): reset Loading... text

* reset branchname on disconnect

* fix(editor): adding some translations

* fix(editor): fix unit test

* fix(editor): fix loading

* fix(editor): set settings saved message

* fix(editor): update connection flag

* fix branchName not returning after connect

* temporary (but still breaking) fix for postgres

* fix(editor): adding tooltip to Push/Pull buttons when they're collapsed

* fix(editor): enabled activator in readonly mode

* fix test

* fix(editor): disabling new item addition for workflows in readonly mode

* fix(editor): modify Pull/Push button tooltips

* do not commit empty variables file

---------

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
Co-authored-by: Romain Minaud <romain.minaud@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
2023-05-31 15:01:57 +02:00
github-actions[bot] 3e2eb15a9d
🚀 Release 0.231.0 (#6344)
* 🚀 Release 0.231.0

* Update CHANGELOG.md

---------

Co-authored-by: krynble <krynble@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-05-31 13:55:26 +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
Michael Auerswald 77e3f1551d
feat: Add manual login option and password reset link for SSO (#6328)
* consolidate IUserSettings in workflow and add allowSSOManualLogin

* add pw reset link to owners ui
2023-05-30 12:52:02 +02:00
github-actions[bot] 16fade7d41
🚀 Release 0.229.0 (#6267)
* 🚀 Release 0.229.0

* Update CHANGELOG.md

---------

Co-authored-by: csuermann <csuermann@users.noreply.github.com>
Co-authored-by: Cornelius Suermann <cornelius@n8n.io>
2023-05-17 13:35:26 +02:00
agobrech 8ae2d801d8
feat(Respond to Webhook Node): Move from Binary Buffer to Binary streaming (#5613)
* replace binary buffer with binary streaming

* Add binary assertion and remove duplicate code

* handle streams correctly

* fix binary response in `own` mode

* fix stream response missing headers

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Marcus <marcus@n8n.io>
2023-05-17 10:06:24 +02:00
कारतोफ्फेलस्क्रिप्ट™ a4c0cc9b5c
feat(core): Reduce the number of events sent to Sentry (#6235) 2023-05-15 15:54:48 +02:00
github-actions[bot] d5c74bd2b4
🚀 Release 0.228.0 (#6219)
* 🚀 Release 0.228.0

* Update CHANGELOG.md

---------

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-05-11 11:50:17 +02:00
Michael Kret ed3bc154b0
refactor(editor): Stricter linting for promises and async functions (no-changelog) (#4642) 2023-05-10 18:10:03 +03:00
कारतोफ्फेलस्क्रिप्ट™ 394c9a2731
ci: Fix linting issues on master (no-changelog) (#6186) 2023-05-05 10:22:49 +02:00
Jan Oberhauser 35c8510ab6
feat(Code Node): Add Python support (#4295) 2023-05-04 20:00:00 +02:00
github-actions[bot] 2926fb50db
🚀 Release 0.227.0 (#6167)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-05-03 15:39:00 +02:00
Michael Kret 700cc39cbc
fix(core): Better errors for common status codes fix 2023-05-03 12:45:44 +03:00
Michael Kret 8aedc03dda
fix(core): Assign Unknown Error only if message or description not present in error 2023-05-03 10:15:33 +03:00
कारतोफ्फेलस्क्रिप्ट™ deb4c04f34
fix(AWS S3 Node): Fix File upload, and add node tests (#6153) 2023-05-02 17:29:07 +02:00
Iván Ovejero 06fa6f1fb3
ci: Expand ESLint to tests in BE packages (no-changelog) (#6147)
* 🔧 Adjust base ESLint config

* 🔧 Adjust `lint` and `lintfix` in `nodes-base`

* 🔧 Include `test` and `utils` in `nodes-base`

* 📘 Convert JS tests to TS

* 👕 Apply lintfixes
2023-05-02 10:37:19 +02:00
Iván Ovejero c99f158120
fix(core): Account for nodes with renamable content (#6109)
🐛 Account for nodes with renamable content
2023-05-02 09:37:49 +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
कारतोफ्फेलस्क्रिप्ट™ 206b6b90b8
fix(core): Fix hasOwnProperty on augmented objects (#6124)
N8N-6333

Fixes 

- https://community.n8n.io/t/bug-faulty-javascript-being-implemented-in-the-code-node-after-update-to-v0-222-3/25346
- https://community.n8n.io/t/checking-for-value-in-webhook-body-with-hasownproperty/25068/11
2023-04-28 11:49:53 +02:00
github-actions[bot] 4f56194035
🚀 Release 0.226.0 (#6087) 2023-04-26 16:05:03 +02:00
कारतोफ्फेलस्क्रिप्ट™ a4eb46acc1
fix(core): Serialize dates and regexps when reading from augmented objects (#6086)
https://community.n8n.io/t/workflows-fail-when-triggered-but-succeed-when-run-manually/25575
2023-04-26 11:11:13 +02:00
OlegIvaniv 390841bbf0
feat(editor): Enhance Node Creator actions view (#5954)
* WIP

* WIP

* Extract actions into composable

* WIP: Preserve categories when searching

* WIP

* WIP: Tweak styles

* WIP: Refactor node creator

* WIP: Finish Node Creator node view/subcategories refactor

* WIP: Finished actions refactor

* Cleanup & Lintfix

* WIP: Improve memory managment

* Fix interactions

* WIP

* WIP: Keyboard navigation

* Improve keyboard navigation and memory managment

* Finished view refactor

* FIx custom api calls and activation callouts

* Fix actions tracking and cleanup

* Product review fixes

* Telemetry fixes

* Fix node creator e2es

* Set action name font size and actionsEmpty font weight

* Fix failing credentials spec

* Make sure to select first action item when switching from nodes panel to actions panel

* Add actions panel e2e tests

* Cleanup

* Fix actions generation and cleanup

* Add correct Learn More link and adjust displaying of trigger icon

* Change trigger icon condition to use nodeType group

* Cleanup nodeTypesUtils and snapshots and lintfixes

* Lint fixes

* Refine logic to show trigger icon in node creator

* Add unit tests & clean up

* Add `003_auto_insert_action` experiment, hide empty sections for opposite root view

* Lintfix

* Do not show empty category tooltips and only show activation callout in triger root view

* Fix no-results node creator view

* Spacings tweaks and root rendering logic adjustment

* Add unit tests

* Lint and e2e fixes

* Revert CLI changes, fix unit tests

* Remove useless comments

* Sync master, replace $externalHooks mixin

* Lint fix

* Focus first action when panel slides in, not category

* Address PR comments

* Lint fix

* Remove `setAddedNodeActionParameters` optional track param

* Further simplify setAddedNodeActionParameters

* Fix pnpn lock file

* Fix types imports

* Fix 13-pinning spec
2023-04-26 09:18:10 +02:00
Jan Oberhauser 70aaf24784
feat(editor): Add SQL editor support (#5517) 2023-04-25 18:18:27 +02:00
कारतोफ्फेलस्क्रिप्ट™ ca4e0df90b
refactor(editor): Replace monaco-editor/prismjs with CodeMirror (#5983)
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Alex Grozav <alex@grozav.com>
2023-04-25 16:57:21 +02:00
कारतोफ्फेलस्क्रिप्ट™ 308a94311f
refactor: Async functions don't need to explicitly return promises (no-changelog) (#6041) 2023-04-24 13:17:08 +02:00
Iván Ovejero 57aab63c10
refactor: Integrate consistent-type-imports in FE packages (no-changelog) (#6060)
* 👕 Move `consistent-type-imports` to top level

* 👕 Apply lintfixes

* 👕 Apply more lintfixes

* 👕 More lintfixes

* 👕 More lintfixes
2023-04-24 12:18:24 +02:00
Michael Auerswald ac245fdb8d
refactor(editor): Consolidate IN8nUISettings interface (#6055)
* consolidate IN8nUISettings

* cleanup
2023-04-21 13:30:57 +02:00
Michael Kret 0e93fe064e
refactor(core): Forbid raw enums (no-changelog) 2023-04-21 14:23:15 +03:00
Jan Oberhauser 589f19e1ee
docs: Add proprietary license text (no-changelog) (#6038) 2023-04-20 18:49:09 +02:00
OlegIvaniv 33fb73217d
fix(core): Improve domain and url matching for extractDomain and extractUrl (#6010)
* fix(core): Fix domain and url matching for isDomain/isUrl/extractDomain/extractUrl

* Document regex and include www in the domain

* Lint fix
2023-04-20 09:01:27 +02:00
Jan Oberhauser c291ef5dae Merge tag 'n8n@0.225.0' 2023-04-19 14:29:23 +02:00
github-actions[bot] 053a5bfa27
🚀 Release 0.225.0 (#6012) 2023-04-19 14:10:37 +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
कारतोफ्फेलस्क्रिप्ट™ f9b3aeac44
refactor(Code Node): Constently handle various kinds of data returned by user code (#6002) 2023-04-19 13:09:46 +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
कारतोफ्फेलस्क्रिप्ट™ c42820e82e
fix(core): Make getExecutionId available on all nodes types (#5990)
fixes https://community.n8n.io/t/this-getexecutionid-in-custom-node-development-not-available-anymore/25259/1
2023-04-17 10:11:26 +02:00
Iván Ovejero b13b7d73e7
fix(core): Fix paired item returning wrong data (#5898)
* 🐛 Fix paired item returning wrong data

* 🧪 Add e2e test

*  Restore injection for simulated execution
2023-04-14 13:33:27 +02:00
Jan Oberhauser 303521a0e2 Merge tag 'n8n@0.224.0' 2023-04-12 17:16:26 +02:00
Iván Ovejero 5227ccd75a
ci: Validate load options methods in nodes-base (no-changelog) (#5862) 2023-04-12 15:46:11 +02:00
github-actions[bot] 492496fca4
🚀 Release 0.224.0 (#5957) 2023-04-12 15:44:10 +02:00
Ricardo Espinoza 725393dae6
feat(editor): Add user activation survey (#5677)
*  Add user activation survey

* Fix typo

* Avoid showing the modal when there is a modal view

* Allow to redirect to specific execution

* Improve structure

* Handle errors when sharing feedback

* update withFeatureFlag function

* Fix linting issue

* Set user activation flag on workflowExecutionCompleted event

* Revert update user settings functionality

* Remove unnecessary changes

* fix linting issue

* account for new functionality in tests

* Small improvements

* keep once instace of the model open between tabs

* Add sorting to GET /executions

* type parameters for GET /executions


a

* Add constant for local store key

* Add execution mode filtering

* fix linting issue

* Do not override settings when setting isOnboarded true

* Add update user settings endpoint

* improvements

* revert changes to /GET executions

* Fix typo

* Add userActivated flag to user store

* Add E2E test

* Fix linting issue

* Update pnpm-lock

* Revert unnecessary change

* Centralize user's settings update

* Remove unused ref in userActivationSurvey modal

* Use aliased imports

* Use createEventBus function in component

* Fix tests
2023-04-11 12:43:47 -04:00
कारतोफ्फेलस्क्रिप्ट™ 3085ed9bee
fix(core): Update xml2js to address CVE-2023-0842 (#5948)
GH advisory: https://github.com/advisories/GHSA-776f-qx25-q3cc
2023-04-11 15:05:56 +02:00
Omar Ajoue 89c12fc1a7
fix: Make sure retryOf does not take null value (no-changelog) (#5915) 2023-04-06 13:02:46 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6689451e8c
fix(core): Do not execute workflowExecuteBefore hook when resuming executions from a waiting state (#5727) 2023-04-06 10:18:19 +02:00
github-actions[bot] 9e600d0f90
🚀 Release 0.223.0 (#5886) 2023-04-05 16:18:00 +02:00
Jan Oberhauser bdcfcb2ef7 Merge tag 'n8n@0.222.1' 2023-04-04 17:31:48 +02:00
github-actions[bot] 64fa80fe8a
🚀 Release 0.222.1 (#5897) 2023-04-04 15:36:08 +02:00
कारतोफ्फेलस्क्रिप्ट™ a72173414d
fix(core): augmentObject should clone Buffer/Uint8Array instead of wrapping them in a proxy (#5902) 2023-04-04 14:34:24 +02:00
कारतोफ्फेलस्क्रिप्ट™ b1ee8f4d99 fix(core): augmentObject should use existing property descriptors whenever possible (#5872)
* fix(core): Augmented objects should use existing property descriptors whenever possible

* add a test for non-enumerable keys
2023-04-04 10:17:15 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6906b00b0e fix(core): Prevent augmentObject from creating infinitely deep proxies (#5893)
fixes #5848
2023-04-04 10:17:15 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6a1b7c306b
fix(core): augmentObject should use existing property descriptors whenever possible (#5872)
* fix(core): Augmented objects should use existing property descriptors whenever possible

* add a test for non-enumerable keys
2023-04-03 17:19:12 +02:00
कारतोफ्फेलस्क्रिप्ट™ 31cd04c476
fix(core): Prevent augmentObject from creating infinitely deep proxies (#5893)
fixes #5848
2023-04-03 17:18:52 +02:00
Iván Ovejero 62751b5a0b
refactor: Add lint rule no-unused-param-in-catch-clause (#5868)
👕 Add lint rule `no-unused-param-in-catch-clause`
2023-03-31 16:44:08 +02:00
Jan Oberhauser 6c35518ed9 Merge tag 'n8n@0.222.0' 2023-03-30 17:43:27 +02:00
github-actions[bot] e92a993694
🚀 Release 0.222.0 (#5786) 2023-03-30 14:53:19 +02:00
कारतोफ्फेलस्क्रिप्ट™ 87e979c19a
feat: Upgrade TypeScript to v5 (no-changelog) (#5755) 2023-03-30 13:59:59 +02:00
OlegIvaniv aacbb54bef
fix(core): Do not user util.types.isProxy for tracking of augmented objects (#5836) 2023-03-30 13:29:36 +02:00
Val 744c3fd211
fix(core): Waiting workflows not stopping (#5811)
fix: Waiting workflows not stopping
2023-03-30 10:12:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ 6c35ffa82c
fix(core): Handle Date and RegExp objects in AugmentObject (#5809) 2023-03-29 21:36:56 +02:00
कारतोफ्फेलस्क्रिप्ट™ 4f91525022
fix(core): Handle Date and RegExp correctly in jsonStringify (#5812) 2023-03-29 21:10:19 +02:00
कारतोफ्फेलस्क्रिप्ट™ 18efaf397a
fix(core): Do not mark duplicates as circular references in jsonStringify (#5789)
* fix(core): jsonStringify should not mark duplicates as circular references

* not mark duplicates as circular references in the code node as well
2023-03-27 16:22:59 +02:00
कारतोफ्फेलस्क्रिप्ट™ c9d9069c0e
refactor(core): Stronger typing for workflow settings (no-changelog) (#5754) 2023-03-24 13:11:48 +01:00
Csaba Tuncsik d78a41db54
feat: Execution custom data saving and filtering (#5496)
* wip: workflow execution filtering

* fix: import type failing to build

* fix: remove console.logs

* feat: execution metadata migrations

* fix(editor): Move global executions filter to its own component

* fix(editor): Using the same filter component in workflow level

* fix(editor): a small housekeeping

* checking workflowId in filter applied

* fix(editor): update filter after resolving merge conflicts

* fix(editor): unify empy filter status

* feat(editor): add datetime picker to filter

* feat(editor): add meta fields

* fix: fix button override in datepicker panel

* feat(editor): add filter metadata

* feat(core): add 'startedBefore' execution filter prop

* feat(core): add 'tags' execution query filter

* Revert "feat(core): add 'tags' execution query filter"

This reverts commit a7b968081c.

* feat(editor): add translations and tooltip and counting selected filter props

* fix(editor): fix label layouts

* fix(editor): update custom data docs link

* fix(editor): update custom data tooltip position

* fix(editor): update tooltip text

* refactor: Ignore metadata if not enabled by license

* fix(editor): Add paywall states to advanced execution filter

* refactor: Save custom data also for worker mode

* fix: Remove duplicate migration name from list

* fix(editor): Reducing filter complexity and add debounce to text inputs

* fix(editor): Remove unused import, add comment

* fix(editor): simplify event listener

* fix: Prevent error when there are running executions

* test(editor): Add advanced execution filter basic unit test

* test(editor): Add advanced execution filter state change unit test

* fix: Small lint issue

* feat: Add indices to speed up queries

* feat: add customData limits

* refactor: put metadata save in transaction

* chore: remove unneed comment

* test: add tests for execution metadata

* fix(editor): Fixes after merge conflict

* fix(editor): Remove unused import

* wordings and ui fixes

* fix(editor): type fixes

* feat: add code node autocompletions for customData

* fix: Prevent transaction issues and ambiguous ID in sql clauses

* fix(editor): Suppress requesting current executions if metadata is used in filter (#5739)

* fix(editor): Suppress requesting current executions if metadata is used in filter

* fix(editor): Fix arrows for select in popover

* refactor: Improve performance by correcting database indices

* fix: Lint issue

* test: Fix broken test

* fix: Broken test

* test: add call data check for saveExecutionMetadata test

---------

Co-authored-by: Valya Bullions <valya@n8n.io>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Romain Minaud <romain.minaud@gmail.com>
2023-03-23 18:07:46 +01:00
Jan Oberhauser 15412b2b2b Merge tag 'n8n@0.221.0' 2023-03-23 16:08:56 +01:00
github-actions[bot] 5dd92c6b94
🚀 Release 0.221.0 (#5726) 2023-03-23 15:37:49 +01:00
कारतोफ्फेलस्क्रिप्ट™ b0cfd69f2b
fix(core): Setup nodeHelpers that aren't exposed in the code sandbox (no-changelog) (#5753) 2023-03-23 15:11:18 +01:00
कारतोफ्फेलस्क्रिप्ट™ 38e91ab730
refactor(core): Stop importing LoggerProxy and createDeferredPromise in nodes-base (no-changelog) (#5742)
* refactor(core): Stop importing LoggerProxy in nodes-base

* refactor(core): Stop importing createDeferredPromise in nodes-base
2023-03-22 14:04:15 +01:00
Michael Auerswald b6d8a0f985
fix(core): Remove circular refs from Code and push msg (#5741)
* remove circular refs from code items (and lint fixes)

* cleanup

---------

* add some tests

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-03-21 15:34:30 +01:00
कारतोफ्फेलस्क्रिप्ट™ 469ce32957
fix(core): Upgrade luxon to address CVE-2023-22467 (#5731)
[GitHub Advisory](https://github.com/advisories/GHSA-3xq5-wjfh-ppjc)
2023-03-21 09:50:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ 6a8c9b7ccc
refactor: Improve typings for webhook methods (no-changelog) (#5713) 2023-03-17 12:25:31 +01:00
Jan Oberhauser 0876c38aae
feat(core): Augment data instead of copying it (#5487) 2023-03-16 15:14:34 +01:00
github-actions[bot] ca91d2b712
🚀 Release 0.220.0 (#5704) 2023-03-16 14:49:21 +01:00
Val 39c871d514
test: Add expression transform tests (#5497) (no-changelog)
test: add expression transform tests
2023-03-14 15:22:52 +00:00
Jan Oberhauser 5f238ea641
fix(editor): Display correct error message for env access (#5634) 2023-03-10 14:16:18 +01:00
Jan Oberhauser dd93c0890b Merge tag 'n8n@0.219.0' 2023-03-09 18:38:19 +01:00
कारतोफ्फेलस्क्रिप्ट™ 7a4e9ef5fa
refactor: Remove n8n-core dependency in nodes-base (no-changelog) (#5649) 2023-03-09 18:13:15 +01:00
github-actions[bot] 40a6ab814d
🚀 Release 0.219.0 (#5659) 2023-03-09 18:04:39 +01:00
agobrech ce0d9d2bed
feat(HTTP Request Node): Move from Binary Buffer to Binary streaming (#5610)
*  Change from binary buffer to binary streaming

* Remove console.logs

* Import Readable from the correct lib

* stream response

* parametersToKeyValue doesn't need to be async anymore

* Fix bodyParameter reduce method

* parametersToKeyValue doesn't need to be async anymore

* handle streaming responses

* send `Content-Length` and `Content-Type` on binary requests

* Add new helper function for binary data

* Add binary function to helpers interface

* Fix bug in error handler

* Fix issue with wrongfully assigned headers to body

* Fix test workflow

* Remove console.logs

* Remove unnecsessary type

* Remove concat dependency already imported in workflow package

* Update pnpm-lock file

* Small fixes, asyncronous error message

* reset the lockfile

* Remove buffer check and simplify error handling

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-03-09 15:38:54 +01:00
Ricardo Espinoza 6500e985ee
fix(core): Use new version of riot-tmpl in workflow package (no-changelog) (#5619)
* Use new version of riot-tmpl

* update lock file
2023-03-09 09:13:48 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5eb0d52459
refactor: Unify binary-data assertion across all nodes (no-changelog) (#5624) 2023-03-06 17:33:32 +01:00
कारतोफ्फेलस्क्रिप्ट™ 4e244937c9
refactor: catch doesn't need to have a param (no-changelog) (#5614) 2023-03-03 18:18:49 +01:00
github-actions[bot] a91b631411
🚀 Release 0.218.0 (#5601)
* 🚀 Release 0.218.0

* Update Changelog

---------

Co-authored-by: janober <janober@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2023-03-02 17:32:52 +01:00
Milorad FIlipović ae634407a4
feat(editor): Add missing documentation to autocomplete items for inline code editor (#5560)
*  Added documentation for extension functions with arguments

*  Adding custom autocomplete item types. This enables us to show different items with same labels.

* 📚 Adding missing info for extensions autocomplete items

*  Added Luxon autocomplete docs

* 💡 Completing Luxon static methods autocomplete documentation

*  Refactoring Luxon autocomplete logic

*  Handling the case when autocomplete item doesn't have defined inline documentation

*  Added correct doc info to Luxon instance properties

*  Added missing documentation and notice footer for autocomplete popup.

* 👕 Fixing lint error

* ✔️ Removing `Object.hasOwn` function, since it's not supported in node v14
2023-02-28 07:34:03 +03:00
Michael Auerswald 40a934bbb4
feat(core): Add SAML login setup (#5515)
* initial commit with sample data

* basic saml setup

* cleanup console logs

* limit saml endpoints through middleware

* basic login and token issue

* saml service and cleanup

* refactor and create user

* get/set saml prefs

* fix authentication issue

* redirect to user details

* merge fix

* add generated password to saml user

* update user from attributes where possible

* refactor and fix creating new user

* rename saml prefs key

* minor cleanup

* Update packages/cli/src/config/schema.ts

Co-authored-by: Omar Ajoue <krynble@gmail.com>

* Update packages/cli/src/config/schema.ts

Co-authored-by: Omar Ajoue <krynble@gmail.com>

* Update packages/cli/src/controllers/auth.controller.ts

Co-authored-by: Omar Ajoue <krynble@gmail.com>

* code review changes

* fix default saml enabled

* remove console.log

* fix isSamlLicensed

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-02-24 20:37:19 +01:00
github-actions[bot] a72ef21817
🚀 Release 0.217.0 (#5553) 2023-02-23 18:21:17 +01:00
Jan Oberhauser b44526cd49 Merge tag 'n8n@0.216.1' 2023-02-21 18:47:26 +01:00
github-actions[bot] 7400c35a48
🚀 Release 0.216.1 (#5531)
* 🚀 Release 0.216.1

* fix(core): Do not allow arbitrary path traversal in the credential-translation endpoint (#5522)

* fix(core): Do not allow arbitrary path traversal in BinaryDataManager (#5523)

* fix(core): User update endpoint should only allow updating email, firstName, and lastName (#5526)

* fix(core): Do not explicitly bypass auth on urls containing `.svg` (#5525)

* 📚 Update CHANGELOG.md

---------

Co-authored-by: janober <janober@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2023-02-21 14:24:02 +01:00
कारतोफ्फेलस्क्रिप्ट™ fe782c8f6a ci: Setup a semi-automated release process (no-changelog) (#5504)
* ci: Setup a semi-automated release process (no-changelog)

* create tag/release before deleting the temporary branch
2023-02-21 14:16:04 +01:00
कारतोफ्फेलस्क्रिप्ट™ 3ae005cafe
ci: Setup a semi-automated release process (no-changelog) (#5504)
* ci: Setup a semi-automated release process (no-changelog)

* create tag/release before deleting the temporary branch
2023-02-21 14:04:35 +01:00
Mutasem Aldmour 26a20ed47e
feat: Support feature flag evaluation server side (#5511)
* feat(editor): roll out schema view

* feat(editor): add posthog tracking

* refactor: use composables

* refactor: clean up console log

* refactor: clean up impl

* chore: clean up impl

* fix: fix demo var

* chore: add comment

* refactor: clean up

* chore: wrap error func

* refactor: clean up import

* refactor: make store

* feat: enable rudderstack usebeacon, move event to unload

* chore: clean up alert

* refactor: move tracking from hooks

* fix: reload flags on login

* fix: add func to setup

* fix: clear duplicate import

* chore: add console to tesT

* chore: add console to tesT

* fix: try reload

* chore: randomize instnace id for testing

* chore: randomize instnace id for testing

* chore: add console logs for testing

* chore: move random id to fe

* chore: use query param for testing

* feat: update PostHog api endpoint

* feat: update rs host

* feat: update rs host

* feat: update rs endpoints

* refactor: use api host for BE events as well

* refactor: refactor out posthog client

* feat: add feature flags to login

* feat: add feature flags to login

* feat: get feature flags to work

* feat: add created at to be events

* chore: add todos

* chore: clean up store

* chore: add created at to identify

* feat: add posthog config to settings

* feat: add bootstrapping

* chore: clean up

* chore: fix build

* fix: get dates to work

* fix: get posthog to recognize dates

* chore: refactor

* fix: update back to number

* fix: update key

* fix: get experiment evals to work

* feat: add posthog to signup router

* feat: add feature flags on sign up

* chore: clean up

* fix: fix import

* chore: clean up loading script

* feat: add timeout, fix: script loader

* fix: test timeout and get working on 8080

* refactor: move out posthog

* feat: add experiment tracking

* fix: clear tracked on reset

* fix: fix signup bug

* fix: handle errors when telmetry is disabled

* refactor: remove redundant await

* fix: add back posthog to telemetry

* test: fix test

* test: fix test

* test: add tests for posthog client

* lint: fix

* fix: fix issue with slow decide endpoint

* lint: fix

* lint: fix

* lint: fix

* lint: fix

* chore: address PR feedback

* chore: address PR feedback

* feat: add onboarding experiment
2023-02-21 11:35:35 +03:00
Michael Auerswald d143f3f2ec
feat(core): Add execution runData recovery and status field (#5112)
* adds ExecutionEvents view modal to ExecutionList

* fix time rendering and remove wf column

* checks for unfinished executions and fails them

* prevent re-setting stoppedAt for execution

* some cleanup / manually create rundata after crash

* quicksave

* remove Threads lib, log worker rewrite

* cleanup comment

* fix sentry destination return value

* test for tests...

* run tests with single worker

* fix tests

* remove console log

* add endpoint for execution data recovery

* lint cleanup and some refactoring

* fix accidental recursion

* remove cyclic imports

* add rundata recovery to Workflowrunner

* remove comments

* cleanup and refactor

* adds a status field to executions

* setExecutionStatus on queued worker

* fix onWorkflowPostExecute

* set waiting from worker

* get crashed status into frontend

* remove comment

* merge fix

* cleanup

* catch empty rundata in recovery

* refactor IExecutionsSummary and inject nodeExecution Errors

* reduce default event log size to 10mb from 100mb

* add per node execution status

* lint fix

* merge and lint fix

* phrasing change

* improve preview rendering and messaging

* remove debug

* Improve partial rundata recovery

* fix labels

* fix line through

* send manual rundata to ui at crash

* some type and msg push fixes

* improve recovered item rendering in preview

* update workflowStatistics on recover

* merge fix

* review fixes

* merge fix

* notify eventbus when ui is back up

* add a small timeout to make sure the UI is back up

* increase reconnect timeout to 30s

* adjust recover timeout and ui connection lost msg

* do not stop execution in editor after x reconnects

* add executionRecovered push event

* fix recovered connection not green

* remove reconnect toast and  merge existing rundata

* merge editor and recovered data for own mode
2023-02-17 10:54:07 +01:00
Jan Oberhauser 49865b7b62 🔖 Release n8n-workflow@0.137.0 2023-02-16 12:14:40 +00:00
Milorad FIlipović 6592d144d1
feat(editor): Add most important native props and methods to autocomplete (#5486)
*  Implemented support for documentation links in autocomplete tooltips
*  Added support for arguments and code stying in autocomplete documentation. Added build-in string functions docs.
*  Added support for args without types in autocomplete, Added array native functions.
*  Added native Number and Object methods to autocomplete
*  Added support for native properties in autocomplete
* 📚 Added comment for next phase
* ✔️ Updating tests to account for native autocomplete options. Fixing lint errros.
* 👌 Addressing design review comments
* 🎨 Using design-system tokens instead of colors for autocomplete
2023-02-16 12:47:19 +01:00
Milorad FIlipović 0cf45bc4c8
fix(core): Fix data transformation function that are reported not to work properly (#5338)
* 🔥 Remove test extensions
* 🚧 Add test description
* 📘 Expand types
*  Export extensions
*  Export collection
*  Mark all proxies
* ✏️ Rename for clarity
*  Export from barrel
*  Create datatype completions
*  Mount datatype completions
* 🧪 Adjust tests
*  Add `path` prop
* 🔥 Remove `()` from completion labels
*  Filter out completions for pseudo-proxies
* 🐛 Fix method error
*  Add metrics
* ✏️ Improve naming
*  Start completion on empty resolvable
*  Implement completion previews
*  Break out completion manager
*  Implement in expression editor modal
* ✏️ Improve naming
*  Filter out irrelevant completions
*  Add preview hint
* ✏️ Improve comments
* 🎨 Style preview hint
*  Expand `hasNoParams`
*  Add spacing for readability
*  Add error codes
* ✏️ Add comment
* 🐛 Fix Esc behavior
*  Parse Unicode
*  Throw on invalid `DateTime`
*  Fix second root completion detection
*  Switch message at completable prefix position
* 🐛 Fix function names for non-dev build
* 🐛 Fix `json` handling
* 🔥 Comment out previews
* ♻️ Apply feedback
* 🔥 Remove extensions
* 🚚 Rename extensions
*  Adjust some implementations
* 🔥 Remove dummy extensions
* 🐛 Fix object regex
* ♻️ Apply feedback
* ✏️ Fix typos
* ✏️ Add `fn is not a function` message
* 🔥 Remove check
*  Add `isNotEmpty` for objects
* 🚚 Rename `global` to `alpha`
* 🔥 Remove `encrypt`
*  Restore `is not a function` error
*  Support `week` on `extract()`
* 🧪 Fix tests
*  Add validation to some string extensions
*  Validate number arrays in some extensions
* 🧪 Fix tests
* ✏️ Improve error message
*  Revert extensions framework changes
* 🧹 Previews cleanup
*  Condense blank completions
*  Refactor dollar completions
*  Refactor non-dollar completions
*  Refactor Luxon completions
*  Refactor datatype completions
*  Use `DATETIMEUNIT_MAP`
* ✏️ Update test description
*  Revert "Use `DATETIMEUNIT_MAP`"
This reverts commit 472a77df5c.
* 🧪 Add tests
* ♻️ Restore generic extensions
* 🔥 Remove logs
* 🧪 Expand tests
*  Add `Math` completions
* ✏️ List breaking change
*  Add doc tooltips
* 🐛 Fix node selector regex
* 🐛 Fix `context` resolution
* 🐛 Allow dollar completions in args
*  Make numeric array methods context-dependent
* 📝 Adjust docs
* 🐛 Fix selector ref
*  Surface error for valid URL
* 🐛 Disallow whitespace in `isEmail` check
* 🧪 Fix test for `isUrl`
*  Add comma validator in `toFloat`
*  Add validation to `$jmespath()`
*  Revert valid URL error
*  Adjust `$jmespath()` validation
* 🧪 Adjust `isUrl` test
*  Remove `{}` and `[]` from compact
* ✏️ Update docs
* 🚚 Rename `stripTags` to `removeTags`
*  Do not inject whitespace inside resolvable
*  Make completions aware of `()`
* ✏️ Add note
*  Update sorting
*  Hide active node name from node selector
* 🔥 Remove `length()` and its aliases
*  Validate non-zero for `chunk`
* ✏️ Reword all error messages
* 🐛 Fix `$now` and `$today`
*  Simplify with `stripExcessParens`
*  Fold luxon into datatype
* 🧪 Clean up tests
* 🔥 Remove tests for removed methods
* 👕 Fix type
* ⬆️ Upgrade lang pack
*  Undo change to `vitest` command
* 🔥 Remove unused method
*  Separate `return` line
* ✏️ Improve description
* 🧪 Expand tests for initial-only completions
* 🧪 Add bracket-aware completions
*  Make check for `all()` stricter
* ✏️ Adjust explanatory comments
* 🔥 Remove unneded copy
* 🔥 Remove outdated comment
*  Make naming consistent
* ✏️ Update comments
*  Improve URL scheme check
* ✏️ Add comment
* 🚚 Move extension
* ✏️ Update `BREAKING-CHANGES.md`
* ✏️ Update upcoming version
* ✏️ Fix grammar
* ✏️ Shorten message
* 🐛 Fix `Esc` behavior
* 🐛 Fix `isNumeric`
*  Using UTC to handle-dates on back-end
*  Added more unit tests for date extensions
*  Not using `JSON.stringify` to render dates
*  Using `deep-equal` library instead of our `deepCompare` function
*  Adding more tests to array extensions
*  Fixing `inBetween` extension function
*  Added tests for `.inBetween()`
*  Updating `isEven` and `isOdd` to throw for floats
*  Updating `Array.merge()` so it works without arguments
* 🔀 Fixing leftover merge confilct
*  Updating `removeFieldsContaining` and `keepFieldsContaining` to throw on empty strings
*  Fixing `pluck()` so it returns only plucked values
* ⬆️ Updating pnpm lockfile
* 👕 Fixing lint errors
*  Using workflow timezone to display dates
* ✔️ Updating tests with workflow timezone
*  Not using system timezone when creating Luxon dates
*  Updating `merge()` and `pluck()` array functions
* 🔀 Sync with `master`: Removing code that was preserved during merge
*  Updating `.pluck()` to return full array if no arguments are passed
*  Updating `keepFieldsContaining` and `merge` object functions
*  Using week as default for `date.extract()`
*  Adding more test cases for DT functions
*  Removing `Object.merge` extension function. Adding missing `deep-equal` dependency
*  Handling `toDate` case when time component is not specified
*  Using workflow's timezone to render dates in output panel, updated unit tests after removing `Object.merge` function
*  Not parsing numbers as dates
* 👕 Fixing lint errors
*  Fixing a typo
*  Making date detection more strict so only stringified dates are getting converted
* 👌 Addressing PR feedback
* 🔥 Removing leftover comment
---------

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-02-15 10:50:16 +01:00
Jan Oberhauser a245dbe0c9 🔖 Release n8n-workflow@0.136.1 2023-02-11 15:50:03 +00:00
कारतोफ्फेलस्क्रिप्ट™ 59f5c4221e
fix(core): Handle versioned custom nodes correctly (#5313) 2023-02-10 18:33:04 +01:00
Jan Oberhauser 7ec7e31565 🔖 Release n8n-workflow@0.136.0 2023-02-10 15:42:33 +00:00
कारतोफ्फेलस्क्रिप्ट™ 5194513850
refactor(core): Delete duplicate code across all commands (#5452) 2023-02-10 14:59:20 +01:00
Valya 287fa9cd06
test(core): Add basic expression tests (no-changelog) (#5439)
* test(core): add basic expression tests

* test: fix $if test not working properly
2023-02-10 10:05:34 +01:00
Valya c7b58e0ed1
fix(core): Expression extension failing with optional chaining (#5370)
* wip

* fix: working optional chaining polyfill

* fix: polyfill optional chaining on extended functions

* test: add optional chaining tests
2023-02-09 13:57:45 +00:00
कारतोफ्फेलस्क्रिप्ट™ f23fb92696
fix(core): Stop copying icons to cache (#5419)
Fixes 

- https://github.com/n8n-io/n8n/issues/4973
- https://github.com/n8n-io/n8n/issues/5274
- https://community.n8n.io/t/starting-n8n-fails-with-ebusy-error/21243
- https://community.n8n.io/t/problem-executing-workflow-ebusy-resource-busy-or-locked-copyfile/21280

Replaces

- https://github.com/n8n-io/n8n/pull/5052
- https://github.com/n8n-io/n8n/pull/5401
2023-02-08 18:57:43 +01:00
Jan Oberhauser bf3ba59331 🔖 Release n8n-workflow@0.135.0 2023-02-03 14:34:56 +00:00
कारतोफ्फेलस्क्रिप्ट™ 51b560b3f4
fix(core): Error reporter should log all error on an error-chain (no-changelog) (#5342) 2023-02-03 13:53:51 +01:00
Iván Ovejero 6d811f0d9f
feat(editor): Completions for extensions in expression editor (#5130)
* 🔥 Remove test extensions

* 🚧 Add test description

* 📘 Expand types

*  Export extensions

*  Export collection

*  Mark all proxies

* ✏️ Rename for clarity

*  Export from barrel

*  Create datatype completions

*  Mount datatype completions

* 🧪 Adjust tests

*  Add `path` prop

* 🔥 Remove `()` from completion labels

*  Filter out completions for pseudo-proxies

* 🐛 Fix method error

*  Add metrics

* ✏️ Improve naming

*  Start completion on empty resolvable

*  Implement completion previews

*  Break out completion manager

*  Implement in expression editor modal

* ✏️ Improve naming

*  Filter out irrelevant completions

*  Add preview hint

* ✏️ Improve comments

* 🎨 Style preview hint

*  Expand `hasNoParams`

*  Add spacing for readability

*  Add error codes

* ✏️ Add comment

* 🐛 Fix Esc behavior

*  Parse Unicode

*  Throw on invalid `DateTime`

*  Fix second root completion detection

*  Switch message at completable prefix position

* 🐛 Fix function names for non-dev build

* 🐛 Fix `json` handling

* 🔥 Comment out previews

* ♻️ Apply feedback

* 🔥 Remove extensions

* 🚚 Rename extensions

*  Adjust some implementations

* 🔥 Remove dummy extensions

* 🐛 Fix object regex

* ♻️ Apply feedback

* ✏️ Fix typos

* ✏️ Add `fn is not a function` message

* 🔥 Remove check

*  Add `isNotEmpty` for objects

* 🚚 Rename `global` to `alpha`

* 🔥 Remove `encrypt`

*  Restore `is not a function` error

*  Support `week` on `extract()`

* 🧪 Fix tests

*  Add validation to some string extensions

*  Validate number arrays in some extensions

* 🧪 Fix tests

* ✏️ Improve error message

*  Revert extensions framework changes

* 🧹 Previews cleanup

*  Condense blank completions

*  Refactor dollar completions

*  Refactor non-dollar completions

*  Refactor Luxon completions

*  Refactor datatype completions

*  Use `DATETIMEUNIT_MAP`

* ✏️ Update test description

*  Revert "Use `DATETIMEUNIT_MAP`"

This reverts commit 472a77df5c.

* 🧪 Add tests

* ♻️ Restore generic extensions

* 🔥 Remove logs

* 🧪 Expand tests

*  Add `Math` completions

* ✏️ List breaking change

*  Add doc tooltips

* 🐛 Fix node selector regex

* 🐛 Fix `context` resolution

* 🐛 Allow dollar completions in args

*  Make numeric array methods context-dependent

* 📝 Adjust docs

* 🐛 Fix selector ref

*  Surface error for valid URL

* 🐛 Disallow whitespace in `isEmail` check

* 🧪 Fix test for `isUrl`

*  Add comma validator in `toFloat`

*  Add validation to `$jmespath()`

*  Revert valid URL error

*  Adjust `$jmespath()` validation

* 🧪 Adjust `isUrl` test

*  Remove `{}` and `[]` from compact

* ✏️ Update docs

* 🚚 Rename `stripTags` to `removeTags`

*  Do not inject whitespace inside resolvable

*  Make completions aware of `()`

* ✏️ Add note

*  Update sorting

*  Hide active node name from node selector

* 🔥 Remove `length()` and its aliases

*  Validate non-zero for `chunk`

* ✏️ Reword all error messages

* 🐛 Fix `$now` and `$today`

*  Simplify with `stripExcessParens`

*  Fold luxon into datatype

* 🧪 Clean up tests

* 🔥 Remove tests for removed methods

* 👕 Fix type

* ⬆️ Upgrade lang pack

*  Undo change to `vitest` command

* 🔥 Remove unused method

*  Separate `return` line

* ✏️ Improve description

* 🧪 Expand tests for initial-only completions

* 🧪 Add bracket-aware completions

*  Make check for `all()` stricter

* ✏️ Adjust explanatory comments

* 🔥 Remove unneded copy

* 🔥 Remove outdated comment

*  Make naming consistent

* ✏️ Update comments

*  Improve URL scheme check

* ✏️ Add comment

* 🚚 Move extension

* ✏️ Update `BREAKING-CHANGES.md`

* ✏️ Update upcoming version

* ✏️ Fix grammar

* ✏️ Shorten message

* 🐛 Fix `Esc` behavior

* 🐛 Fix `isNumeric`

*  Support native methods

* 🧪 Skip Pinia tests

* ✏️ Shorten description

* 🔥 Remove outdated comment

* 🧪 Unskip Pinia tests

* ✏️ Add comments

* 🧪 Expand tests to natives

* ✏️ Add clarifying comments

*  Use `setTimeout` to make telemetry non-blocking

* 🐛 Account for no active node in cred modal

*  Resolve without workflow

* 🔥 Remove `Esc` handling on NDV

*  Use `isDateTime`

* 🚚 Move `unique` to next phase

This array extension takes optional args.

*  Merge export

* 🧪 Fix tests

*  Restore check

* ✏️ Make breaking change description more accurate

* 🧪 Fix e2e tests
2023-02-02 12:35:38 +01:00
Jan Oberhauser 87ceb6f4b8
feat(core): Simplify pagination in declarative node design (#5161)
* feat(core): Add pagination to declarative node design

*  Actually make it work

*  Remove rootProperty

*  Fix typo

*  Add support to overwrite url

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-02-01 08:26:13 -06:00
Jan Oberhauser b27a60b665
fix(core): Fix value resolution in declarative node design (#5217) 2023-02-01 08:25:43 -06:00
Milorad FIlipović 1d85e232e5
refactor(core): Luxon dependency update (#5301)
* ⬆️ Updating Luxon version to 3.1
* ⬆️ Updating `pnpm-lock` file
2023-01-31 10:44:45 +01:00
Mutasem Aldmour 6092f6c41e
feat(editor): Add mapping support for data paths (#5191)
* feat: add data path flag

* chore: update types

* feat: use path for data

* feat: add support for multiple values

* fix: handle if not prev node

* fix: update node

* fix: handle multi part path

* feat: add support for multiple vals for field

* feat: add support for table transforms

* feat: use dot notation

* feat: fix bug where brackets removed

* fix: handle dots, fix unit tests

* test: update snapshot

* test: fix tests

* test: add test for edge case
2023-01-30 14:42:08 +03:00
Jan Oberhauser b9768b3b80 🔖 Release n8n-workflow@0.134.0 2023-01-27 15:26:41 +00:00
Iván Ovejero 2ca959b383
refactor: Integrate consistent-type-imports in BE packages (no-changelog) (#5270) 2023-01-27 14:56:56 +01:00
Iván Ovejero 74e6f5d190
feat: HTML node (#5107)
*  Create HTML templating node PoC

* ♻️ Apply feedback

* 🐛 Scope CSS selectors

* ✏️ Adjust description

* ✏️ Adjust placeholder

*  Replace two custom files with package output

*  Add `codemirror-lang-html-n8n`

* 👕 Appease linter

* 🧪 Skip event bus tests

*  Revert "Skip event bus tests"

This reverts commit 5702585d0d.

* ✏️ Update codex

* 🧹 Cleanup

* 🐛 Restore original for `continueOnFail`

*  Improve `getResolvables`
2023-01-26 10:03:13 +01:00
Valya 09bdd96d29
fix: Extension being too eager and making calls when it shouldn't (#5232)
fix: extension being too eager and making calls when it shouldn't
2023-01-24 12:04:50 +00:00
Jan Oberhauser 211729ecc7 🔖 Release n8n-workflow@0.133.2 2023-01-23 17:09:57 +00:00
Valya 683492155e
fix: IsWeekend not checking if DateTime (#5221) (no-changelog) 2023-01-23 14:28:17 +01:00
Jan Oberhauser 3ea83d872e
fix(core): Fix execute-once incoming data handling (#5211) 2023-01-23 12:47:07 +01:00
Iván Ovejero 0b123ce05e
fix(core): Fix expression extension misdetection (#5219)
* 🐛 Narrow down check

* fix: converted expression extension check loop into regex

* fix: remove greedy string check

* fix: re-add string spliting regex

Co-authored-by: Valya Bullions <valya@n8n.io>
2023-01-23 11:08:27 +01:00
Csaba Tuncsik 9ce526e784
fix(editor): Making parameter input components label configurable (#5195)
fix(editor): Making parameter input component label configurable
2023-01-20 17:07:28 +01:00
Jan Oberhauser 3b34139969 🔖 Release n8n-workflow@0.133.1 2023-01-16 14:37:37 +00:00
Valya 98017dc36f
fix: Extension deep compare not quite working for some primitives (#5172)
fix: extension deep compare not quite working for some primitives
2023-01-16 14:15:19 +00:00
Valya f634f0dc59
fix: Extend date functions clobbering plus/minus (#5170)
* fix: extended date functions clobbering plus/minus

* fix: minus extension doing plus instead
2023-01-16 13:01:58 +00:00
Jan Oberhauser 03b2bcaa88 🔖 Release n8n-workflow@0.133.0 2023-01-13 16:16:21 +00:00
Jan Oberhauser c9e158e458
fix(core): Throw error in UI on expression referencing missing node but do not fail execution (#5158)
fix(core): Throw error in UI on expression referencing missing node but
do not fail execution
2023-01-13 16:22:37 +01:00
कारतोफ्फेलस्क्रिप्ट™ b7faf4a0df
fix: Don't throw error on expressions referring to nodes that don't exist in the workflow (#5155) 2023-01-13 15:14:03 +01:00
Valya 94be3b61cb
fix: Test failing for toDate from string extension test (no-changelog) (#5142) 2023-01-12 16:06:34 +01:00
Valya 9dca984c0c
fix: First/last being extended on proxy objects (#5140)
* fix: first/last being extended on proxy objects

* fix: better method that won't require changes later
2023-01-12 14:04:49 +00:00
कारतोफ्फेलस्क्रिप्ट™ a573db2ef7
fix: Report app startup and DB migration errors to Sentry (#5127) 2023-01-11 18:28:35 +01:00
Michael Auerswald 62d06b1e6e
fix(core): Fixes event msg confirmations if no subscribers present (#5118)
* adds ExecutionEvents view modal to ExecutionList

* fix time rendering and remove wf column

* checks for unfinished executions and fails them

* prevent re-setting stoppedAt for execution

* removing UI changes but keeping eventbus fixes

* remove comment
2023-01-11 14:09:09 +01:00
Iván Ovejero 044b153275
refactor(core): Diverge syntax error handling in expressions (#5124)
*  Diverge syntax error handling in expressions

* ✏️ Expand comment
2023-01-11 12:15:42 +01:00
Valya 3d05acf313
feat: Expression extension framework (#4372)
*  Introduce a framework for expression extension

* 💡 Add some inline comments

*  Introduce hash alias for encrypt

*  Introduce a manual granular level approach to shadowing/overrideing extensions

* 🔥 Cleanup comments

*  Introduce a basic method of extension for native functions

*  Add length to StringExtension

*  Add number type to extension return types

*  Temporarily introduce DateTime with extension

*  Cleanup comments

*  Organize imports

* ♻️ Fix up some typings

*  Fix typings

* ♻️ Remove unnecessary resolve of expression

*  Extensions Improvement

* ♻️ Refactor EXPRESSION_EXTENSION_METHODS

* ♻️ Refactor EXPRESSION_EXTENSION_METHODS

* ♻️ Update extraArgs types

* ♻️ Fix tests

* ♻️ Fix bind type issue

* ♻️ Fixing duration type issue

* ♻️ Refactor to allow overrides on native methods

* ♻️ Temporarily remove Date Extensions to pass tests

* feat(dt-functions): introduce date expression extensions (#4045)

* 🎉 Add Date Extensions into the mix

*  Introduce additional date extension methods

*  Add Date Expression Extension tests

* 🔧 Add ability to debug tests

* ♻️ Refactor extension for native types

* 🔥 Move sayHi method to String Extension class

* ♻️ Update scope when binding member methods

*  Add String Extension tests

* feat(dt-functions): introduce array expression extensions (#4044)

*  Introduce Array Extensions

*  Add Array Expression tests

* feat(dt-functions): introduce number expression extensions (#4046)

* 🎉 Introduce Number Extensions

*  Support more shared extensions

*  Improve handling of name collision

*  Update tests

* Fixed up tests

* 🔥 Remove remove markdown

* :recylce: Replace remove-markdown dependencies with implementation

* ♻️ Replace remove-markdown dependencies with implementation

*  Update tests

* ♻️ Fix scoping and cleanup

* ♻️ Update comments and errors

* ♻️ Fix linting errors

*  Remove unused dependencies

* fix: expression extension not working with multiple extensions

* refactor: change extension transform to be more efficient

* test: update most test to work with new extend function

* fix: update and fix type error in config

* refactor: replace babel with recast

* feat: add hashing functions to string extension

* fix: removed export

* test: add extension parser and transform tests

* fix: vite tests breaking

* refactor: remove commented out code

* fix: parse dates passed from $json in extend function

* refactor: review feedback changes for date extensions

* refactor: review feedback changes for number extensions

* fix: date extension beginningOf test

* fix: broken build from merge

* fix: another merge issue

* refactor: address review feedback (remove ignores)

* feat: new extension functions and tests

* feat: non-dot notation functions

* test: most of the other tests

* fix: toSentenceCase for node versions below 16.6

* feat: add $if and $not expression extensions

* Fix test to work on every timezone

* lint: fix remaining lint issues

Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-01-10 14:06:12 +01:00
Jan Oberhauser be038db695 🔖 Release n8n-workflow@0.132.1 2023-01-09 13:19:44 +00:00
कारतोफ्फेलस्क्रिप्ट™ 1acc7fea89
refactor(core): Add more overloads for string-type node parameters (no-changelog) (#5101)
* refactor(core): Add more overloads for string-type node parameter (no-changelog)

continued from https://github.com/n8n-io/n8n/pull/4797

* include binaryPropertyOutput
2023-01-06 15:09:32 +01:00
कारतोफ्फेलस्क्रिप्ट™ c97f3cad59
fix(Read Binary File Node): Do not crash the execution when the source file does not exist (#5100)
This issue was introduced in https://github.com/n8n-io/n8n/pull/5069
2023-01-06 14:15:46 +01:00
Iván Ovejero f4140d011f
feat(editor): Introduce proxy completions to expressions (#5075)
*  Introduce proxy completions to expressions

* 🧪 Add tests

*  Replace snippet with alphabetic char completions

*  Tighten `DateTime` check

* 🧹 Clean up `n8nLang`

* 🔥 Remove duplicate

* 👕 Remove non-null assertion

*  Confirm that `overlay` is needed

* 🔥 Remove comment

* 🔥 Remove more unneeded code

* 🔥 Remove unneded Pinia setup

*  Simplify syntax
2023-01-06 10:07:36 +01:00
Jan Oberhauser 828ff6b521 🔖 Release n8n-workflow@0.132.0 2023-01-05 13:17:57 +00:00
कारतोफ्फेलस्क्रिप्ट™ 5d746c4a83
fix: Apply credential overwrites recursively (#5072)
This ensures that overwrites defined for a parent credential type also applies to all credentials extending it.
2023-01-04 18:16:48 +01:00
कारतोफ्फेलस्क्रिप्ट™ 54126b2c87
refactor(Google Drive Node): Use node streams for uploading and downloading files (#5017)
* use streams to upload files to google drive

* use streams to download files from google drive

* use resumable uploads api for google drive

* avoid dangling promises, and reduce memory usage in error logging
2023-01-04 12:29:56 +01:00
Michael Auerswald b67f803cbe
feat: Add global event bus (#4860)
* fix branch

* fix deserialize, add filewriter

* add catchAll eventGroup/Name

* adding simple Redis sender and receiver to eventbus

* remove native node threads

* improve eventbus

* refactor and simplify

* more refactoring and syslog client

* more refactor, improved endpoints and eventbus

* remove local broker and receivers from mvp

* destination de/serialization

* create MessageEventBusDestinationEntity

* db migrations, load destinations at startup

* add delete destination endpoint

* pnpm merge and circular import fix

* delete destination fix

* trigger log file shuffle after size reached

* add environment variables for eventbus

* reworking event messages

* serialize to thread fix

* some refactor and lint fixing

* add emit to eventbus

* cleanup and fix sending unsent

* quicksave frontend trial

* initial EventTree vue component

* basic log streaming settings in vue

* http request code merge

* create destination settings modals

* fix eventmessage options types

* credentials are loaded

* fix and clean up frontend code

* move request code to axios

* update lock file

* merge fix

* fix redis build

* move destination interfaces into workflow pkg

* revive sentry as destination

* migration fixes and frontend cleanup

* N8N-5777 / N8N-5789 N8N-5788

* N8N-5784

* N8N-5782 removed event levels

* N8N-5790 sentry destination cleanup

* N8N-5786 and refactoring

* N8N-5809 and refactor/cleanup

* UI fixes and anonymize renaming

* N8N-5837

* N8N-5834

* fix no-items UI issues

* remove card / settings label in modal

* N8N-5842 fix

* disable webhook auth for now and update ui

* change sidebar to tabs

* remove payload option

* extend audit events with more user data

* N8N-5853 and UI revert to sidebar

* remove redis destination

* N8N-5864 / N8N-5868 / N8N-5867 / N8N-5865

* ui and licensing fixes

* add node events and info bubbles to frontend

* ui wording changes

* frontend tests

* N8N-5896 and ee rename

* improves backend tests

* merge fix

* fix backend test

* make linter happy

* remove unnecessary cfg / limit  actions to owners

* fix multiple sentry DSN and anon bug

* eslint fix

* more tests and fixes

* merge fix

* fix workflow audit events

* remove 'n8n.workflow.execution.error' event

* merge fix

* lint fix

* lint fix

* review fixes

* fix merge

* prettier fixes

* merge

* review changes

* use loggerproxy

* remove catch from internal hook promises

* fix tests

* lint fix

* include review PR changes

* review changes

* delete duplicate lines from a bad merge

* decouple log-streaming UI options from public API

* logstreaming -> log-streaming for consistency

* do not make unnecessary api calls when log streaming is disabled

* prevent sentryClient.close() from being called if init failed

* fix the e2e test for log-streaming

* review changes

* cleanup

* use `private` for one last private property

* do not use node prefix package names.. just yet

* remove unused import

* fix the tests

because there is a folder called `events`, tsc-alias is messing up all imports for native events module.
https://github.com/justkey007/tsc-alias/issues/152

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-01-04 09:47:48 +01:00
Iván Ovejero 0795cdb74c
fix(core): Upgrade riot-tmpl fork to 2.0.0 (no-changelog) (#5077)
* ⬆️ Upgrade `@n8n_io/riot-tmpl` to 2.0.0

* 📦 Update `pnpm-lock.yaml`
2023-01-03 16:14:36 +01:00
कारतोफ्फेलस्क्रिप्ट™ ee28213538
refactor: Use string ids on Credentials, Workflows, Tags, and Executions DB entities (#5041) 2023-01-02 17:42:32 +01:00
कारतोफ्फेलस्क्रिप्ट™ 8bee04cd2a
refactor(Read Binary File Node): Use node streams for to reduce memory usage (#5069) 2023-01-02 17:07:10 +01:00
Iván Ovejero d9b98fc8be
refactor: Lint for no unneeded backticks (#5057) (no-changelog)
*  Create rule `no-unneeded-backticks`

* 👕 Enable rule

*  Run rule on `cli`

*  Run rule on `core`

*  Run rule on `workflow`

*  Rule rule on `design-system`

*  Run rule on `node-dev`

*  Run rule on `editor-ui`

*  Run rule on `nodes-base`
2022-12-29 12:20:43 +01:00
Iván Ovejero a7868ae77d
fix(core): Fix full manual execution for error trigger as starter of 2+ node workflow (#5055)
🐛 Fix error trigger as starter
2022-12-29 12:20:14 +01:00
Jan Oberhauser 2ffabb3c2a 🔖 Release n8n-workflow@0.131.2 2022-12-27 15:17:52 +00:00
कारतोफ्फेलस्क्रिप्ट™ a229788d4b
ci: Fix linting issues on master (no-changelog) (#5030)
* make CI logs less noisy. suppress linting warning

* fix linting issues
2022-12-23 19:09:52 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5cf70e1007
refactor: Consolidate redundant code in workflow execution-functions (no-changelog) (#4884)
* refactor: Consolidate redundant code in workflow interfaces (no-changelog)

* consolidate all execution-functions interfaces code

* move rawBody definition back

* address PR comments
2022-12-23 18:27:07 +01:00
Jan Oberhauser d2b40681f6 🔖 Release n8n-workflow@0.131.1 2022-12-22 18:29:51 +00:00
Csaba Tuncsik e4785da2e1
fix(AWS DynamoDB Node): Add missing type assertion (no-changelog) (#5003)
fix(AWS DynamoDB Node): add type assertion
2022-12-22 10:27:14 +01:00
कारतोफ्फेलस्क्रिप्ट™ 17f13b3b6e
ci: Setup eslint-import-resolver-typescript for improved TS linting (#4996)
* Setup stricter linting for typescript

* make `import/no-unresolved` an error everywhere

* use prettier to format `.vscode/settings.default.json`

* address PR comments
2022-12-22 09:55:39 +01:00
Jan Oberhauser f05672b330 🔖 Release n8n-workflow@0.131.0 2022-12-21 16:33:35 +00:00
Iván Ovejero 1bc3930df8
refactor(core): Allow null instead of SyntaxError in expression (#4998)
 Allow `null` instead of `SyntaxError`
2022-12-21 17:09:02 +01:00
Omar Ajoue 25e9f0817a
refactor: Workflow sharing bug bash fixes (#4888)
* fix: Prevent workflows with only manual trigger from being activated

* fix: Fix workflow id when sharing from workflows list

* fix: Update sharing modal translations

* fix: Allow sharees to disable workflows and fix issue with unique key when removing a user

* refactor: Improve error messages and change logging level to be less verbose

* fix: Broken user removal transfer issue

* feat: Implement workflow sharing BE telemetry

* chore: temporarily add sharing env vars

* feat: Implement BE telemetry for workflow sharing

* fix: Prevent issues with possibly missing workflow id

* feat: Replace WorkflowSharing flag references (no-changelog) (#4918)

* ci: Block all external network calls in tests (no-changelog) (#4930)

* setup nock to prevent tests from making any external requests

* mock all calls to posthog sdk

* feat: Replace WorkflowSharing flag references (no-changelog)

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>

* refactor: Remove temporary feature flag for workflow sharing

* refactor: add sharing_role to both manual and node executions

* refactor: Allow changing name, position and disabled of read only nodes

* feat: Overhaul dynamic translations for local and cloud (#4943)

* feat: Overhaul dynamic translations for local and cloud

* fix: remove type casting

* chore: remove unused translations

* fix: fix workflow sharing translation

* test: Fix broken test

* refactor: remove unnecessary import

* refactor: Minor code improvements

* refactor: rename dynamicTranslations to contextBasedTranslationKeys

* fix: fix type imports

* refactor: Consolidate sharing feature check

* feat: update cred sharing unavailable translations

* feat: update upgrade message when user management not available

* fix: rename plan names to Pro and Power

* feat: update translations to no longer contain plan names

* wip: subworkflow permissions

* feat: add workflowsFromSameOwner caller policy

* feat: Fix subworkflow permissions

* shared entites should check for role when deleting users

* refactor: remove circular dependency

* role filter shouldn't be an array

* fixed role issue

* fix: Corrected behavior when removing users

* feat: show instance owner credential sharing message only if isnt sharee

* feat: update workflow caller policy caller ids labels

* feat: update upgrade plan links to contain instance ids

* fix: show check errors below creds message only to owner

* fix(editor): Hide usage page on cloud

* fix: update credential validation error message for sharee

* fix(core): Remove duplicate import

* fix(editor): Extending deployment types

* feat: Overhaul contextual translations (#4992)

feat: update how contextual translations work

* refactor: improve messageing for subworkflow permissions

* test: Fix issue with user deletion and transfer

* fix: Explicitly throw error message so it can be displayed in UI

Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: freyamade <freya@n8n.io>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2022-12-21 16:42:07 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5db9c46043
ci: Break most of the circular dependencies in code (no-changelog) (#4990) 2022-12-21 10:46:26 +01:00
Jan Oberhauser 9f980ac371 🔖 Release n8n-workflow@0.130.0 2022-12-16 13:17:01 +00:00
Jan Oberhauser 7a984bb6b7
feat(OpenAI Node): Add a node to work with OpenAI (#4932)
* feat(OpenAI Node): Add a node to work with OpenAI

* Added codex file for OpenAi node

* Minor tweaks to Operation Image.

* Minor tweaks to Resource Text.

* Minor copy modification to Image:Create.

* Removed "a Text" in Text operations names.

*  Connect Response Format parameter and other improvements

*  Add "filter" postReceiveAction

*  Rename operations and add spelling mistake again to example

*  Rename another operation

Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2022-12-16 01:05:42 +01:00
Iván Ovejero a1259898c0
feat(editor): Inline expression editor (#4814)
* WIP

* 🔥 Remove unneeded watch

*  Further setup

*  Fix import

*  Minor tweaks

* 🔥 Remove logging

* 🎨 Add some styling

* 🎨 More styling changes

* 🐛 Fix wrong marking of stale data

* 🎨 Prevent fx on dragging

* 🔥 Remove logging

*  Refine draggable target offsets

* refactor(editor): Consolidate expression management logic (#4836)

*  Extract `ExpressionFunctionIcon`

*  Simplify syntax

*  Move to mixin

* 🎨 Format

* 📘 Unify types

*  Dedup double brace handler

*  Consolidate resolvable highlighter

* 🎨 Format

*  Consolidate language pack

* ✏️ Add comment

*  Move completions to plugins

*  Partially deduplicate themes

* refactor(editor): Apply styling feedback to inline expression editor (#4846)

* 🎨 Adjust styling for expression parameter input

* 🎨 Style outputs differently

*  Set single line for RLC

* 🎨 Style both openers identically

* 🐛 Prevent defocus on resize

*  Adjust line height

* 🎨 Adjust border with for expression input

*  Fix font family for inline output

*  Set up telemetry

*  Complete telemetry

*  Simplify event source

*  Set monospaced font for inline output

* 🎨 Hide cursor on schema pill drop

* 🧪 Update snapshots

*  Consolidate editor styles

* ✏️ Add tech debt comments

*  Improve naming

*  Improve inside resolvable detection

*  Improve var naming

* 🔥 Remove outdated comment

* 🚚 Move constant to data

* ✏️ Clarify comments

* 🔥 Remove outdated comments

* 🔥 Remove unneeded try-catch

* 🔥 Remove unneeded method

* 🔥 Remove unneeded check

* 🔥 Remove `openExpression` check

* 🔥 Remove unused timeout

* 🔥 Remove commented out sections

*  Use Pinia naming convention

*  Re-evaluate on change of `ndvInputData`

* 🐛 Fix handling of `0` in number-type input

* 🐛 Surface focus and blur for mapping hints

* 🔥 Remove logging

* ✏️ Reword error

*  Change kebab-case to PascalCase

*  Refactor state fields for clarity

*  Support double bracing on selection

* 🎨 More styling

*  Miscellaneous cleanup

*  Disregard error on drop

* 🎨 Fix schema pill styling

* 🎨 More `background` to `background-color` fixes

* 🧪 Update snapshots

* 🎨 Replace non-existing var with white

* 🧪 Update snapshot

* 📦 Integrate `codemirror-lang-n8n-expression`

* 🎨 Fix formatting

* 🧪 Re-update test snapshots

* 🧪 Update selectors for inline editor

* 🔥 Remove unused test ID

* 📘 Add type for `currentNodePaneType`

*  Refactor mixin to util

*  Use `:global`

* 🔥 Remove comment

*  Add watch

*  Change import style

* 👕 Fix lint

*  Refactor preventing blur on resize

* 🔥 Remove comment

* 🧪 Re-update snapshots

* 🎨 Prettify

* 👕 Fix lint

* 🔥 Remove comment

Co-authored-by: Mutasem <mutdmour@gmail.com>
2022-12-14 14:43:02 +01:00
Jan Oberhauser 4f0b1cde4d 🔖 Release n8n-workflow@0.129.0 2022-12-12 14:55:17 +00:00
Iván Ovejero 07b2f7678c
fix(core): Remove nodeGetter checks (#4883)
🔥 Remove `nodeGetter` checks
2022-12-12 09:46:53 +01:00
कारतोफ्फेलस्क्रिप्ट™ 3b969d2cd1
fix(Move Binary Data Node): Stringify objects before encoding them in MoveBinaryData (#4882)
* stringify objects before encoding them objects in MoveBinaryData

* add fileSize and fileType on MoveBinaryData converted data

* show `view` option for text files as well

* improve how JSON binary data is shown in the UI
2022-12-11 14:10:54 +01:00
Jan Oberhauser 38d7300d2a
fix(Split In Batches Node): Fix issue with pairedItem (#4873)
fix(SplitInBatches Node): Fix issue with pairedItem
2022-12-09 13:39:06 +01:00
OlegIvaniv 79fe57dad8
feat(editor): Node creator actions (#4696)
* WIP: Node Actions List UI

* WIP: Recommended Actions and preseting of fields

* WIP: Resource category

* 🎨 Moved actions categorisation to the server

* 🏷️ Add missing INodeAction type

*  Improve SSR categorisation, fix adding of mixed actions

* ♻️ Refactor CategorizedItems to composition api, style fixes

* WIP: Adding multiple nodes

* ♻️ Refactor rest of the NodeCreator component to composition API, conver globalLinkActions to composable

*  Allow actions dragging, fix search and refactor passing of actions to categorized items

* 💄 Fix node actions title

* Migrate to the pinia store, add posthog feature and various fixes

* 🐛 Fix filtering of trigger actions when not merged

* fix: N8N-5439 — Do not use simple node item when at NodeHelperPanel root

* 🐛 Design review fixes

* 🐛 Fix disabling of merged actions

* Fix trigger root filtering

*  Allow for custom node actions parser, introduce hubspot parser

* 🐛 Fix initial node params validation, fix position of second added node

* 🐛 Introduce operations category, removed canvas node names overrride, fix API actions display and prevent dragging of action nodes

*  Prevent NDV auto-open feature flag

* 🐛 Inject recommened action for trigger nodes without actions

* Refactored NodeCreatorNode to Storybook, change filtering of merged nodes for the trigger helper panel, minor fixes

* Improve rendering of app nodes and animation

* Cleanup, any only enable accordion transition on triggerhelperpanel

* Hide node creator scrollbars in Firefox

* Minor styles fixes

* Do not copy the array in rendering method

* Removed unused props

* Fix memory leak

* Fix categorisation of regular nodes with a single resource

* Implement telemetry calls for node actions

* Move categorization to FE

* Fix client side actions categorisation

* Skip custom action show

* Only load tooltip for NodeIcon if necessary

* Fix lodash startCase import

* Remove lodash.startcase

* Cleanup

* Fix node creator autofocus on "tab"

* Prevent posthog getFeatureFlag from crashing

* Debugging preview env search issues

* Remove logs

* Make sure the pre-filled params are update not overwritten

* Get rid of transition in itemiterator

* WIP: Rough version of NodeActions keyboard navigation, replace nodeCreator composable with Pinia store module

* Rewrite to add support for ActionItem to ItemIterator and make CategorizedItems accept items props

* Fix category item counter & cleanup

* Add APIHint to actions search no-result, clean up NodeCreatorNode

* Improve node actions no results message

* Remove logging, fix filtering of recommended placeholder category

* Remove unused NodeActions component and node merging feature falg

* Do not show regular nodes without actions

* Make sure to add manual trigger when adding http node via actions hint

* Fixed api hint footer line height

* Prevent pointer-events od NodeIcon img and remove "this" from template

* Address PR points

* Fix e2e specs

* Make sure canvas ia loaded

* Make sure canvas ia loaded before opening nodeCreator in e2e spec

* Fix flaky workflows tags e2e getter

* Imrpove node creator click outside UX, add manual node to regular nodes added from trigger panel

* Add manual trigger node if dragging regular from trigger panel
2022-12-09 10:56:36 +01:00
Iván Ovejero fbb8611ae2
refactor: Deprecate alwaysOpenEditWindow for string (#4839)
* 🔥 Remove from client

* 📘 Update interface comment

* ✏️ Update docs

*  Update nodes

* ✏️ Fix typo

*  Restore misremoved property

* 🔥 Remove more instances
2022-12-07 15:29:45 +01:00
Jan Oberhauser 3713e2fd3d 🔖 Release n8n-workflow@0.128.1 2022-12-07 11:45:17 +00:00
Iván Ovejero 0bd13c7173
fix(core): Make expression resolution improvements (#4829)
 Make expression resolution improvements
2022-12-07 12:07:32 +01:00
Jan Oberhauser b1c99b9fe6 🔖 Release n8n-workflow@0.128.0 2022-12-06 19:46:11 +00:00
Iván Ovejero 632f573021
refactor(core): Introduce overload for string-type node parameter (no-changelog) (#4797)
* 📘 Set up overload

* 🔥 Remove inferrable assertions
2022-12-02 12:53:59 +01:00
Jan Oberhauser afc57c5397 🔖 Release n8n-workflow@0.127.0 2022-12-02 09:13:01 +00:00
Iván Ovejero 59771c80ea
feat(editor): Overhaul expression editor modal (#4631)
* feat(editor): Integrate CodeMirror into expression editor modal (#4563)

*  Initial setup

* 👕 Fix lint

*  Extract segments

*  Implement var insertion

* 👕 Ignore `.d.cts`

*  Refactor to simplify

*  Add brace handler

*  Fully replace input and output

* feat(editor): Adjust resolved expression to match parameter input hint (#4600)

*  Initial adjustments

* 🐛 Prevent empty decorations

*  Adjust resolved expression to match param input hint

* ✏️ Improve comment

* 👕 Remove lint rule

* ✏️ Fix typo

* ✏️ Fix closing brace

*  Clean up `displayableSegments()`

* feat(editor): Apply styling to expression editor modal (#4607)

🎨 Apply styling

* feat(core): Improve errors in evaluated expression (#4619)

* 🐛 Fix env var access for FE

* 🔥 Remove excess closing bracket

* 🚧 Set up TODO

* ✏️ Update copy

*  Deny env vars access to FE

* 👕 Remove unneeded lint exception

* 📘 Remove unneeded typing

* feat(editor): Dynamically delay evaluation resolution (#4625)

* ✏️ Update copy

*  Dynamically delay evaluation resolution

* 🔥 Remove unneeded computed property

* refactor(editor): Pre-review cleanup (#4627)

* 🔥 Remove `ExpressionInput` component

* 🔥 Remove Quill

* ✏️ Rename i18n key

* 🎨 Place border on correct element

* 🐛 Handle syntax errors

*  Add sample autocompletions

* 🐛 Fix auto-extending behavior

* feat(editor): Improve escaping behavior (#4641)

* 🎨 Hide hint on small screen

*  Improve escaping

* refactor(editor): Apply styling feedback to expression editor modal (#4660)

* 🎨 Restyle hint

* 🎨 Restyle param input hint

* 🔥 Remove `e.g.`

*  Tweak delay

* 🎨 Restyle output

* 🎨 Tweak theme

* ✏️ Tweak copy

* refactor(editor): Apply feedback 2022.11.22 (#4697)

* 🎨 Change background color

*  Focus on mount

*  Account for preexisting braces on injection

* 🐛 Fix `$workflow` showing as not saved

* ✏️ Tweak copy

* 🐛 Fix readonly focus

*  Focus input on paste

*  Sync inputs with modal

* ✏️ Tweak copy

* refactor(editor): Apply feedback 2022.11.23 (#4705)

*  Allow newlines

*  Set cursor at end of content

*  Do not defocus on paste on Chrome

*  Fix import

* 🧪 Add e2e tests

*  Cleanup

*  Add telemetry

* 🔥 Remove log

*  Expose error properties

* 🧪 Rename test

*  Move `getCurrentWorkflow()` call

*  Revert highlighting removal per feedback

*  Add i18n keys

* 🚚 Move computed property to local state

* 🎨 Use CSS vars

*  Update `pnpm-lock.yaml`

*  Apply readonly state

*  Use prop

*  Complete fix
2022-12-01 13:26:22 +01:00
कारतोफ्फेलस्क्रिप्ट™ ada73ed41d
ci: Fix linting issues on master (no-changelog) (#4768)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-11-30 12:16:19 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0a7a2f3e41
fix: Lazy load nodes for credentials testing (#4760) 2022-11-30 10:28:18 +01:00
Iván Ovejero 3d67df490c
fix(core): Fix $items().length in Execute Once mode (#4755)
* 🐛 Fix `$items.length` in Execute Once mode

* 🔥 Remove logging
2022-11-29 17:30:39 +01:00
कारतोफ्फेलस्क्रिप्ट™ 07e4743a3e
refactor(core): Reduce memory usage in the Webhook node (#4640)
use file streaming to pass webhook binaries around
2022-11-24 16:54:43 +01:00
Jan Oberhauser 44d6185118 🔖 Release n8n-workflow@0.126.0 2022-11-24 15:43:46 +00:00
कारतोफ्फेलस्क्रिप्ट™ b6c57e19fc
feat(core): Lazy-load nodes and credentials to reduce baseline memory usage (#4577) 2022-11-23 16:20:28 +01:00
Iván Ovejero b87c12285f
fix(core): Fix $items().length behavior in executeOnce mode (#4694)
🐛 Fix `$items().length` in `executeOnce`
2022-11-22 16:24:16 +01:00
Iván Ovejero 78119c9f22
refactor: Consolidate .prettierignore patterns (no-changelog) (#4692)
*  Consolidate Prettier ignore patterns

*  Let Prettier select file types to format

* 🎨 Apply formatting
2022-11-22 14:11:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0b754a4f85
refactor: Improve error logging/reporting for cli (#4691)
* use response error classes instead of `ResponseError` everywhere

* improve error logging in dev mode or when telemetry is disabled
2022-11-22 14:00:36 +01:00
Iván Ovejero 0d9eeea024
refactor(core): Introduce overload for record-type node parameter (no-changelog) (#4648)
* 📘 Set up overload

* 🔥 Remove inferrable record assertions

* 👕 Fix semicolon

* 👕 Fix another semicolon
2022-11-18 16:29:44 +01:00
Iván Ovejero 0565194473
refactor(core): Introduce overload for number-type node parameter (no-changelog) (#4644)
* 📘 Set up overloads

* 📘 Add temporary assertion

* 🔥 Remove inferrable number assertions

* ✏️ Add ticket ref
2022-11-18 15:26:22 +01:00
Iván Ovejero 6757c9a2ea
refactor(core): Introduce overload for boolean-type node parameter (no-changelog) (#4647)
* 📘 Set up overloads

* 📘 Add temporary assertion

* 🔥 Remove inferrable boolean assertions

*  Undo autoformatting
2022-11-18 14:31:38 +01:00
Jan Oberhauser fdfb803fa0 🔖 Release n8n-workflow@0.125.0 2022-11-17 16:05:42 +00:00
Milorad FIlipović b0bbcf6028
fix(editor): Fix zero treated as missing value in resource locator (#4612)
* 🐛 Adding a type guard to validate resource locator parameter values
* ✔️ Fixing a linting error
Co-authored-by: Michael Kret <michael.k@radency.com>
2022-11-16 09:21:30 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0148631d28
build: Upgrade some of the backend dev-tooling (no-changelog) (#4589)
* upgrade ts-node

* move tslint and typescript to a single place

* source-map-support should be loaded in the `n8n` bin script, and not in core

* upgrade jest

* Support only node.js 14, 16, or 18
2022-11-14 15:37:32 +01:00
Marcus 277b6b73c3
feat(Notion (Beta) Node): Use resource locator component for database and page parameters (#4340)
* use resource locator component for database -> get (Notion V1/V2)

* getDatabases search function for V1/V2 with url

* updated database get list placeholder

* get database RLC by url - regex support optional workspace domain names

* fixed linting error

* listSearch getDatabases support filter query

* support extractValue in getCurrentNodeParameter for RLC

* RLC for database page create/getAll operation

* RLC for database get operation support "By ID" with optional v param.

* use RLC in append blocks operation

* use RLC in NotionTrigger.nodes.ts

* removed unused loadOptions getDatabases

* support database RLC in createPage/createDbPage operation

* page create operation use RLC for parent page param

* page archive operation use RLC for page param

* removed unused imports

* fixed missing extractPageId in NotionV1.node.ts

* database page get operation use RLC for page param

* database page update operation use RLC for page param

* block getAll children operation use RLC for page param

* block append operation use RLC for block param

* support databaseId with optional '-' characters

* support blockId with optional '-' characters

* support pageId with optional '-' characters

* improved RLC descriptions and hints

* NotionTrigger node support databseId with optional '-' characters

* stricter RLC by ID regex rules for uuids

* stricter RLC by URL regex rules for uuids

* stricter RLC by ID regex rules for uuids (support max length)

* RLC regex from URL allow both http and https

* RLC by ID only allow uuid v4 with optional dash

* removed RLC from URL hint "Use Notion's copy link..."

* RLC from URL only allow uuid v4

* DB Status Column: Support Simplify Properties

* Notion Credentials: Support custom Notion-Version header

Use latest Notion-Version 2022-02-22 if not set

* DB Status Column: Support DB Page Create/Update

* DB Status Column: Support DB Page GetMany Filters

* removed unused paginationToken args

* Database Get: RLC by URL improve validation error message
2022-11-11 13:37:52 +01:00
agobrech c7133ecd3f
fix(core): Deduplicate error handling in nodes (#4319)
* Fix issue with isAxios property

* 🥅 Deduplicate errors handeling improve errors for credentials

* 🎨 correctly throws error
2022-11-11 11:32:43 +01:00
Jan Oberhauser 083316b4db 🔖 Release n8n-workflow@0.124.1 2022-11-10 20:53:32 +00:00
कारतोफ्फेलस्क्रिप्ट™ b2201d0c77
fix: Disable some error tracking (#4579)
* fix: remove error tracking for Circular reference in deepCopy

* fix: remove error tracking on crash detection
2022-11-10 21:44:31 +01:00
Jan Oberhauser d95382e330 🔖 Release n8n-workflow@0.124.0 2022-11-10 15:43:33 +00:00
कारतोफ्फेलस्क्रिप्ट™ 736777385c
feat: Switch from npm to pnpm (#4429) 2022-11-09 17:32:05 +01:00
कारतोफ्फेलस्क्रिप्ट™ 698d96a617
refactor: Setup typescript project references across workflow, core, and cli (#4519)
* refactor: use consistent folder structure across workflow, core, and cli

* setup typescript project references across workflow, core, and cli
2022-11-09 15:25:00 +01:00
कारतोफ्फेलस्क्रिप्ट™ 2425c10b2b
feat(API): Report unhandled app crashes to Sentry (#4548)
* SIGTERM/SIGINT should only be handled once

* move error-handling initialization to commands

* create a new `sleep` function in workflow utils

* detect crashes and report them to Sentry
2022-11-08 17:06:00 +01:00
Valya ebf17e1827
refactor: make IPollFunctions emit consistent with trigger emit (#4201)
* refactor: make IPollFunctions emit consistent with trigger emit

* refactor: re-add underscores to poll emits

* chore: update emit override message
2022-11-08 13:29:20 +00:00
कारतोफ्फेलस्क्रिप्ट™ c239eea1b9
fix(HTTP Request Node): Show error cause in the output (#4538)
fix (HTTP Request node): show error cause in the output

This broke in these two PRs

https://github.com/n8n-io/n8n/pull/4505/
https://github.com/n8n-io/n8n/pull/4431/
2022-11-07 12:40:54 -05:00
कारतोफ्फेलस्क्रिप्ट™ 1c98f97e9e
ci: Revert support for node.js 18 (#4518) (#4537)
Revert "ci: Start supporting node.js 18 (#4518)"

This reverts commit 9ee292cd17.
2022-11-07 17:23:08 +01:00
कारतोफ्फेलस्क्रिप्ट™ 9ee292cd17
ci: Start supporting node.js 18 (#4518)
* ci: start supporting node.js 18

Node.js 18 becomes the active LTS on 2022-10-25, as Node.js 16 goes into maintenance mode.
https://github.com/nodejs/Release#release-schedule

* continue using node 16 for production images

* node 16 for debian and base images as well for now
2022-11-07 15:51:57 +01:00
कारतोफ्फेलस्क्रिप्ट™ 41cb0eec6e
feat(API): Set up error tracking using Sentry (#4394)
* feat(cli): Setup error tracking using Sentry

* make error reporting available in the workflows package

* address some of the PR comments

* create a ErrorReporterProxy like LoggerProxy

* remove the `captureError` helper. use ErrorReporterProxy directly

* fix linting issues

* remove ErrorReporterProxy warnings in tests

* check for NODE_ENV === 'production' instead

* IErrorReporter -> ErrorReporter

* ErrorReporterProxy.getInstance() -> ErrorReporter

* allow capturing stacks in warnings as well

* make n8n debugging consistent with `npm start`

* IReportingOptions -> ReportingOptions

* use consistent signature for `error` and `warn`

* use Logger instead of console.log
2022-11-04 17:34:47 +01:00
Jan Oberhauser e4e4823d08 🔖 Release n8n-workflow@0.123.0 2022-11-02 17:25:17 +00:00
कारतोफ्फेलस्क्रिप्ट™ b282c7e5d9
fix(core): make deepCopy backward compatible (#4505)
* fix(core): make `deepCopy` backward compatible

`JSON.parse(JSON.stringify())`  uses `.toJSON` when available. so should `deepCopy`

* fix(core): prevent double quotes on luxon datetimes (#4508)

* 🐛 Prevent double quotes on luxon datetimes

*  Generalize solution

* update the types in packages/workflow/src/utils.ts

* add `toJSON` check to NodeErrors.isTraversableObject as well

* move the toJSON check before the cyclic dependency check

* fix(core): keep backward compatibility in deepCopy by calling `toJSON` on objects that have it

* fix(core): updating deepCopy typings

* Revert "fix(core): updating deepCopy typings"

This reverts commit 100a0f1f3d.

* fix(core): temporarily removing Date cloning from deepCopy

* fix(core): updating deepCopy types

* fix(core): updating deepCopy

* fix(core): updating deepCopy get prototype of object

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2022-11-02 17:44:12 +01:00
Valya 3a1fa09108
fix: displayOptions not getting value of RLC (#4460)
* fix: use `value` of RLC in `displayOptions`

* fix: add `__rl` to RLC default value if it doesn't have it
2022-11-02 09:37:49 +00:00
Iván Ovejero ec5ef0c50d
refactor(core): clear @ts-ignore from workflow and core packages (#4467)
* 📘 Clear all `@ts-ignore` comments from workflow package

* 👕 Default to error with package-level overrides

* refactor(core): clear all `@ts-ignore` comments from core package (#4473)

👕 Clear all `@ts-ignore` comments from core package

* ✏️ Update comment
2022-10-31 12:45:34 +01:00
Jan Oberhauser 198ae0869c 🔖 Release n8n-workflow@0.122.1 2022-10-28 14:21:23 +00:00
कारतोफ्फेलस्क्रिप्ट™ 818f57dd63
refactor: remove console.warn from deepCopy (#4471)
Jan realized that this was logging way too much (as in, we have way too many circular references).

I've changed this to be reported to Sentry, which should hopefully get merged next week.
2022-10-28 16:10:56 +02:00
Csaba Tuncsik ca60b0e203
fix(core): updating deepCopy to avoid max callstack with circular deps (#4468)
* fix(core): updating deepCopy to avoid max callstack in case of circular dep

* fix(core): show warning with path added to circular reference
2022-10-28 15:25:44 +02:00
कारतोफ्फेलस्क्रिप्ट™ e6ec134cf3
fix(AWS SNS Trigger Node): add missing jsonParse import (#4463)
* fix(AwsSnsTrigger): add missing jsonParse import

* add clear typings for req.rawBody and getHeaderData()
2022-10-28 11:24:11 +02:00
Jan Oberhauser 520914f525 🔖 Release n8n-workflow@0.122.0 2022-10-27 14:30:24 +00:00
Jan Oberhauser 14d887cf86 docs: Update logo and README files with new design 2022-10-27 14:57:49 +02:00
Cornelius Suermann d1b4d428cb
docs: scope Sustainable Use License to contents of the main branch (#4450)
docs: scope Sustainable Use License to contents of the main branch (e.g. 'master')
2022-10-26 16:50:33 +02:00
कारतोफ्फेलस्क्रिप्ट™ 1f610b90f6
feat: use ES2022 native error chaining to improve error reporting (#4431)
feat: use ES2022 native error chaining
2022-10-26 11:55:39 +02:00
कारतोफ्फेलस्क्रिप्ट™ 99157cf581
feat: setup nightly tests for postgres and mysql schemas (#4441)
* feat: unify Jest config

* feat: simplify DB setup for tests

* feat: setup nightly tests for postgres and mysql schemas
2022-10-25 22:06:03 +02:00
कारतोफ्फेलस्क्रिप्ट™ 5c9b40117a
refactor: rename NodeVersionedType to VersionedNodeType and move it to the workflow package (#4443) 2022-10-25 21:33:12 +02:00
Iván Ovejero 77233f2370
fix(core): fix predefinedCredentialType in node graph item (#4379)
* 🐛 Fix predefined cred in node graph item

* 🔥 Remove logging
2022-10-25 09:07:26 +02:00
Csaba Tuncsik 408bd96815
feat(editor): add readonly state for nodes (#4299)
* fix(editor): add types to Node.vue component props

* fix(editor): some cleanup in NodeView

* fix(editor): fix some boolean usage

* feat(editor): check foreign credentials

* fix(editor): passing readOnly to inputs

* fix(editor): add types to component and solve property mutation

* fix(editor): add types to component and solve property mutation

* fix(editor): component property type

* fix(editor): component property type

* fix(editor): default prop values

* fix(editor): fix FixedCollectionParameter.vue
2022-10-24 20:17:25 +02:00
Iván Ovejero 5745027cee
fix(core): fix single-node execution failing in main mode (#4421)
* 🐛 Fix Manual Trigger group

* 🐛 Account for single-node execution
2022-10-24 15:03:41 +02:00
Iván Ovejero 1732324965
fix(core): amend typing for jsonParse() options (#4423)
* 📘 Amend typing for `jsonParse()` options

* ✏️ Update rule message and description

* 🔀 Cherrypick Adi's work

* 🐛 Account for falsy fallback values

* ♻️ Use `else if`

*  Add explicit error message as type

*  Consolidate utils tests

* ♻️ Use optional chaining

* 🔥 Remove patchy type error

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2022-10-24 12:48:16 +02:00
Michael Kret 1d57b10942
refactor(core): fix for no-uncaught-json-parse warnings 2022-10-21 21:52:43 +03:00
Michael Kret 9d6a2c32d7
refactor(core): fixes n8n-local-rules/no-json-parse-json-stringify warnings (#4407)
* 🔨 fixes

* 🔨 set rule to error
2022-10-21 17:24:58 +02:00
Jan Oberhauser faab9d66dc 🔖 Release n8n-workflow@0.121.0 2022-10-21 05:44:49 +00:00
OlegIvaniv dae01f3abe
feat(editor, core, cli): implement new workflow experience (#4358)
* feat(ExecuteWorkflowTrigger node): Implement ExecuteWorkflowTrigger node (#4108)

* feat(ExecuteWorkflowTrigger node): Implement ExecuteWorkflowTrigger node

* feat(editor): Do not show duplicate button if canvas contains `maxNodes` amount of nodes

* feat(ManualTrigger node): Implement ManualTrigger node (#4110)

* feat(ManualTrigger node): Implement ManualTrigger node

* 📝 Remove generics doc items from ManualTrigger node

* feat(editor-ui): Trigger tab redesign (#4150)

* 🚧 Begin with TriggerPanel implementation, add Other Trigger Nodes subcategory

* 🚧 Extracted categorized categories/subcategory/nodes rendering into its own component — CategorizedItems, removed SubcategoryPanel, added translations

*  Implement MainPanel background scrim

* ♻️ Move `categoriesWithNodes`, 'visibleNodeTypes` and 'categorizedItems` to store, implemented dynamic categories count based on `selectedType`

* 🐛 Fix SlideTransition for all the NodeCreato panels

* 💄 Fix cursos for CategoryItem and NodeItem

* 🐛 Make sure ALL_NODE_FILTER is always set when MainPanel is mounted

* 🎨 Address PR comments

* label: Use Array type for CategorizedItems props

* 🏷️ Add proper types for Vue props

* 🎨 Use standard component registration for CategorizedItems inside TriggerHelperPanel

* 🎨 Use kebab case for main-panel and icon component

* 🏷️ Improve types

* feat(editor-ui): Redesign search input inside node creator panel (#4204)

* 🚧 Begin with TriggerPanel implementation, add Other Trigger Nodes subcategory

* 🚧 Extracted categorized categories/subcategory/nodes rendering into its own component — CategorizedItems, removed SubcategoryPanel, added translations

*  Implement MainPanel background scrim

* ♻️ Move `categoriesWithNodes`, 'visibleNodeTypes` and 'categorizedItems` to store, implemented dynamic categories count based on `selectedType`

* 🐛 Fix SlideTransition for all the NodeCreato panels

* 💄 Fix cursos for CategoryItem and NodeItem

* 🐛 Make sure ALL_NODE_FILTER is always set when MainPanel is mounted

* 🎨 Address PR comments

* label: Use Array type for CategorizedItems props

* 🏷️ Add proper types for Vue props

* 🎨 Use standard component registration for CategorizedItems inside TriggerHelperPanel

*  Redesign search input and unify usage of categorized items

* 🏷️ Use lowercase "Boolean" as `isSearchVisible` computed return type

* 🔥 Remove useless emit

*  Implement no result view based on subcategory, minor fixes

* 🎨 Remove unused properties

* feat(node-email): Change EmailReadImap display name and name (#4239)

* feat(editor-ui):  Implement "Choose a Triger" action and related behaviour (#4226)

*  Implement "Choose a Triger" action and related behaviour

* 🔇 Lint fix

* ♻️ Remove PlaceholderTrigger node, add a button instead

* 🎨 Merge onMouseEnter and onMouseLeave to a single function

* 💡 Add comment

* 🔥 Remove PlaceholderNode registration

* 🎨 Rename TriggerPlaceholderButton to CanvasAddButton

*  Add method to unregister custom action and rework CanvasAddButton centering logic

* 🎨 Run `setRecenteredCanvasAddButtonPosition` on `CanvasAddButton` mount

* fix(editor): Fix selecting of node from node-creator panel by clicking

* 🔀 Merge fixes

* fix(editor): Show execute workflow trigger instead of workflow trigger in the trigger helper panel

* feat(editor): Fix node creator panel slide transition (#4261)

* fix(editor): Fix node creator panel slide-in/slide-out transitions

* 🎨 Fix naming

* 🎨 Use kebab-case for transition component name

* feat(editor): Disable execution and show notice when user tries to run workflow without enabled triggers

* fix(editor): Address first batch of new WF experience review (#4279)

* fix(editor): Fix first batch of review items

* bug(editor): Fix nodeview canvas add button centering

* 🔇 Fix linter errors

* bug(ManualTrigger Node): Fix manual trigger node execution

* fix(editor): Do not show canvas add button in execution or demo mode and prevent clicking if creator is open

* fix(editor): do not show pin data tooltip for manual trigger node

* fix(editor): do not use nodeViewOffset on zoomToFit

* 💄 Add margin for last node creator item and set font-weight to 700 for category title

*  Position welcome note next to the added trigger node

* 🐛 Remve always true welcome note

* feat(editor): Minor UI and UX tweaks (#4328)

* 💄 Make top viewport buttons less prominent

*  Allow user to switch to all tabs if it contains filter results, move nodecreator state props to its own module

* 🔇 Fix linting errors

* 🔇 Fix linting errors

* 🔇 Fix linting errors

* chore(build): Ping Turbo version to 1.5.5

* 💄 Minor traigger panel and node view style changes

* 💬 Update display name of execute workflow trigger

* feat(core, editor): Update subworkflow execution logic (#4269)

*  Implement `findWorkflowStart`

*  Extend `WorkflowOperationError`

*  Add `WorkflowOperationError` to toast

* 📘 Extend interface

*  Add `subworkflowExecutionError` to store

*  Create `SubworkflowOperationError`

*  Render subworkflow error as node error

* 🚚 Move subworkflow start validation to `cli`

*  Reset subworkflow execution error state

* 🔥 Remove unused import

*  Adjust CLI commands

* 🔥 Remove unneeded check

* 🔥 Remove stray log

*  Simplify syntax

*  Sort in case both Start and EWT present

* ♻️ Address Omar's feedback

* 🔥 Remove unneeded lint exception

* ✏️ Fix copy

* 👕 Fix lint

* fix: moved find start node function to catchable place

Co-authored-by: Omar Ajoue <krynble@gmail.com>

* 💄 Change ExecuteWorkflow node to primary

*  Allow user to navigate to all tab if it contains search results

* 🐛 Fixed canvas control button while in demo, disable workflow activation for non-activavle nodes and revert zoomToFit bottom offset

* :fix: Do not chow request text if there's results

* 💬 Update noResults text

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2022-10-18 14:23:22 +02:00
Csaba Tuncsik 1aa21ed3df
perf: update deepCopy (#4364)
* perf: update deepCopy

* fix: using deepCopy in core and cli packages

* fix: using deepCopy in editor

* chore: formatting

* fix: some micro optimisation in deepCopy
2022-10-18 13:33:31 +02:00
Jan Oberhauser b67e41b45e fix(editor): Fix pairedItem telemetry error reporting 2022-10-14 18:56:04 +02:00
Jan Oberhauser c88653bb28 🔖 Release n8n-workflow@0.120.0 2022-10-14 05:47:26 +00:00
कारतोफ्फेलस्क्रिप्ट™ 5df09bb31c
fix(core): Expression evaluation of process should respect N8N_BLOCK_ENV_ACCESS_IN_NODE (#4338) 2022-10-13 22:47:41 +02:00
Iván Ovejero 1db4fa2bf8
feat(Code Node): create Code node (#3965)
* Introduce node deprecation (#3930)

 Introduce node deprecation

* 🚧 Scaffold out Code node

* 👕 Fix lint

* 📘 Create types file

* 🚚 Rename theme

* 🔥 Remove unneeded prop

*  Override keybindings

*  Expand lintings

*  Create editor content getter

* 🚚 Ensure all helpers use `$`

*  Add autocompletion

*  Filter out welcome note node

*  Convey error line number

*  Highlight error line

*  Restore logging from node

*  More autocompletions

*  Streamline completions

* ✏️ Update placeholders

*  Update linter to new methods

* 🔥 Remove `$nodeItem` completions

*  Re-update placeholders

* 🎨 Fix formatting

* 📦 Update `package-lock.json`

*  Refresh with multi-line empty string

*  Account for syntax errors

* 🔥 Remove unneeded variant

*  Minor improvements

*  Add more autocompletions

* 🚚 Rename extension

* 🔥 Remove outdated comments

* 🚚 Rename field

*  More autocompletions

*  Fix up error display when empty text

* 🔥 Remove logging

*  More error validation

* 🐛 Fix `pairedItem` to `pairedItem()`

*  Add item to validation info

* 📦 Update `package-lock.json`

*  Leftover fixes

*  Set `insertNewlineAndIndent`

* 📦 Update `package-lock.json`

* 📦 Re-update `package-lock.json`

* 👕 Add lint exception

* 📘 Add type to mixin type

* Clean up comment

*  Refactor completion per new requirements

*  Adjust placeholders

*  Add `json` autocompletions for `$input`

* 🎨 Set border

*  Restore local completion source

*  Implement autocompletion for imports

*  Add `.*` to follow user typing on autocompletion

* 📘 Fix typings in autocompletions

* 👕 Add linting for use of `item()`

* 📦 Update `package-lock.json`

* 🐛 Fix for `$items(nodeName)[0]`

*  Filter down built-in modules list

*  Refactor error handling

*  Linter and validation improvements

*  Apply review feedback

* ♻️ More general refactorings

*  Add dot notation utility

* Customize input handler

*  Support `.json.` completions

*  Adjust placeholder

*  Sort imports

* 🔥 Remove blank rows addition

*  Add more error validation

* 📦 Update `package-lock.json`

*  Make date logging consistent

* 🔧 Adjust linting highlight range

*  Add line numbers to each item mode errors

*  Allow for links in error descriptions

*  More input validation

*  Expand linting to loops

*  Deprecate Function and Function Item nodes

* 🐛 Fix placeholder syntax

* 📘 Narrow down type

* 🚚 Rename using kebab-case

* 🔥 Remove `mapGetters`

* ✏️ Fix casing

*  Adjust import for type

* ✏️ Fix quotes

* 🐛 Fix `activeNode` reference

*  Use constant

* 🔥 Remove logging

* ✏️ Fix typo

*  Add missing `notice`

* ✏️ Add tags

* ✏️ Fix alias

* ✏️ Update copy

* 🔥 Remove wrong linting

* ✏️ Update copy

*  Add validation for `null`

*  Add validation for non-object and non-array

*  Add validation for non-array with json

* ✏️ Intentionally use wrong spelling

*  More validation

* ✏️ More copy updates

* ✏️ Placeholder updates

*  Restore spelling

*  Fix var name

* ✏️ More copy updates

*  Add luxon autocompletions

*  Make scrollable

*  Fix comma from merge conflict resolution

* 📦 Update `package-lock.json`

* 👕 Fix lint detail

* 🎨 Set font family

*  Bring in expressions fix

* ♻️ Address feedback

*  Exclude codemirror packages from render chunks

* 🐛 Fix placeholder not showing on first load

* feat(editor-ui): Replace `lezer` with `esprima` in client linter (#4192)

* 🔥 Remove addition from misresolved conflict

*  Replace `lezer` with `esprima` in client linter

*  Add missing key

* 📦 Update `package-lock.json`

*  Match dependencies

* 📦 Update `package-lock.json`

* 📦 Re-update `package-lock.json`

*  Match whitespace

* 🐛 Fix selection

*  Expand validation

* 🔥 Remove validation

* ✏️ Update copy

* 🚚 Move to constants

*  More `null` validation

*  Support `all()` with index to access item

*  Gloss over n8n syntax error

* 🎨 Re-style diagnostic button

* 🔥 Remove `item` as `itemAlias`

*  Add linting for `item.json` in single item mode

*  Refactor to add label info descriptions

*  More autocompletions

* 👕 Fix lint

*  Simplify typings

* feat(nodes-base): Multiline autocompletion for `code-node-editor` (#4220)

*  Simplify typings

*  Consolidate helpers in utils

*  Multiline autocompletion for standalone vars

* 🔥 Remove unneeded mixins

* ✏️ Update copy

* ✏️ Prep TODOs

*  Multiline completion for `$input.method` + `$input.item`

* 🔥 Remove unused method

* 🔥 Remove another unused method

* 🚚 Move luxon strings to helpers

*  Multiline autocompletion for methods output

*  Refactor to use optional chaining

* 👕 Fix lint

* ✏️ Update TODOs

*  Multiline autocompletion for `json` fields

* 📘 Add typings

*  De-duplicate callback to forEach

* 🐛 Fix autocompletions not working with leading whitespace

* 🌐 Apply i18n

* 👕 Fix lint

* :constructor: Second-period var usage completions

* 👕 Fix lint

* 👕 Add exception

*  Add completion telemetry

* 📘 Add typing

*  Major refactoring to organize

* 🐛 Fix multiline `.all()[index]`

* 🐛 Do not autoclose square brackets prior to `.json`

* 🐛 Fix accessor for multiline `jsonField` completions

*  Add completions for half-assignments

* 🐛 Fix `jsonField` completions for `x.json`

* ✏️ Improve comments

* 🐛 Fix `.json[field]` for multiline matches

*  Cleanup

* 📦 Update `package-lock.json`

* 👕 Fix lint

* 🐛 Rely on original value for custom matcher

*  Create `customMatcherJsonFieldCompletions` to simplify setup

* 🐛 Include selector in `customMatcherJsonField` completions

* ✏️ Make naming consistent

* ✏️ Add docline

*  Finish self-review cleanup

* 🔥 Remove outdated comment

* 📌 Pin luxon to major-minor

* ✏️ Fix typo

* 📦 Update `package-lock.json`

* 📦 Update `package-lock.json`

* 📦 Re-update `package-lock.json`

*  Add `luxon` for Gmail node

* 📦 Update `package-lock.json`

*  Replace Function with Code in suggested nodes

* 🐛 Fix `$prevNode` completions

* ✏️ Update `$execution.mode` copy

*  Separate luxon getters from methods

*  Adjusting linter to tolerate `.binary`

*  Adjust top-level item keys check

*  Anticipate user expecting `item` to pre-exist

*  Add linting for legacy item access

*  Add hint for attempted `items` access

*  Add keybinding for toggling comments

* ✏️ Update copy of `all`, `first`, `last` and `itemMatching`

* 🐛 Make `input.all()` etc act on copies

* 📦 Update `package-lock.json`

* 🐛 Fix guard in `$input.last()`

* ♻️ Address Jan's feedback

* ⬆️ Upgrade `eslint-plugin-n8n-nodes-base`

* 📦 Update `package-lock.json`

* 🔥 Remove unneeded exceptions

*  Restore placeholder logic

*  Add placeholders to client

*  Account for shadow item

* ✏️ More completion info labels

* 👕 Fix lint

* ✏️ Update copy

* ✏️ Update copy

* ✏️ More copy updates

* 📦 Update `package-lock.json`

*  Add more validation

*  Add placheolder on first load

* Replace `Cmd` with `Mod`

* 📦 Update `package-lock.json`
2022-10-13 14:28:02 +02:00
Jan Oberhauser 486a30a152 🔖 Release n8n-workflow@0.119.0 2022-10-10 08:32:30 +00:00
Jan Oberhauser 1b320cd8c9
feat(core): Improve light versioning support in declarative node design (#4254)
* feat(core): Improve light versioning support in declarative node design

* refactor: add  to other parameters

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2022-10-06 22:09:45 +02:00
Iván Ovejero 9089dbe942
perf(tooling): Upgrade to TypeScript 4.8 (#4207)
* ⬆️ Upgrade to TypeScript 4.8

* 🔥 Remove unneeded setting

* 📦 Update `package-lock.json`

*  Restore `skipLibCheck`

* 📦 Re-update `package-lock.json`

* ♻️ Apply feedback

* ♻️ Add check to new WhatsApp node

* 📦 Update `package-lock.json`

* Update package-lock.json

* ran `npm run lintfix`

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2022-10-05 13:36:09 +02:00
Iván Ovejero e30c78febe
fix(editor): fix pairedItem in combination with pinned data (#4257)
🐛 Fix `pairedItem` in combination with pinned data
2022-10-04 14:05:46 +02:00
Jan Oberhauser f4f611358f 🔖 Release n8n-workflow@0.118.0 2022-09-30 14:18:32 +00:00
Valya f63710a892
feat(WhatsApp Business node): WhatsApp node (#3659)
* feat: base structure for whatsapp node with credentials

* feat: messages operation

* feat: create generic api call with credentials and test first operation

* fix: add missing template params

* fix: language code for template

* feat: media type and start of template components

* fix: remove provider name from media type

* lintfix

* fix: format

* feat: media operations w/o upload media type

* ♻️ Convert WhatsApp Business node to declarative style

* 🐛 form data not being sent with boundary in header

*  add media operations to WhatsApp

*  add credentials test to WhatsApp credentials

* ♻️ move preview url to optional collection in whatsapp message

* ♻️ renamed media operations in whatsapp node

* :refactor: move media file name to optional fields in whatsapp node

*  add upload from n8n for whatsapp node message resource

* 🔥 remove other template component types in whatsapp node

* :speech_bubble: add specialised text for media types in WhatsApp node

*  Load dinamically phone number and template name

*  Add action property to all operations

* 🔥 Remove unnecessary imports

*  Use getBinaryDataBuffer helper

*  Add components property

*  send components for whatsapp templates and template language

* 🏷️ fix WhatsApp node message function types

* 🏷️ fix any in whatsapp message functions

* 🔥 remove unused import

*  Improvements

*  Add send location

*  Add send contact

*  Small improvement

* ♻️ changes for review

* 🐛 fix presend error

* ♻️ change lat/long to numbers with proper clamping

* fix: bad merge

* refactor: changes for review

* update package-lock.json

* update package.-lock.json

* update

Co-authored-by: cxgarcia <schlaubitzcristobal@gmail.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2022-09-29 20:17:46 -04:00
Ricardo Espinoza f37d6ba03b
feat(HTTP Request Node): Redesign and add the ability to import cURL commands (#3860)
*  Initial commit

* 👕 Fix linting issue

*  Add import button

*  Remove ligh versioning

*  Improvements

*  Improvements

* 🔥 Remove HttpRequest2 file used for testing

* 🐛 Fix building issue

*  Small improvement

* 👕 Fix linting issue

* 🔥 Remove HttpRequest2 from loader

*  Update package-lock.json

*  Improvements

*  Small change

* 🐛 Fix issue retrieving splitIntoItems

* 🐛 Fix issue retrieving neverError parameter

* 🐛 Fix issue with displayOptions

*  Improvements

*  Improvements

*  Improvements

*  Improvements

*  Move cURL section to its own component

*  Improvements

*  Improvements

*  Add fix for  batching in all versions

*  Add notice to cURL modal

* 🔥 Remove comments

*  Improvements

*  Type curl-to-json endpoint

*  Fix typo

* 🔥 Remove console.logs

*  Fix typo in curl-to-json endpoint

*  Improvements

*  Improvements

*  Update package-lock.json

*  Rename import modal constant

*  Add return types to methods

*  Add CSS modules to ImportParameter component

*  Rename ImportParameter component to use kebab-case

*  Improvements

*  update package-lock.json

*  Fix linting issues

* Fix issue with css reference in ImportParameter component

*  Small improvements

*  Rename redirects to redirect

*  Allow to set multiple parameters on valueChanged

* 👕 Fix linting issue

* 🐛 Add mistakenly removed openExistingCredentials

*  Improve curl regex

*  Keep  headers as defined in the cURL command

*  Account for all protocols supported by cURL

*  Add tests

* 🔥 Remove unnecessary lines

*  Add more testing

*  Add noDataExpression to dependent fields

* 🐛 Fix bug not handling multipart-form data correctly

*  Change error messages

* 🐛 Fix response format string for empty values

* Fix typo
2022-09-29 17:28:02 -04:00
Jan Oberhauser 5526057efc
feat(core): Improve paired item and add additional variables (#3765)
*  Remove duplicate and old string

*  Add telemetry

*  Futher improvements

*  Change error message and display only name of last parameter

* 👕 Fix lint issue

*  Remove not needed comments

*  Rename properties, add new ones and improve error messages

*  Add support for $execution, $prevNode and make it possible to use proxies as object

*  Some small improvements

* 🐛 Fix error message

*  Improve some error messages

*  Change resumeUrl variable and display in editor

*  Fix and extend tests

*  Multiple pairedItem improvements

*  Display "More Info" link with error messages if user can fix issue

*  Display different errors in Function Nodes
2022-09-29 23:02:25 +02:00
agobrech 8bd99e0600
docs: remove impertinent Jsdocs comments (no-changelog) (#4181)
* 🔥 Remove impertinent Jsdocs comments

* Lint fixes
2022-09-29 14:37:56 +02:00
Mike Arvela 6e8e4f5937
fix(nodes-base): fix and harmonize all primaryDocumentation links (#4191)
* fix(nodes-base): fix and harmonize all primaryDocumentation links

* feat(workflow, cli): expose documentation links to UI via node codex

* fix(editor-ui): link to correct node and credential documentation URLs

* config(nodes-base): update 'format' script to also format node descriptor json

* chore: fix outdated links to node reference documentation
2022-09-29 13:33:16 +03:00
Alex Grozav 27e2ce0470
feat: migrate editor-ui to Vite.js and various DX improvements (N8N-2277) (#4061)
* feat: Added vite.js dependencies.

* chore: Removed tests folder to follow same structure as design-system

* chore: Removed unused testing config.

* chore: Created vite.js index.html

* refactor: Updated scss structure and imports.

* refactor: Updated workflow building.

* fix: Cleared up all workflow dependency cycles. Added proper package.json imports config.

* feat: Got a working build using Vite. Need to fix issues next.

* fix: Progress! Getting process.env error.

* fix: Changed process.env to import.meta.env.

* fix: Fixed circular imports that used require(). Fixed monaco editor.

* chore: Removed commented code.

* chore: Cleaned up package.json

* feat: Made necessary changes to replace base path in css files.

* feat: Serve CSS files for `editor-ui` Vite migration (#4069)

 Serve CSS files for Vite migration

* chore: Fixed package-lock.json.

* fix: Fixed build after centralized tsconfig update.

* fix: Removed lodash-es replacement.

* fix: Commented out vitest test command.

* style: Fixed linting issues.

* fix: Added lodash-es hotfix back.

* chore: Updated package-lock.json

* refactor: Renamed all n8n scss variables to no longer be defined as private.

* feat(editor): add application-wide el-button replacement.

* fix(editor): Fix import in page alert after merge.

* chore(editor): update package-lock.json.

* fix: Case sensitive lodash-es replacement for vue-agile.

* fix: add alias for lodash-es camelcase import.

* fix: add patch-package support for fixing quill

* feat: add patch-package on postinstall

* fix: update quill patch path.

* refactor: rename quill patch

* fix: update quill version.

* fix: update quill patch

* fix: fix linting rules after installing eslint in design-system

* fix: update date picker button to have primary color

* test: update callout component snapshots

* fix(editor): fix linting issues in editor after enabling eslint

* fix(cli): add /assets/* to auth ignore endpoints in server

* chore: update package-lock.json

* chore: update package-lock.json

* fix(editor): fix linting issues

* feat: add vite-legacy support

* fix: update workflow package interface imports to type imports.

* chore: update package-lock.json

* fix(editor) fix importing translations other than english

* fix(editor): remove test command until vitest is added

* fix: increase memory allocation for vite build

* fix: add patch-package patches to n8n-custom docker build

* fix: add performance and load time improvements

* fix: add proper typing to setNodeType

* chore: update package-lock.json

* style: use generic type for reduce in setNodeType

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-09-23 17:14:28 +03:00
Jan Oberhauser 1edc26f820 🔖 Release n8n-workflow@0.117.2 2022-09-23 10:02:13 +00:00
Mutasem Aldmour 46f95622e3
fix(resource locator): add back extract value logic (#4178)
add back extract value logic
2022-09-23 11:56:57 +02:00
Jan Oberhauser 580f710e5d 🔖 Release n8n-workflow@0.117.1 2022-09-22 17:07:06 +00:00
Mutasem Aldmour 469c391fee
fix(core): Fix resolve RL values in expressions (#4173)
* update interface

* update expression resolving

* 🔥 remove ExtractValue functions

* add flags

* update resolving

* update expr

* fix for list mode

* clean up

* Fix up

* update guard

* fix bug with switching

* update to handle expr referencing

* fix legacy expression

* fix when switching

* update spacing

Co-authored-by: Valya Bullions <valya@n8n.io>
2022-09-22 19:04:26 +02:00
Jan Oberhauser 93938d4345 🔖 Release n8n-workflow@0.117.0 2022-09-21 15:29:48 +00:00
Mutasem Aldmour ad73f8995c
feat: add resource locator parameter (#3932)
*  Added resource locator interfaces to `n8n-workflow` package

*  Updating Trello node to use resource locator property type

*  Added resource locator prop to Delete Board` Trello operation

* ✔️ Fiixing linting errors in Trello node

*  Added list mode to Trello test node

*  Updating resource locator modes interface

*  Updating Trello test node validation messages and placeholders

* N8N-4175 resource locator component (#3812)

*  Implemented initial version of resource locator component

*  Implemented front-end validation for resource locator component. Improved responsiveness. Minor refactoring.

*  Setting resource locator default state to list. Updating hover states and expand icon.

* 🔨 Moving resource locator component to `ParameterInput` from `ParameterInputFull

* 🔨 Moving `ResourceLocator` to a separate Vue component

* 🔨 Implementing expression and drag'n'drop support in ResourceLocator` component

* 🔨 Cleaning up `ResourceLocator` component code

*  Implemented resource locator selected mode persistance

* 💄 Minor refactoring and fixes in `ResourceLocator`

* 🔨 Updating `ResourceLocator` front-end validation logic

*  Saving resource locator mode in node parameters

* 💄 Updating the `ResourceLocator` component based on the design review

* 🐛 Fixing resource locator mode parameters handling when loading node parameter values on front-end

* 💄 Removing leftover unused CSS

*  Updating interfaces to support resource locator value types

*  Updating `ResourceLocator` component to work with object parameter values

* 🔨 Cleaning up `ResourceLocator` and related components code

*  Preventing `DraggableTarget` to be sticky if disabled

* 🐛 Fixing a bug with resource locator value parameter

* 👌 Adding new type alias for all possible node parameter value types

* 👌 Updating `ResourceLocator` and related components based on PR review feedback

*  Adding disabled mode to `ResourceLocator` component, fixing expression handling, minor refactoring.

* 💄 Updating disabled state styling in `ResourceLocator` component

*  Setting correct default value for test node and removing unnecessary logic

* 💄 Added regex URL validation to Trello test node

*  Updating Trello test node with another (list mode only) test case

* ✔️ Fixing linting error in Trello node

* 🔨 Removing hardcoded custom modes and modes order

* Add value extractor to routing node (#3777)

*  add value extractor to routing node

*  add value extractor to property modes

* 🔊 improve error logging for value extractor

* 🔥 remove old extractValue methods from RoutingNode

*  extractValue inside getNodeParameter

* 🔥 remove extract value test from RoutingNode

*  make value extraction optional

* 🥅 move extract value so proper error messages are sent

* 🚨 readd accidentally removed eslint-disable

*  add resource locator support extractValue

* 🚨 remove unused import

* 🐛 fix getting value of resource locator

* 💄 Updating resource locator component styling and handling reset value action

*  create v2 of Trello node for resource locator

* 💄 Updating ResourceLocator droppable & activeDrop classes and removing input padding-right

*  Updating Trello test node with single-mode test case

*  Updating field names in Trello node to avoid name clash

* 💄 Updating test Trello node mode order and board:update parameter name

* 💄 Updating test node parameter names and display options

* List mode search endpoint (#3936)

* 🚧 super basic version of the search endpoint

This version is built using a hacked up version of the Google Drive
node. I need to properly create a v2 for it but it's does work.

* 🚧 fixed up type errors and return urls

*  add v3 of Google Drive node with RLC

*  add RLC to Google Drive Shared Drive operations

* ♻️ address some small changes requested in review

* 🐛 move list search out of /nodes/ and add check for required param

*  google drive folder search

*  google drive search sort by name

*  add searchable flag for RLC

* ✏️ fix google drive wording for v3

* Trello and Airtable search backend (#3974)

*  add search to Trello boards

*  add RLC to Trello cards

* ♻️ use new versioning system for Trello v2

* 🐛 move list search out of /nodes/ and add check for required param

*  re-add trello search methods

* 🥅 throw error if RLC search isn't sent a method name

This will likely be removed when the declarative style of search has
been added.

*  add requires filter field to RLC search

*  add searchable flag to Trello searches

*  add RLC for cardId and boardId on all operations

*  add ID and URL RLC to Airtable

* N8 n 4179 resource locator list mode (#3933)

*  Implemented initial version of list mode dropdown

*  Handling mode switching and expression support in list mode

* 🔨 Removing `sortedModes` references

*  Fixing list mode UI after latest mege

* 💄 Updating padding-right for input fields with suffix slots

*  Minor fixes to validation, mode switching logic and styling

* update error

* 2 or more regex

* update regex to be more strict

* remove expr colors

* update hint

* 🚧 super basic version of the search endpoint

This version is built using a hacked up version of the Google Drive
node. I need to properly create a v2 for it but it's does work.

* 🚧 fixed up type errors and return urls

* begin list impl

*  add v3 of Google Drive node with RLC

* fix ts issue

* introduce dropdown

* add more behavior

* update design

* show search

* add filtering

* push up selected

* add keyboard nav

* add loading

* add caching

* remove console

* fix build issues

* add debounce

* fix click

* keep event on focus

* fix input size bug

* add resource locator type

* update type

* update interface

* update resource locator types

*  add search to Trello boards

*  add RLC to Google Drive Shared Drive operations

* update

* update name

* add package

* use stringify pckg

* handle long vals

* fix bug in url id modes

* remove console log

* add lazy loading

* add lazy loading on filtering

* clean up

* make search clearable

* add error state

*  add RLC to Trello cards

* ♻️ address some small changes requested in review

* ♻️ use new versioning system for Trello v2

* refactor a bit

* fix how loading happens

* clear after blur

* update api

* comment out test code

* update api

* relaod in case of error

* update endpoint

* 🐛 move list search out of /nodes/ and add check for required param

* 🐛 move list search out of /nodes/ and add check for required param

* update req handling

* update endpoint

*  re-add trello search methods

* 🥅 throw error if RLC search isn't sent a method name

This will likely be removed when the declarative style of search has
been added.

* get api to work

* update scroll handling

*  google drive folder search

*  add requires filter field to RLC search

*  google drive search sort by name

* remove console

*  add searchable flag for RLC

*  add searchable flag to Trello searches

* update searchable

*  add RLC for cardId and boardId on all operations

*  add ID and URL RLC to Airtable

* fix up search

* remove extra padding

* add link button

* update popper pos

* format

* fix formating

* update mode change

* add name urls

* update regex and errors

* upate error

* update errors

* update airtable regex

* update trello regex rules

* udpate param name

* update

* update param

* update param

* update drive node

* update params

* add keyboard nav

* fix bug

* update airtable default mode

* fix default value issue

* hide long selected value

* update duplicate reqs

* update node

* clean up impl

* dedupe resources

* fix up nv

* resort params

* update icon

* set placeholders

* default to id mode

* add telemetry

* add refresh opt

* clean up tmp val

* revert test change

* make placeholder optional

* update validation

* remove description as param hint

* support more general values

* fix links on long names

* update resource item styles

* update pos

* update icon color

* update link alt

* check if required

* move validation to workflow

* update naming

* only show warning at param level

* show right border on focus

* fix hover on all item

* fix long  names bug

* fix expr bug

* add expr

* update legacy mode

* fix up impl

* clean up node types

* clean up types

* remove unnessary type

* clean up types

* clean up types

* clean up types

* clea n up localizaiton

* remove unused key

* clean up helpers

* clean up paraminput

* clean up paraminputfull

* refactor into one loop

* update component

* update class names

* update prop types

* update name cases

* update casing

* clean up classes

* clean up resource locator

* update drop handling

* update mode

* add url for link mode

* clear value by default

* add placeholder

* remove legacy hint

* handle expr in legacy

* fix typos

* revert padding change

* fix up spacing

* update to link component

* support urls for id

* fix replacement

* build

Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Valya Bullions <valya@n8n.io>

* refactor: Resource locator review changes (#4109)

*  Implemented initial version of list mode dropdown

*  Handling mode switching and expression support in list mode

* 🔨 Removing `sortedModes` references

*  Fixing list mode UI after latest mege

* 💄 Updating padding-right for input fields with suffix slots

*  Minor fixes to validation, mode switching logic and styling

* update error

* 2 or more regex

* update regex to be more strict

* remove expr colors

* update hint

* 🚧 super basic version of the search endpoint

This version is built using a hacked up version of the Google Drive
node. I need to properly create a v2 for it but it's does work.

* 🚧 fixed up type errors and return urls

* begin list impl

*  add v3 of Google Drive node with RLC

* fix ts issue

* introduce dropdown

* add more behavior

* update design

* show search

* add filtering

* push up selected

* add keyboard nav

* add loading

* add caching

* remove console

* fix build issues

* add debounce

* fix click

* keep event on focus

* fix input size bug

* add resource locator type

* update type

* update interface

* update resource locator types

*  add search to Trello boards

*  add RLC to Google Drive Shared Drive operations

* update

* update name

* add package

* use stringify pckg

* handle long vals

* fix bug in url id modes

* remove console log

* add lazy loading

* add lazy loading on filtering

* clean up

* make search clearable

* add error state

*  add RLC to Trello cards

* ♻️ address some small changes requested in review

* ♻️ use new versioning system for Trello v2

* refactor a bit

* fix how loading happens

* clear after blur

* update api

* comment out test code

* update api

* relaod in case of error

* update endpoint

* 🐛 move list search out of /nodes/ and add check for required param

* 🐛 move list search out of /nodes/ and add check for required param

* update req handling

* update endpoint

*  re-add trello search methods

* 🥅 throw error if RLC search isn't sent a method name

This will likely be removed when the declarative style of search has
been added.

* get api to work

* update scroll handling

*  google drive folder search

*  add requires filter field to RLC search

*  google drive search sort by name

* remove console

*  add searchable flag for RLC

*  add searchable flag to Trello searches

* update searchable

*  add RLC for cardId and boardId on all operations

*  add ID and URL RLC to Airtable

* fix up search

* remove extra padding

* add link button

* update popper pos

* format

* fix formating

* update mode change

* add name urls

* update regex and errors

* upate error

* update errors

* update airtable regex

* update trello regex rules

* udpate param name

* update

* update param

* update param

* update drive node

* update params

* add keyboard nav

* fix bug

* update airtable default mode

* fix default value issue

* hide long selected value

* update duplicate reqs

* update node

* clean up impl

* dedupe resources

* fix up nv

* resort params

* update icon

* set placeholders

* default to id mode

* add telemetry

* add refresh opt

* clean up tmp val

* revert test change

* make placeholder optional

* update validation

* remove description as param hint

* support more general values

* fix links on long names

* update resource item styles

* update pos

* update icon color

* update link alt

* check if required

* move validation to workflow

* update naming

* only show warning at param level

* show right border on focus

* fix hover on all item

* fix long  names bug

* ♻️ refactor extractValue to allow multiple props with same name

* ♻️ use correct import for displayParameterPath

* fix expr bug

* add expr

* update legacy mode

* fix up impl

* clean up node types

* clean up types

* ♻️ remove new version of google drive node

* ♻️ removed versioned Trello node for RLC

* remove unnessary type

* ♻️ remove versioned Airtable not for RLC

* clean up types

* clean up types

* clean up types

* clea n up localizaiton

* remove unused key

* clean up helpers

* clean up paraminput

* clean up paraminputfull

* refactor into one loop

* update component

* update class names

* update prop types

* update name cases

* update casing

* clean up classes

* 💬 updated RLC URL regex error wording

* clean up resource locator

* update drop handling

* update mode

* 💬 reword value extractor errors

* 🚨 remove unneeded eslint ignores for RLC modes

* 💬 update Trello 400 error message

* 🚨 re-add removed types in editor-ui

Also ts-ignore something that was clean up in another commit. I've added
a comment to fix after someone else can look at it.

* 💬 remove hints from Google Drive RLCs

* 🥅 rethrow correct errors in Trello node

*  add url for id mode on Google Drive

* 🔥 remove unused Google Drive file

* 🔊 change console.error to use logger instead

* 🔀 fix bad merges

* ♻️ small changes from review

* ♻️ remove ts-ignore

Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Mutasem <mutdmour@gmail.com>

* fix build

* update tests

* fix bug with credential card

* update popover component

* fix expressions url

* fix type issue

* format

* update alt

* fix lint issues

* fix eslint issues

Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com>
Co-authored-by: Valya <68596159+valya@users.noreply.github.com>
Co-authored-by: Valya Bullions <valya@n8n.io>
2022-09-21 15:44:45 +02:00
Ben Hesseldieck 97cd564f7b
feat(cli): User Management and Credentials sharing (#3602)
* 🎉 starting feature development

*  sharing/unsharing a credential (#3601)

* 🎉 initial design

*  sharing/unsharing of credentials

*  add tests for EE credentials controller

* 💪 implement review comments

* 🛠 refactor agent creation and credential role locking

* 👕 linting adjustments (#3691)

* 👕 Adjust rule `naming-convention`

* 👕 Fix `naming-convention` config value

* 👕 Disregard casing for EE-prefixed vars

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 🛠 refactor authAgents in tests (#3725)

* 🛠 refactor authAgent

* 🛠 refactor authAgent

* 🛠 refactor authAgent

* 🛠 refactor authAgent

* 👕 fix ts issue

* 🐘 add migration for mysql and postgres + add AuthAgent type

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* ️ refactor existing credentials routes (#3672)

* 🎉 initial design

*  sharing/unsharing of credentials

* ♻️ split credential update route into controller and service

* 🔥 remove credentials test that is no longer applicable

* ♻️ split credential creation route into controller and service

* ♻️ split single credential get

* ♻️ split delete credentials route

* ♻️ split get all credentials route

* 🔥 remove unused imports in credentials contoller

* 🔥 remove console.log

* :refactor: changes to credentials controller and service from review

 - removed credentials from service function names
 - made relations list optional
 - put allowGlobalOwner in options objects
 - check length of relations array so join doesn't happen if empty
 - update some comments to further explain rationale
 - remove unneeded `Object.assign`
 - remove non-null assertion from test

* ♻️ move filtered credentials selected fields to variable

* ♻️ remove unneeded merges in credentials service

Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>

*  fix test

* 🐛 fix imports

* 👕 fix lint issue

* User Management: switch over to decorators to define routes (#3827)

* Add permissions details to credentials for User Management (#3863)

*  Open `GET /users`

*  Add permissions to cred service

* 🚚 Rename method

*  Refactor cred controller

* 🧪 Adjust test

* ✏️ Improve comment

* ✏️ Improve another comment

*  Account for multiple sharings

* 🐛 Fix access when user is editor

* 📘 Expand interface

* 📘 Relocate types

* 📘 Exempt cred entity with service-injected fields

* 📘 Adjust interface

* ♻️ Add permissions only in `GET /credentials`

* 🧪 Add expectations for `ownedBy`

* 🧪 Add sharing details test

* 🧪 Make `ownedBy` checks more granular

* 📘 Adjust interface

* 🚚 Rename cred getter

* ♻️ Refactor cred getter

* 🧪 Expand tests

* ♻️ Refactor to use guard

* 👕 Remove unneeded lint exception

* 🔥 Remove unneeded relation

* 🚚 Move relation to `GET /credentials/:id`

* 📘 Consolidate typings

* 🎨 Add multiline for readability

* 🔥 Remove unneeded type

* ✏️ Clarity comment

* ✏️ Make comments consistent

* 👕 Add exception to fix build

* 👕 Add more lint exceptions to fix build

* 🐛 Check for non-owner

* 📘 Improve typings

* 🧪 Temporarily skip tests

* 🔥 Remove `@ts-ignore`

* 👕 Move lint exceptions

* ♻️ Refactor cred service and controller

*  Simplify check

* ✏️ adjust naming to experimental

* ️ add credentialsSharing flag to settings

* 🛠 add helper to check if UM is also enabled as dependency for CredentialsSharing

* 👕 fix lint error

* 🐘 change name of credential role

* 🚧 WIP batch sharing

* 🚧 WIP use put for sharing

*  add tests for batch sharing, 🛠 implement review suggestions

*  expand credential sharing tests for User Management (#3931)

* 🧪 Expand cred sharing tests

*  Add recently added flags

*  fix and adjust tests for /credentials

Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>

*  User management v2 Front End (#3795)

* feat: Added responsive generic page view layout.

* feat: Added empty state.

* feat: Added credentials view empty state.

* test: Added unit tests for N8nActionBox

* feat: Added credentials list initial design.

* feat: Added credential actions. Started working on filters.

* feat: Updated InfoTip markup, added tests and changed stories to typescript.

* feat: Added credentials filtering by type. Added support for apply/reset filters.

* feat: Added credential sharing user select and user list. Added paywall component.

* feat: Updated credentials view permissions.

* feat: Added support for temporary sharing config for unsaved credentials.

* test: Fixed broken snapshots.

* feat: Added overflow styles to page-view-layout list.

* feat: Handled sharee specific views.

* feat: Integration between FE and BE to support real-world credential sharing scenario.

* feat: Added front end permissions table.

* feat: Refactored credential sharing flow. Updated design elements.

* feat: Added margin and padding auto spacer utilities.

* feat: Rehauled permissions to support instanceOwner role and action inheritance.

* feat: Updated credentials view to apply filters automatically.

* feat: Removed apply filters button and added active button state.

* test: Updated component snapshots.

* refactor: Renamed ResourceSharee to ResourceReader.

* feat: Credential sharing error handling, permissions improvement.

* feat: Updated permissions and error handling.

* chore: Removed console.log.

* 🛠 refactor enabling of credentialsSharing

* feat: Removed owner menu selector from credentials when sharing is disabled.

* refactor: Moved EE features into ee store module file.

* 🛠 add sharing info to GET credentials/:id

* fix: Fixed initial credential data loading for sharing.

* chore: Removed console.log.

* 🐛 owner can fetch any credential

* 🛠 refactor users test

* 👕 fix build type issue

* fix: Removed owner tag when credential sharing is disabled. Fixed small reactivity issue.

* chore: Removed console.log.

* 🚧 separate fetching credentials between EE and open

* fix: Fixed empty dropdown in users list.

* fix: Fixed error message and initialization when credential gets unshared.

*  add tests for fetching single credential

* Revert decorators based controllers

* ️ adjust credentials test route to also allow testing for sharees (#3999)

* ️ pull data if user is sharee

* fix: Removed sharedWith and ownedBy from credentialData on testing credentials.

Co-authored-by: Alex Grozav <alex@grozav.com>

* 📈 add BE analytics

* 💪 improve credential test

* ️ adjust tracking properties

* ️ removed roles from tracking

* 🐛 fix build by removing imports

* 🐛 fix missed merge conflict

* feat: User management P2 Front End bug bash and improvements (#4014)

* fix: Fixed type select size after reopening dropdown.

* fix: Fixed template cards.

* fix: Fixed card content size and copy input.

* fix: Fixed horizontal overflow.

* fix: Hiding el-tags scrollbar in select.

* fix: Added fallback credential icon. Added oAuth credential owner check.

* feat: Added disabled state to user select.

* feat: Added fallback scenario for non-existent credential types.

* feat: Adjusted credentials empty state to show that there are shared credentials.

* fix: Fixed time title.

* feat: Added actionable empty state when shared credentials are present.

* fix: Made action box x padding smaller

* feat: Repositioned owner tag for credential card.

* feat: Updated message box styling to use n8n css variables.

* feat: Added confirmation for deleting sharee.

* fix: Fixed deleted credential types. Fixed select in dropdown bug.

* fix: Various code improvements. Addressed PR review comments.

* fix: Fixed credential deletion errors.

* fix: Various code quality improvements.

* feat: N8N-4531 update cloud coming soon features (#4025)

* feat: Showing different upcoming feature messages and format for cloud.

* fix: Changed url format.

* fix: Updated how cloud deployment is determined.

* feat: N8N-4527 implementing credential sharing FE telemetry (#4023)

* feat: Added credential sharing telemetry.

* chore: Renamed computed function for consistency.

* refactor: Simplified subview telemetry sending.

* fix: Changed to callDebounced() helper.

* 📧 update email text

* fix: Adjusted feature coming soon margin.

* chore: Fixed type and line height for delete sharee confirmation modal.

* refactor(editor-ui): Update telemetry (#4040)

* 🔥 Remove `identify` from BE

*  Add `versionCli`

*  Add node creator ignore input

*  Move obfuscators to editor-ui

*  Refactor `ph-no-capture`

*  Pass `user_id` to manual exec props

* 🚚 Relocate class in `SettingsApiView`

*  Add `userId` to BE PH `identify` call

*  Revert " Add `userId` to BE PH `identify` call"

This reverts commit 895aaa45e5.

* Revert " Revert " Add `userId` to BE PH `identify` call""

This reverts commit b86a098c20.

* 🐛 Fix `Promise` handling in `track()` call

*  Restore `Db.collections` call

*  Set up PH payload to mirror RS

* 🔥 Remove excess `userId`

* 📘 Remove `userId` from interface

* 🔥 Remove unused ref and method

* fix: Fixed bug causing instanceOwner to become credential owner on update. (#4079)

* 🐛 fix test for credential shared with member

* 👕 fix lint issues

* delete conflicting migration. this data is already seeded in CreateUserManagement

* feat: Expand obfuscation to User Management credential sharing (#4070)

 Expand obfuscation

* feat: Added credential sharing infotip for instance owner.

* bring back the migration. add a check to avoid conflicts on inserts

* fix(cli): use a non-env config flag to detect of enterprise features are enabled (#4105)

* chore: Changed ampersand to and in translation.

* refactor(telemetry): Obfuscate code and JSON editors (#4118)

 Obfuscate code and JSON editors

* feat(editor): improve design and functionality of coming soon features (#4116)

* feat: Improved coming soon feature design and functionality.

* style: Removed empty line.

* chore: Removed unused translation.

* fix: fix telemetry for credential creates and updates (#4125)

fix telemetry for credential creates and updates

* feat: Display errors due to missing credentials in the correct node (#4124)

feat: Display errors due to invalid credentials in the correct node when missing permissions

* fix: remove duplicate header for coming soon features in cloud deployment

* telemetry: fix the payload for `User viewed credential tab`

* telemetry: add credential_id to 'User selected credential from node modal'

* feat: update empty states for coming soon features

* Update ActionBox.spec.ts.snap

* replace UserSharingsDetails with a subset of User properties

* rename the CreateCredentialsEditorRole to CreateCredentialsUserRole

* move IUser to the workflow package

* use IUser in the frontend as well

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Valya <68596159+valya@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2022-09-21 10:20:29 +02:00
Omar Ajoue a8030dbda5
fix(expression): prevent calls to constructor to forbid arbitrary code execution (#4139)
* fix(expression): prevent calls to constructor to forbid arbitrary code execution
2022-09-20 10:41:37 +02:00
Ricardo Espinoza 6c41b29ad2
fix(cli): Fix issue with n8n crashing when error in poll method (#4008)
* 🐛 Fix issue with n8n crashing when error in poll method

* Remove unnecessary imports and add async property

* Remove unnecessary imports

*  Move createErrorExecution to genericHelper

*  Improvements

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2022-09-15 16:16:54 -04:00
Jan Oberhauser eb650419a0 🔖 Release n8n-workflow@0.116.0 2022-09-15 14:33:16 +00:00
Iván Ovejero 98ed207607
feat(core, editor-ui): Introduce node deprecation (#4103)
 Introduce node deprecation
2022-09-15 10:52:24 +02:00
Michael Kret 381c09fa47
fix(core): Fix node renaming in expressions 2022-09-13 18:09:16 +03:00
कारतोफ्फेलस्क्रिप्ट™ 69eb97999d
fix(eslint): setup eslint to run on every package - N8N-4553 (#4050)
* fix(eslint): setup eslint to run on every package

Also, unify eslint config and dependencies into a private package in the workspace.
2022-09-12 11:41:50 +02:00
Rhys Williams f6064ef278
fix(core & function nodes): Update function nodes to work with binary-data-mode 'filesystem'. (#3845)
* Initial Fix

* Self-Review #1

* Lint

* Added support for FunctionItem. Minor updates.

* Self-review

* review comments. Added testing.

* Self Review

* Fixed memory handling on data manager use.

* Fixes for unnecessary memory leaks.
2022-09-11 16:42:09 +02:00
कारतोफ्फेलस्क्रिप्ट™ 9267e8fb12
fix(typescript): Use consistent typescript configs - N8N-4552 (#4049)
fix(typescript): Use consistent typescript configs

make all packages inherit tsconfig from the root tsconfig
skips building tests. reformat all tsconfigs with prettier.
2022-09-09 18:00:18 +02:00
कारतोफ्फेलस्क्रिप्ट™ a73ac1d94f
fix(workflow): remove a few ts-ignore and eslint-disable (#3958)
fix(workflow): remove a few `ts-ignore` and `eslint-disable`. improve typing
2022-09-09 16:34:50 +02:00
कारतोफ्फेलस्क्रिप्ट™ 799676b24d
feat(typescript): Setup Typescript incremental builds (#3876) 2022-09-09 15:24:23 +02:00
Jan Oberhauser 59f5fdc26b 🔖 Release n8n-workflow@0.115.1 2022-09-06 14:35:34 +02:00
Aaron Delasy 49c85a1df8
fix: correct all the spelling typos (#3960)
* Improve code health
Fix TS typos in local variables
Fix CSS typos in local styles
Fix typos in comments
Fix typos in strings

* Fix order of n8n setup sections in CONTRIBUTING.md
2022-09-02 16:13:17 +02:00
Jan Oberhauser 58a4efffa1 🔖 Release n8n-workflow@0.115.0 2022-08-31 14:45:53 +00:00
Omar Ajoue b2c674591c
Feature/paired item support (#3869)
* Add paired item helper and implement it in some nodes
2022-08-30 17:55:33 +02:00
Cornelius Suermann 3939d52851
docs(license): Introduce n8n Enterprise License (#3945) 2022-08-29 22:08:42 +02:00
Jan Oberhauser 3f6e8e5e9e 🔖 Release n8n-workflow@0.114.0 2022-08-24 14:19:30 +00:00
Iván Ovejero b1e715299d
feat(core, editor): Support pairedItem for pinned data (#3843)
* 📘 Adjust interface

*  Adjust pindata in state store

*  Add utils

*  Replace utils calls

*  Adjust pindata intake and display

* 🔥 Remove excess BE fixes

* 📝 Update comment

* 🧪 Adjust tests

* 🔥 Remove unneeded helper

* 🚚 Improve naming

* 🧹 Clean up `ormconfig.ts`

* 📘 Add types and type guards

*  Improve serializer for sqlite

*  Create migration utils

*  Set up sqlite serializer

* 🗃️ Write sqlite migration

* 🗃️ Write MySQL migration

* 🗃️ Write Postgres migration

*  Add imports and exports to barrels

* 🚚 Rename `runChunked` to `runInBatches`

*  Improve migration loggers

* ♻️ Address feedback

* 🚚 Improve naming
2022-08-22 17:46:22 +02:00
कारतोफ्फेलस्क्रिप्ट™ dc8f8b7874
[N8N-4339] Unify all Cron-specific code. Improve typing, and add tests. (#3887) 2022-08-19 12:45:04 +02:00
Jan Oberhauser 07cdc5509c 🔖 Release n8n-workflow@0.113.0 2022-08-17 11:19:20 +00:00
Omar Ajoue f782bcd52d
fix(core): Fix issue with not displayed child workflow executions (#3867) 2022-08-12 14:31:11 +02:00
Jan Oberhauser b56d9acdca 🔖 Release n8n-workflow@0.112.0 2022-08-10 10:11:24 +00:00
Alex Grozav a9fa830bd7
build: Migrate from lerna to turborepo (#3796)
* feat: Added turborepo setup.

* feat: Updated nodes and credentials loading.

* feat: Removed remaining lerna references.

* fix: Updated npm run bootstrap command.

* feat: Added CI step for installing latest npm.

* chore: Removed lerna config.

* feat: Added gulp to global ci packages.

* fix: Set node as moduleResolution target in workflow. Fixed CI.

* fix: Added turborepo installation to the n8n-custom docker image.

* fix: Updated copied docker files for n8n-custom.

* fix: Added git as dependency in n8n-custom dockerfile.

* fix: Changed npm install command in n8n-custom.

* 📦 Update `package-lock.json`

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-08-06 22:55:51 +02:00
Jan Oberhauser ee3c0eea85 🔖 Release n8n-workflow@0.111.0 2022-08-03 16:18:13 +00:00
brianinoa 74cedd94a8
feat(SendInBlue Node): Add SendInBlue Regular + Trigger Node (#3746)
* add sendinblue svg icon

* Add code and required files for new sendinblue node

* Add node to package.json

* Update credentials to display API Key instead of Access Token

* Use new svg found in brandfetch

*  Improvements

* ♻️ Moved descriptions for email to it's own file

*  Added support for contact get

*  moved email descriptions to it's own file

*  Add logic to conditionally remove/format sms,email

*  Improvements

*  Refactor Sender descriptions to it's own file

*  Fix urls

*  Improvements attempt

*  Refactor remove inline descriptions

*  Minor improvement

* 🎨 Learn a nice way to send options as key-value

*  Improvements

* ♻️ Fix Create Operation structure

* ♻️ Refactor create functionality for attribute

♻️ Introduce override for createAttribute selectedCategory

♻️ Add delete functionality

* 🔥 Remove preSend from delete

*  Implement override for body types

*  Cleanup node file

*  Update response for contact update
 Update request url for contact delete

*  Add presend check for optional properties that are empty
 Add Model file and TransactionalEmail interface

*  formatting

* ♻️ Remove requestOperations from Node Description level

* ♻️ Cleanup routing for Get All
♻️ Make Identifier required

*  Formatting

* ♻️ Add Options Collection

* ♻️ Add Filters area

* ♻️ Formatting

* ♻️ Handle empty return

* ♻️ Remove unused code

* ♻️ Fix pagination
♻️ Fix empty return for delete

*  Add pagination

*  Fix Modified Since

* ♻️ Reorder send operation ui

*  Remove no longer needed presend
 Add send html template operation

* ♻️ Make Contact Attribute name and type required

* ♻️ Rename Attribute to Contact Attribute

* ♻️ Rename Identifier to Contact Identifier

* ♻️ Remove SMS from root level because it can exist in Contact Attributes

* ♻️ Fix Array type using 'Array<T>'
♻️ Fix double quotes should be single quotes

* 👕 Lint Fix

*  Add email attachment functionality
 Add attachment data validation

*  Add dynamic loading of Email Template IDs

* ♻️ Cleanup validation method

*  Introduce workaround and use binary data for attachments

* feat: Migrated to npm release of riot-tmpl fork.

* 👕 Lint fix rules

* 👕 Lint fix rules

* fix: Updated imports to use @n8n_io/riot-tmpl

* fix: Fixed Logger.ts types.

*  Fix mixmatch of filename and package.json credentials list

*  fix mixmatch in nodes list

* feat(core): Give access to getBinaryDataBuffer in preSend method

*  clean up mixmatches in node naming

* ♻️ Refactor code to use newly exposed getBinaryDataBuffer method

*  Improvements

* 🔥 Remove unnecessary lines

* 👕 Fix linting issues

*  Fix issues with up to date APIs and improve readability

*  update naming of files

* ♻️ Move sendHtml boolean above subject
♻️ Update naming from Parameters to Fields

* ♻️ Move sendHtml boolean above subject
♻️ Update naming from Parameters to Fields

* ♻️ Add attribute name url encoding
♻️ Change limit's default to 50

*  Fix default for templateId

*  Fix display name for attribute list

* ♻️ Add clarity to attribute value display name

* ♻️ Add tags and attachments for emails

* ♻️ Add use of item's binary data fileName

* 👕 Fix action lint rule

* 👕 Remove deprecated lint rule

* ⬆️ Update eslint-plugin-n8n-nodes-base

* 👕 Fix lint rule for file name

*  Fix update attribute

* ♻️ Add upsert capabilites

* 🔥 Remove create or update operation

* ♻️ Add sendInBlueWebhookApi namespace

* ♻️ Add Webhook API functionality

*  Add SendInBlue Trigger

*  Return correct webhookId data

*  Add placeholder for receiving data

* 👕 Fixing existing linting issues

* 🚨 Enable namespacing in tslint file

* 👕 Fix linting issues

*  Rename exported WebhookApi

* 🔥 Remove unused Model.ts file

* ♻️ Update node to use SendInBlue namespace

*  Revert back to allowing upsert functionality

* ♻️ Fix options to better describe events

* Remove update flag for create operation

* ♻️ Fix discrepancies for contact resource

* remove no-namespace lint rule

* 👕 Fix linting issues

* ♻️ Add sendInBlueWebhookApi namespace

* ♻️ Add Webhook API functionality

*  Add SendInBlue Trigger

*  Return correct webhookId data

*  Add placeholder for receiving data

* 👕 Fix linting issues

*  Rename exported WebhookApi

* ♻️ Fix options to better describe events

* Add optionswithuri import that was lost

*  Fix details from janober's review

*  Fix order of displayName and name properties

*  Fix default value and improve loadOptions

*  Introduce support for comma separated attribute values

*  Introduce support for comma separated attribute values

* 👕 Fix linting issues

* Update defaults and required props

*  Fix copy paste issue Upsert was not using correct endpoint

*  Fix upsert email field display name

*  Last update, upsert email description

*  Add PostReceived type limit

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-08-03 18:08:51 +02:00
Jan Oberhauser b22ff1f5c1 refactor: Update additional README.md files 2022-08-03 13:34:49 +02:00
Mutasem Aldmour 679a443a0c
refactor: Add node IDs (#3788)
* update type

* add id to new nodes

* update paste/import behavior

* update duplicate/copy

* update duplicate workflow

* update import functions + templates

* add instance id on copy

* on download add instance id

* simplify for testing

* update telemetry events

* add ids to nodegraph

* not if same instance

* update spacing

* fix tests

* update tests

* add uuid

* fix tests

update tests

add uuid

fix ts issue

* fix telemetry event

* update workflow import

* update public api

* add sqlit migration

* on workflow update

* add psql migration

* add mysql migration

* revert to title

* fix telemetry bug

* remove console log

* remove migration logs

* fix copy/paste bug

* replace node index with node id

* remove console log

* address PR feedback

* address comment

* fix type issue

* fix select

* update schema

* fix ts issue

* update tel helpers

* fix eslint issues
2022-08-03 13:06:53 +02:00
Iván Ovejero b2c365d369
⬆️ Set eslint@8.0.0 on n8n-workflow (#3768)
* ⬆️ Upgrade `n8n-workflow` to ESLint 8

* 📦 Update `package-lock.json`

* 📦 Re-update `package-lock.json`
2022-07-29 15:27:38 +02:00
Jan Oberhauser 6e28cae5f9 🔖 Release n8n-workflow@0.110.0 2022-07-27 15:38:53 +00:00
agobrech 81b5828558
feat(Metabase Node): Add Metabase Node (#3033)
* Boilerplate with new node's version for metabse

* Metabases MVP features

* Added new credential for metabse, added custom auth for metabase

* Fixed bug with one enpoint not working

* Clean up code

* Uniformised the renovate token

* Made two example of responses for review

* Fixed lint issues

* Feature add datasources

* Changed output from databases

* Changed questions data output

* Fixed issue when testing credentials with new node format

* Add the possibility to get raw data

* Removed handle for the metabase meta results, changed export's name

* Add binary extraction for the result data

* Fixed binary download issue

*  Add preAuthentication method to credentials

* Revert "Added new credential for metabse, added custom auth for metabase"

This reverts commit 5f1b7607ad.

* Revert "Added new credential for metabse, added custom auth for metabase"

This reverts commit 5f1b7607ad.

* Added preAuth and fixed autfixable linting rules

* Fixed linting errors

* Linting fixes

* Remove / at the end of url, and add placeholder for cred url

* Make export to Json retun only json and no binary

* Fix lint issues

* Add action and exception for lint rule

* Remove unnecessary credential file

*  Simplify and cleanup

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-07-26 14:43:36 +02:00
Iván Ovejero f9f05621a1
refactor: Upgrade to ESLint 8 (#3722)
* ⬆️ Upgrade to ESLint 8

* 📦 Update package-lock.json

* 👕 Add lint exceptions

* 👕 Add more lint exceptions

*  Remove `tslint` from some packages

* 👕 Except init file

* 📦 Update `package-lock.json`

* 📦 Update `package-lock.json`

* 👕 Add exceptions to new lines coming from `master `

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-07-24 17:25:01 +02:00
Jan Oberhauser 1348349748 feat: Improvements to pairedItem 2022-07-22 12:19:45 +02:00
Jan Oberhauser ba81c8b132 🔖 Release n8n-workflow@0.109.0 2022-07-20 16:02:27 +00:00
Alex Grozav 15693b0056
feat(editor): Add data pinning functionality (#3511)
* feat: Design system color improvements and button component redesign.

* feat: Added button focus state and unit tests.

* refactor: Aligned n8n-button usage inside of editor-ui.

* test: Updated snapshots.

* refactor: Extracted focus outline width into scss variable.

* fix: Fixed select input border-radius.

* refactor: Removed element-ui references in button.

* fix: Fixed scss variable imports.

* feat: Added color-neutral variable story.

* fix: Fixed color-secondary variable definition.

* feat: Added color-white story.

* test: Updated button snapshot.

* feat: Replaced zoom buttons with new n8n-icon-button.

* feat: Added stories for float utilities.

* chore: Updated color shades generation code for later use.

* chore: Removed color-white code.

* chore: Updated story properties for button components.

* fix: Added el-button fallback for places where el-button is not replaceable (messagebox).

* feat: Reverted to css modules. Replaced el-button with n8n-button at application level.

* test: Updated button snapshot.

* fix: Fixed element-ui locally referenced buttons (via components: {}).

* fix: Updated colors. Removed irrelevant validation. Added ElButton override component.

* test: Updated button override snapshot.

* fix: Various button adjustments and fixes.

* fix: Updated button disabled state.

* test: Updated snapshots.

* fix: Consolidated css variables changes.

* Data pinning (#3512)

* refactor: Aligned n8n-button usage inside of editor-ui.

* feat: Added edit data button on json hover.

* feat: Extracted code editor into separate form component.

* feat: Added edit data button on json hover.

* feat: Added pinData and edit mode methods.

* 🔥 Remove conflict markers

* ✏️ Update i18n keys

*  Add JSON validation

* 🗃️ Add `pinData` column to `workflow_entity`

* 📘 Tighten type

*  Make `pinData` column nullable

*  Adjust workflow endpoints for pin data

* 📘 Improve types

* ✏️ Improve wording

* Inject pindata into items flow (#3420)

*  Inject pin data - Second approach

* 🔥 Remove unneeded lint exception

* feat: Added edit data button on json hover.

* feat: Extracted code editor into separate form component.

* feat: Added edit data button on json hover.

* fix: Fixed rebase conflicts.

*  Undo button change

* 🐛 Fix runNode call

Adjust per update in bdb84130d6

* 🧪 Fix workflow tests

* 🐛 More merge conflict fixes

* feat: Added pin/unpin button and store mutations.

* feat: Size check. Various design and ux improvements.

*  Add transformer

*  Hoist pin data

*  Adjust endpoints for hoisted pin data

* 📘 Expand interface

* 🐛 Fix stray array

* 👕 Fix build

* 👕 Add lint exception

* 👕 Fix header

* 🎨 Add color secondary tints

*  Create `HeaderMessage` component

*  Adjust `InfoTip` component

*  Add `HeaderMessage` to `RunData`

* 🐛 Fix console error

* 👕 Fix lint

*  Consolidate `HeaderMessage` and `Callout`

*  Undo `InfoTip` changes

* 🔥 Remove duplicate icons

*  Simplify template

* 🎨 Change cursor for action text

* 👕 Fix lint

*  Add URL

* 🐛 Fix handler name

*  Use constant

* ♻️ Refactor per feedback

* fix: Various fixes after data pinning relocation.

* fix: Added store mutation for setting pinned data.

* feat: Added pinned state for workflow canvas node.

* fix: Fixed workflow saving.

* fix: Removed pinData hoisting (no longer necessary).

* feat: Added canPinData flag to hide for input pane and binary data. Fixed unpin and execute flow.

*  Fixes for canvas pin data (#3587)

*  Fixes for canvas pin data

* 📘 Rename type

* 🧪 Fix unrelated Public API test

* 🔥 Remove logging

* feat: Updated pinData mixin to no longer include extra fields.

*  Output same pindata for every run

* 🎨 Fix cropping

* 🔥 Remove unrelated logging

* feat: Moved edit button next to pin button.

* feat: Changed data to be inserted for empty state.

* chore: Changed invalid editor output translation.

* feat: Added error line reporting on JSON Validation.

* feat: Migrated pinData edit mode to store.

* chore: Merged duplicate node border color condition.

* feat: Moved pin data validation to mixin. Added check before closing ndv modal.

* fix: Changed pinned data size calculation to discard active node pin data.

* feat: Added support for rename and delete node with pin data.

* feat: Simplified editing state. Fixed edit mode in input panel after store migration.

* feat: Various data pinning improvements.

* fix: Fixed callout link underline.

* refactor: Added support for both string and objects for data size check.

* feat: Added disabled node check for input panel. Fixed monaco editor resizing.

* fix: Fixed edit mode footer size.

*  Fix pindata items per run

* 👕 Remove unneeded exception

* refactor: Added isValidPinData() helper method.

* refactor: Changed how string size in bytes in calculated.g

* refactor: Updated pinData mixin interface.

* refactor: Merged filter and reduce in pinDataSize calculation.

* fix: Changed code-editor to correct type.

* fix: Added insert test data message to trigger nodes.

* feat: Disabled data pinning for multiple output nodes.

* refactor: Updated ndv.input.disabled translation to include node name.

* refactor: Aligned n8n-button usage inside of editor-ui.

* feat: Added edit data button on json hover.

* feat: Extracted code editor into separate form component.

* feat: Added edit data button on json hover.

* feat: Added pinData and edit mode methods.

* 🔥 Remove conflict markers

* ✏️ Update i18n keys

*  Add JSON validation

* 🗃️ Add `pinData` column to `workflow_entity`

* 📘 Tighten type

*  Make `pinData` column nullable

*  Adjust workflow endpoints for pin data

* 📘 Improve types

* ✏️ Improve wording

* Inject pindata into items flow (#3420)

*  Inject pin data - Second approach

* 🔥 Remove unneeded lint exception

* feat: Added edit data button on json hover.

* feat: Extracted code editor into separate form component.

* feat: Added edit data button on json hover.

* fix: Fixed rebase conflicts.

*  Undo button change

* 🐛 Fix runNode call

Adjust per update in bdb84130d6

* 🧪 Fix workflow tests

* 🐛 More merge conflict fixes

* feat: Added pin/unpin button and store mutations.

* feat: Size check. Various design and ux improvements.

*  Add transformer

*  Hoist pin data

*  Adjust endpoints for hoisted pin data

* 📘 Expand interface

* 🐛 Fix stray array

* 👕 Fix build

* 🎨 Add color secondary tints

*  Create `HeaderMessage` component

*  Adjust `InfoTip` component

*  Add `HeaderMessage` to `RunData`

* 🐛 Fix console error

* 👕 Fix lint

*  Consolidate `HeaderMessage` and `Callout`

*  Undo `InfoTip` changes

* 🔥 Remove duplicate icons

*  Simplify template

* 🎨 Change cursor for action text

* 👕 Fix lint

*  Add URL

* 🐛 Fix handler name

*  Use constant

* ♻️ Refactor per feedback

* fix: Various fixes after data pinning relocation.

* fix: Added store mutation for setting pinned data.

* feat: Added pinned state for workflow canvas node.

*  Fixes for canvas pin data (#3587)

*  Fixes for canvas pin data

* 📘 Rename type

* 🧪 Fix unrelated Public API test

* 🔥 Remove logging

* feat: Updated pinData mixin to no longer include extra fields.

* fix: Removed pinData hoisting (no longer necessary).

* chore: Merged duplicate node border color condition.

*  Output same pindata for every run

* 🎨 Fix cropping

* 🐛 Fix excess closing template tag

* fix: Removed rogue template tag after merge.

* fix: Fixed code-editor resizing when moving ndv panel.

* feat: Added node duplication pin data.

*  Implement telemetry

* ♻️ Add clarifications from call

* fix: Fixed run data header height.

* feat: Removed border from pin data callout.

* feat: Added line-break before 'or insert pin data'.

* feat: Changed enterEditMode to always insert test data if there's no execution data.

* feat: Removed copy output tooltip.

* feat: Removed unpin tooltip.

* fix: Removed thumbtack icon rotation.

* fix: Removed run info from Edit Output title.

* feat: Hid edit and pin buttons when editing.

* feat: Updated monaco code-editor padding and borders.

* feat: Progress on pinData error message format

* feat: Updated copy feature to work without any selected value.

* feat: Moved save and cancel buttons. Cleared notifications on save.

* feat: Changed pin data beforeClosing confirm text.

* feat: Closing ndv when discarding or saving pindata on close.

* feat: Added split in batches node to pin data denylist.

* fix: Added missing margin-bottom to webhook node.

* feat: Moved thumbtack icon to the right, replacing the checkmark.

* fix: Hid pagination while editing.

* feat: Added pin data discovery flow.

* feat: Changed pin data discovery flow to avoid tooltip glitching.

* fix: Changed copy selection to copy all input data.

* feat: Updated pin data validation error message for unexpected single quotes.

* fix: Replaced :manual='true' prop with manual shorthand.

* fix: Removed unused variable.

* chore: Renamed translation key to node.discovery.pinData.

* refactor: Extracted isPinDataNodeType to pinData mixin.

* fix: Updated watch condition to improve performance.

* refactor: Renamed some pin data variables and methods as per review.

* fix: Added partial translation for JSON.parse pin data error messages.

* chore: Temporarily disabled failing unit test.

* 🧪 Fix data pinning workflow retrieval test

* 🔥 Remove unused imports

* 🔥 Remove leftover line

*  Skip pindata node issues on BE

*  Skip pindata node issues on FE

*  Hide `RunInfo` for pindata node

*  Hide purple banner in edit output mode

* feat: Updated data pinning discoverability flow.

* fix: Fixed paginated data pinning.

* fix: Disabled pin data in read only mode.

* 🐛 Fix runtime error with non-array

* fix: Loading pin data when opening execution.

*  Adjust stale data warning for pinned data

*  Skip auth in endpoint

*  Mark start node for pinned trigger

* ✏️ Comment on passthrough

* 🔥 Remove comment

* Final pindata metrics changes (#3673)

* 🐛 Fix `pinData` tracked as `0`

*  Add `is_pinned` to `nodesGraph`

* 📘 Extend `IWorkflowBase`

*  Handle `pinData` being `undefined`

*  Add `data_pinning_tooltip_presented`

* ♻️ Refactor to remove circular dependency

* fix: Added pin data handling when importing workflow. (#3698)

* 🔥 Remove helper from WorkflowExecute

*  Add logic for single pinned trigger

* 👕 Remove lint exception

* fix: Added pin data handling in importWorkflowExact.

* N8N-4077 data pinning discoverability part 2 (#3701)

* fix: Fixed pin data discovery tooltip position when moving canvas.

* feat: Updated data pinning discovery tooltip copy.

* Fix data pinning build (#3702)

*  Disable edit button for disabled node

*  Ensure disabled pinned nodes are passthrough

* 🐛 Fix JSON key unfurling in edit mode

*  Improve implementation

* 🐛 Fix console error

* fix: Fixed copying pinned output data. (#3715)

* Fix pinning for webhook responding with output from last node (#3719)

* fix: Fixed entering edit mode after refresh.

* fix: Fixed type error during build.

* fix: RunData import formatting.

* chore: Updated pin data types.

* fix: Added missing type to stringSizeInBytes.

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* fix: Showing pin data without executing the node only in output pane.

* fix: Updated no data message when previous node not executed.

* feat: Added expression input and evaluation for pin data nodes without execution.

* chore: Fixed linting issues and removed remnant console.log().

* chore: Undone package-lock changes.

* fix: Removed pin data store changes.

* fix: Created a new object using vuex runExecutionData.

* fix: Fixed bug appearing when adding a new node after executing.

* fix: Fix editor-ui build

* feat: Added green node connectors when having pin data output.

* chore: Fixed linting errors.

* fix: Added pin data eventBus unsubscribe.

* fix: Added pin data color check after adding a connection.

* 🎨 Add pindata styles

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-07-20 17:50:39 +02:00
Jan Oberhauser c85faff4f1
feat: Make it possible to dynamically load community nodes (#2849)
*  Make it possible to dynamically load node packages

*  Fix comment

*  Make possible to dynamically install nodes from npm

* Created migration for sqlite regarding community nodes

* Saving to db whenever a package with nodes is installed

* Created endpoint to fetch installed packages

* WIP - uninstall package with nodes

* Fix lint issues

* Updating nodes via API

* Lint and improvement fixes

* Created community node helpers and removed packages taht do not contain nodes

* Check for package updates when fetching installed packages

* Blocked access to non-owner and preventing incorrect install of packages

* Added auto healing process

* Unit tests for helpers

* Finishing tests for helpers

* Improved unit tests, refactored more helpers and created integration tests for GET

* Implemented detection of missing packages on init and added warning to frontend settings

* Add check for banned packages and fix broken tests

* Create migrations for other db systems

* Updated with latest changes from master

* Fixed conflict errors

* Improved unit tests, refactored more helpers and created integration tests for GET

* Implemented detection of missing packages on init and added warning to frontend settings

* 🔥 Removing access check for the Settings sidebar item

*  Added inital community nodes settings screen

* Added executionMode flag to settings

*  Implemented N8N-callout component

* 💄Updating Callout component template propery names

* 💄 Updating Callout component styling.

* 💄Updating Callout component sizing and colors.

* ✔️ Updating Callout component test snapshots after styling changes

*  Updating the `ActionBox` component so it supports callouts and conditional button rendering

* 💄 Removing duplicate callout theme validation in the `ActionBox` component. Adding a selection control for it in the storybook.

*  Added warning message if instance is in the queue mode. Updated colors based on the new design.

*  Added a custom permission support to router

* 🔨 Implemented UM detection as a custom permission.

* 👌Updating route permission logic.

*  Implemented installed community packages list in the settings view

* 👌 Updating settings routes rules and community nodes setting view.

* Allow installation of packages that failed to load

* 👌 Updating `ActionBox`, `CommuntyPackageCard` components and settings loading logic.

* 👌 Fixing community nodes loading state and sidebar icon spacing.

*  Implemented loading skeletons for community package cards

* 👌 Handling errrors while loading installed package list. Updating spacing.

* 👌 Updating community nodes error messages.

* Added disable flag

* 🐛 Fixing a community nodes update detection bug when there are missing packages. (#3497)

*  Added front-end support for community nodes feature flag

*  Implemented community package installation modal dialog

* 💄 Community nodes installation modal updates: Moved links to constants and used them in translations, disabling inputs in loading state.

*  Implemented community packages install flow

* Standardize error codes (#3501)

* Standardize error: 400 for request issues such as invalid package name and 500 for installation problems

* Fix http status code for when package is not found

*  Implemented community package installation modal dialog

* 💄 Community nodes installation modal updates: Moved links to constants and used them in translations, disabling inputs in loading state.

*  Implemented community packages install flow

*  Updated error handling based on the response codes

*  Implemented community package installation modal dialog

*  Implemented community package uninstall flow.

*  Finished update confirm modal UI

* 💄 Replaced community nodes tooltip image with the one exported from figma.

*  Implemented community package update process

*  Updating community nodes list after successful package update

* 🔒 Updating public API setting route to use new access rules. Updating express app definition in community nodes tests

*  Implemented community package installation modal dialog

* 💄 Community nodes installation modal updates: Moved links to constants and used them in translations, disabling inputs in loading state.

*  Implemented community packages install flow

*  Updated error handling based on the response codes

* Change output for installation request

* Improve payload for update requests

* 👌 Updating community nodes install modal UI

* 👌 Updating community nodes confirm modal logic

* 👌 Refactoring community nodes confirm modal dialog

* 👌 Separating community nodes components loading states

* 💄 Updating community nodes install modal spacing.

* Fix behavior for installing already installed packages

* 💡 Commenting community nodes install process

* 🔥 Removing leftover commits of deleted Vue mutations

*  Updated node list to identify community nodes and handle node name clash

*  Implemented missing community node dialog.

* 💄 Updating n8n-tabs component to support tooltips

*  Updating node details with community node details.

* 🔨 Using back-end response when updating community packages

* 👌 Updating tabs component and refactoring community nodes store mutations

* 👌 Adding community node flag to node type descriptions and using it to identify community nodes

* 👌 Hiding unnecessary elements from missing node details panel.

* 👌 Updating missing node type descriptions for custom and community nodes

* 👌 Updating community node package name detection logic

* 👌 Removing communityNode flag from node description

*  Adding `force` flag to credentials fetching (#3527)

*  Adding `force` flag to credentials fetching which can be used to skip check when loading credentials

*  Forcing credentials loading when opening nodeView

* 👌 Minor updates to community nodes details panel

* tests for post endpoint

* duplicate comments

* Add Patch and Delete enpoints tests

* 🔒 Using `pageCategory`prop to assemble the list of settings routes instead of hard-coded array (#3562)

* 📈 Added front-end telemetry events for community nodes

* 📈 Updating community nodes telemetry events

* 💄 Updating community nodes settings UI elements based on product/design review

* 💄 Updating node view & node details view for community nodes based on product/design feedback

* 💄 Fixing community node text capitalisation

*  Adding community node install error message under the package name input field

* Fixed and improved tests

* Fix lint issue

* feat: Migrated to npm release of riot-tmpl fork.

* 📈 Updating community nodes telemetry events based on the product review

* 💄 Updating community nodes UI based on the design feedback

* 🔀 Merging recent node draggable panels changes

* Implement self healing process

* Improve error messages for package name requirement and disk space

* 💄 Removing front-end error message override since appropriate response is available from the back-end

* Fix lint issues

* Fix installed node name

* 💄 Removed additional node name parsing

* 📈 Updating community nodes telemetry events

* Fix postgres migration for cascading nodes when package is removed

* Remove postman mock for banned packages

* 📈 Adding missing telemetry event for community node documentation click

* 🐛 Fixing community nodes UI bugs reported during the bug bash

* Fix issue with uninstalling packages not reflecting UI

* 🐛 Fixing a missing node type bug when trying to run a workflow.

* Improve error detection for installing packages

* 💄 Updating community nodes components styling and wording based on the product feedback

* Implement telemetry be events

* Add author name and email to packages

* Fix telemetry be events for community packages

* 📈 Updating front-end telemetry events with community nodes author data

* 💄 Updating credentials documentation link logic to handle community nodes credentials

* 🐛 Fixing draggable panels logic

* Fix duplicate wrong import

* 💄 Hiding community nodes credentials documentation links when they don't contain an absolute URL

* Fix issue with detection of missing packages

* 💄 Adding the `Docs` tab to community nodes

* 💄 Adding a failed loading indicator to community nodes list

* Prevent n8n from crashing on startup

* Refactor and improve code quality

*  Remove not needed depenedency

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Milorad Filipović <milorad@n8n.io>
Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com>
Co-authored-by: agobrech <ael.gobrecht@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
2022-07-20 16:24:03 +02:00
agobrech a02b206170
feat(ERPNext Node): Add credential test and add support for unauthorized certs (#3732)
*  Add cred injection, cred testing, allow unauthorized certs

* Add support for skipping SSL for cred testing

* 📘 Add partial override for request options types (#3739)

* Change field names and fix error handling

* Fix typo

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-07-20 13:50:16 +02:00
Ricardo Espinoza 994c89a6c6
feat: Add support for preAuthentication and add Metabase credentials (#3399)
*  Add preAuthentication method to credentials

* Improvements

*  Improvements

*  Add feedback

* 🔥 Remove comments

*  Add generic type to autheticate method

*  Fix typo

*  Remove console.log and fix indentation

*  Minor improvements

*  Expire credentials in every credential test run

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-07-19 10:09:06 +02:00
Michael Kret 945e25a77c
feat(Shopify Node): Add OAuth support (#3389)
*  wip

*  Add includeAccessTokenInHeader option to OAuth2

* 🔨 fixed build error, fixed trigger node when using token auth

* 🔨 fixed trigger when using oauth2

* 🔨 changed default auth method to access token

*  Improvements

*  Improvements

*  Improvements

*  Rename includeAccessTokenInHeader to keyToIncludeInAccessTokenHeader

*  Assign values to only header property

* 🔥 Remove unreachable code

*  Add keyToIncludeInAccessTokenHeader when isN8nRequest

*  Add CC grant type when isN8nRequest

Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
2022-07-15 10:36:01 +02:00
Jan Oberhauser af8ec94bf9 🔖 Release n8n-workflow@0.108.0 2022-07-13 07:56:36 +00:00
pemontto c6e90d15b5
feat(Elasticsearch Node): Add credential tests, index pipelines and index refresh (#2420)
* 🐛 ES query string not passed to request

* 🔑 Add ES credential test

*  Add ES index pipelines and index refresh

* 🔨 merge fix

*  renamed additional filds as options

*  added ignore ssl to credentials

*  Improvements

*  Improvements

* feat(Redis Node): Add push and pop operations (#3127)

*  Add push and pop operations

*  linter fixes

*  linter fixes

* 🐛 Fix errors and remove overwrite

* 🐛 Remove errant hint

*  Small change

Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>

* refactor: Telemetry updates (#3529)

* Init unit tests for telemetry

* Update telemetry tests

* Test Workflow execution errored event

* Add new tracking logic in pulse

* cleanup

* interfaces

* Add event_version for Workflow execution count event

* add version_cli in all events

* add user saved credentials event

* update manual wf exec finished, fixes

* improve typings, lint

* add node_graph_string in User clicked execute workflow button event

* add User set node operation or mode event

* Add instance started event in FE

* Add User clicked retry execution button event

* add expression editor event

* add input node type to add node event

* add User stopped workflow execution wvent

* add error message in saved credential event

* update stop execution event

* add execution preflight event

* Remove instance started even tfrom FE, add session started to FE,BE

* improve typing

* remove node_graph as property from all events

* move back from default export

* move psl npm package to cli package

* cr

* update webhook node domain logic

* fix is_valid for User saved credentials event

* fix Expression Editor variable selector event

* add caused_by_credential in preflight event

* undo webhook_domain

* change node_type to full type

* add webhook_domain property in manual execution event (#3680)

* add webhook_domain property in manual execution event

* lint fix

* feat(SpreadsheetFile Node): Allow skipping headers when writing spreadsheets (#3234)

*  Allow skipping headers when writing spreadsheets

* Fix type on sheet options

* fix(Telegram Node): Fix sending binaryData media (photo, document, video etc.) (#3408)

* fixed send media (photo, document, video etc.) issues on Telegram Node

* fixed send media (photo, document, video etc.) issues on Telegram Node

* file name is optional now

*  lock file and linter fix

*  improvements

*  fixes

*  Improvements

*  Add placeholder to File Name

*  Add error message

* 🔥 Remove requestWithAuthentication

*  Fix typo

* 👕 Fix linting issues

Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>

* feat(Freshworks CRM Node): Add Search + Lookup functionality (#3131)

* Add fields and Ops for Lookup Search

* Adds Search (Search + Lookup) operations

* 🔨 credentials update

* 🔨 improvements

*  clean up and linter fixes

*  merged search and query, more hints

*  Improvements

*  Add generic type to authentication method

Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>

* feat(Jira Trigger Node): Add optional query auth for security (#3172)

*  Add query auth for Jira Trigger security

*  small fixes:

*  Response with 403 when invalid query authentication

* 👕 Fix linting issues

Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>

*  Changed authentication to use the generic type

Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Ahsan Virani <ahsan.virani@gmail.com>
Co-authored-by: Nicholas Penree <nick@penree.com>
Co-authored-by: Taha Sönmez <35905778+tahasonmez@users.noreply.github.com>
Co-authored-by: Jan Thiel <JanThiel@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-07-10 12:00:47 +03:00
Ahsan Virani 6b2db8e4f4
refactor: Telemetry updates (#3529)
* Init unit tests for telemetry

* Update telemetry tests

* Test Workflow execution errored event

* Add new tracking logic in pulse

* cleanup

* interfaces

* Add event_version for Workflow execution count event

* add version_cli in all events

* add user saved credentials event

* update manual wf exec finished, fixes

* improve typings, lint

* add node_graph_string in User clicked execute workflow button event

* add User set node operation or mode event

* Add instance started event in FE

* Add User clicked retry execution button event

* add expression editor event

* add input node type to add node event

* add User stopped workflow execution wvent

* add error message in saved credential event

* update stop execution event

* add execution preflight event

* Remove instance started even tfrom FE, add session started to FE,BE

* improve typing

* remove node_graph as property from all events

* move back from default export

* move psl npm package to cli package

* cr

* update webhook node domain logic

* fix is_valid for User saved credentials event

* fix Expression Editor variable selector event

* add caused_by_credential in preflight event

* undo webhook_domain

* change node_type to full type

* add webhook_domain property in manual execution event (#3680)

* add webhook_domain property in manual execution event

* lint fix
2022-07-10 09:53:04 +03:00
Jan Oberhauser 91339c906f 🔖 Release n8n-workflow@0.107.0 2022-07-05 07:45:40 +00:00
Omar Ajoue 088daf952e
feat(Google Ads Node): Add new node (#3526)
* Add basic layout with icon for Google Ads

* Add node versioning(V1)

* Add node and credential to package

* Add basic layout with icon for Google Ads

* Add node versioning(V1)

* Add node and credential to package

* Add api call to getall

* Fix formdata in the body for the request

* N8N-2928 Added custom queries to campaign

* Fix header bug and add developer-token field

* Add operation and fields to campaign new format

* Add more configurations and queries

* Add Invoice ressources and operations

* Remov old version from the node

* Fixed bud with typo

* Correctly prepends the baseURL

* add query to invocie request

* Fixes header not parsing the expression

* Invoice param changes

* Fixes bug related to headers not being parsed, and bug with auth

* Remove useless imports

* Added analytics to google ad node and removed useless header

* Removed url for testing

* Fixed inconsistent behaviour with the access token not being refreshed

* Added placeholders to help user

* Removed useless comments

* Resolved name confusion

* Added support for body in a GET method

* Removed hyphens, parse body's expression

* Renamed operation for clarity

* Remove unused code

* Removed invoice resource and fixed bug with body and headers

The invoice operation was removed since it does not reflect
what a user would expect from it. Google ADS invoices are
only used for big advertisers where invoicing is performed
after the end of the month and for big sums. This would
be misleading for the majority of the users expecting
an expenses report.

Also fixed a bug with header and body being sent since it
was broken for multiple input rows. The first execution
would override all others.

Lastly, made some improvements to the node itself by
transforming data, adding filters and operations.

* Improve campagin operation and remove analytics; fix tests

* Improve tooltips and descriptions

* Fix lint issues

* Improve tooltip to explain amounts in micros

* Change wording for micros

* Change the fix to a more elegant solution

Co-authored-by: Cyril Gobrecht <cyril.gobrecht@gmail.com>
Co-authored-by: Aël Gobrecht <ael.gobrecht@gmail.com>
2022-07-04 22:47:50 +02:00
Iván Ovejero 3c659682e9
feat(core): Add action to INodePropertyOptions (#3610)
* 📘 Add `action` to `INodeProperties`

* 📘 Add `action` to `INodePropertyOptions`

* 🔥 Remove unneeded key
2022-07-04 21:54:56 +02:00
Jan Oberhauser 0f56bd0037 🔖 Release n8n-workflow@0.106.0 2022-06-29 07:18:50 +00:00
Jan Oberhauser 86721fc496
feat(core) Simplify authentication type (#3578)
*  Add generic auth type

*  Remove queryAuth

*  Remove bearer

*  Remove headerAuth

*  Remove basicAuth

*  Adjust tests

*  Small improvements

* 👕 Fix lint issue
2022-06-26 15:55:51 -07:00
brianinoa 1e4fd9e4df
feat(core): Expose item index being processed (#3590)
* 🧑‍💻 Expose item index being processed

*  Fix tests for getCurrentItemIndex

*  Fix tests for getCurrentItemIndex

*  Rename method

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-06-26 15:52:37 -07:00
Alex Grozav 891844ea8b
feat: Migrated to npm release of riot-tmpl fork (#3581)
* feat: Migrated to npm release of riot-tmpl fork.

* fix: Updated imports to use @n8n_io/riot-tmpl

* fix: Fixed Logger.ts types.

Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
2022-06-23 07:07:56 -07:00
Jan Oberhauser 154dbc2009 🔖 Release n8n-workflow@0.105.0 2022-06-20 23:57:46 +00:00
Ben Hesseldieck 6f4a5039e0
⬆️ Upgrade multiple dependencies (#3547)
* ⬆️ upgrade typeorm

* ⬆️ upgrade @types/node

* ⬆️ upgrade mssql

* ⬆️ upgrade monaco-editor to 0.30.1

* ️ update package-lock

Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-06-20 15:17:18 -07:00
Mutasem Aldmour a2f628927d
feat(editor): Improve trigger panel (#3509)
* add panel

* add workflow activation hints

* support service trigger nodes

* update polling state

* support more views

* update when trigger panel shows

* update start/error nodes

* add cron/interval info box

* clean up start node

* fix up webhook views

* remove console log

* add listening state

* clean up loading state

* update loading state

* fix up animation

* update views

* add executions hint

* update views

* update accordian styling

* address more issues

* disable execute button if issues

* disable if it has issues

* add stop waiting button

* can activate workflow when dsiabled

* update el

* fix has issues

* add margin bttm

* update views

* close ndv

* add shake

* update copies

* add error when polling node is missing one

* update package lock

* hide switch

* hide binary data that's missing keys

* hide main bar if ndv is open

* remove waiting to execute

* change accordion bg color

* capitalize text

* disable trigger panel in read only views

* remove webhook title

* update webhook desc

* update component

* update webhook executions note

* update header

* update webhook url

* update exec help

* bring back waiting to execute for non triggers

* add transition fade

* set shake

* add helpful tooltip

* add nonactive text

* add inactive text

* hide trigger panel by default

* remove unused import

* update pulse animation

* handle empty values for options

* update text

* add flag for mock manual executions

* add overrides

* Add overrides

* update check

* update package lock; show button for others

* hide more info

* update other core nodes

* update service name

* remove panel from nodes

* update panel

* last tweaks

* add telemetry event

* add telemetry; address issues

* address feedback

* address feedback

* address feedback

* fix previous

* fix previous

* fix bug

* fix bug with webhookbased

* add extra break

* update telemetry

* update telemetry

* add telemetry req

* add info icon story; use icon component

* clean css; en.json

* clean en.json

* rename key

* add key

* sort keys alpha

* handle activation if active + add previous state to telemetry

* stop activation if active

* remove unnessary tracking

* remove unused import

* remove unused

* remove unnessary flag

* rewrite in ts

* move pulse to design system

* clean up

* clean up

* clean up

* disable tslint check

* disable tslint check
2022-06-20 12:39:24 -07:00
Alex Grozav d18a29d588
fix(core): Updated expressions allowlist and denylist. (#3424)
* feat: Updated expressions allowlist and denylist.

* test: Added unit tests for expression allow and deny list.

* feat: Updated riot-tmpl to be installed from n8n fork.

* fix: Added check for non-standard browser built-in.

* chore: Removed package-lock.json from branch.

* chore: Removed package-lock.json from branch.

* chore: Added jest-environment-jsdom@27
2022-06-17 22:09:37 -07:00
Ricardo Espinoza 1bef4df75f
fix(core): Return correct error message if Axios error (#3478) 2022-06-17 21:39:49 -07:00
Jan Oberhauser e435d1a5c1 🔖 Release n8n-workflow@0.104.0 2022-06-14 17:04:31 +00:00
Ricardo Espinoza e29c5975e1
feat(core): Add "Client Credentials" grant type to OAuth2 (#3489)
*  Add OAuth2 client credentials grant type

*  Improvements

* 🐛 Fix linting issue

* 🐛 Fix typo

* 🐛 Fix small issue with type

* 🐛 When token expire get a new one instead of refreshing it

*  Fix issue that it did not display it correctly for OAuth1

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-06-13 22:27:19 -07:00
Jan Oberhauser 9ff57629c5
fix(core): Fix issue with combined expression not resolving if one is invalid (#3506) 2022-06-13 20:48:02 +02:00
Jan Oberhauser 04f0bf5b65 fix(core): Fix issue that parameters got lost in some edge cases 2022-06-11 18:12:04 +02:00
Jan Oberhauser 0bc790f605 🔖 Release n8n-workflow@0.103.0 2022-06-08 19:19:40 +00:00
Jan Oberhauser ddb3baa4ed feat(core): Make it possible to block access to environment variables 2022-06-08 21:06:38 +02:00
Jan Oberhauser 1999f4b066 fix(core): Properly resolve expressions in declarative node design 2022-06-08 18:16:55 +02:00
Jan Oberhauser 2d4cfee175 🔖 Release n8n-workflow@0.102.0 2022-06-07 19:38:12 +00:00
Jan Oberhauser b36c290d78 refactor(core): Emit different error for issue in execution or trigger 2022-06-07 15:43:47 +02:00
Jan Oberhauser ca92ff70d7
fix(core): Allow "window" again in expressions (#3474) 2022-06-07 09:24:11 +02:00
Jan Oberhauser b5535e4a62
feat(core): Run Error Workflow also on trigger activation error (#3470)
* feat(core): Run Error Workflow also when workflow gets deactivated
or could not be activated on startup because of error
R#

*  Add missing file
2022-06-06 09:17:35 +02:00
Jan Oberhauser bdb84130d6
feat(core): Add support for pairedItem (beta) (#3012)
*  Add pairedItem support

* 👕 Fix lint issue

* 🐛 Fix resolution in frontend

* 🐛 Fix resolution issue

* 🐛 Fix resolution in frontend

* 🐛 Fix another resolution issue in frontend

*  Try to automatically add pairedItem data if possible

*  Cleanup

*  Display expression errors in editor UI

* 🐛 Fix issue that it did not display errors in production

* 🐛 Fix auto-fix of missing pairedItem data

* 🐛 Fix frontend resolution for not executed nodes

*  Fail execution on pairedItem resolve issue and display information
about itemIndex and runIndex

*  Allow that pairedItem is only set to number if runIndex is 0

*  Improve Expression Errors

*  Remove no longer needed code

*  Make errors more helpful

*  Add additional errors

* 👕 Fix lint issue

*  Add pairedItem support to core nodes

*  Improve support in Merge-Node

*  Fix issue with not correctly converted incoming pairedItem data

* 🐛 Fix frontend resolve issue

* 🐛 Fix frontend parameter name display issue

*  Improve errors

* 👕 Fix lint issue

*  Improve errors

*  Make it possible to display parameter name in error messages

*  Improve error messages

*  Fix error message

*  Improve error messages

*  Add another error message

*  Simplify
2022-06-03 17:25:07 +02:00
Jan Oberhauser ba74e9c875 🔖 Release n8n-workflow@0.101.0 2022-05-30 12:08:11 +00:00
Jan Oberhauser b851289001
feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385)
* feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent
processing configurable

*  Make sure that messages do not get executed multiple times

* 👕 Fix lint issue

* 🐛 Fix issue that for manual executions in "own" mode messages got
know acknowledged

*  Increment count now that console.log got removed

*  Improvements

*  Fix default value

*  Improve display name
2022-05-30 12:16:44 +02:00
Alex Grozav 993554f22a
fix(core): Prevent expressions XSS (#3366)
*  Added checks for window object access in template strings.

*  Added self, prompt and confirm to blocklist. Changed window usage condition.
2022-05-27 17:00:51 +02:00
Jan Oberhauser faccefcfa6 🔖 Release n8n-workflow@0.100.0 2022-05-24 09:47:08 +00:00
Iván Ovejero 336fc9e2a8
feat(core): Allow credential reuse on HTTP Request node (#3228)
*  Create controller

*  Mount controller

* ✏️ Add error messages

*  Create scopes fetcher

*  Account for non-existent credential type

* 📘 Type scopes request

*  Adjust error message

* 🧪 Add tests

*  Introduce simple node versioning

*  Add example how to read version in node-code for custom logic

* 🐛 Fix setting of parameters

* 🐛 Fix another instance where it sets the wrong parameter

*  Remove unnecessary TOODs

*  Re-version HTTP Request node

* 👕 Satisfy linter

*  Retrieve node version

*  Undo Jan's changes to Set node

* 🧪 Fix CI/CD for `/oauth2-credential` tests (#3230)

* 🐛 Fix notice warning missing background color (#3231)

* 🐛 Check for generic auth in node cred types

*  Refactor credentials dropdown for HTTP Request node (#3222)

*  Discoverability flow (#3229)

*  Added node credentials type proxy. Changed node credentials input order.

*  Add computed property from versioning branch

* 🐛 Fix cred ref lost and unsaved

*  Make options consistent with cred type names

*  Use prop to set component order

*  Use constant and version

*  Fix rendering for generic auth creds

*  Mark as required on first selection

*  Implement discoverability flow

*  Mark as required on subsequent selections

*  Fix marking as required after cred deletion

*  Refactor to clean up

*  Detect position automatically

*  Add i18n to option label

*  Hide subtitle for custom action

*  Detect active credential type

*  Prop drilling to re-render select

* 🔥 Remove unneeded property

* ✏️ Rename arg

* 🔥 Remove unused import

* 🔥 Remove unneeded getters

* 🔥 Remove unused import

*  Generalize cred component positioning

*  Set up request

* 🐛 Fix edge case in endpoint

*  Display scopes alert box

*  Revert "Generalize cred comp positioning"

This reverts commit 75eea89273.

*  Consolidate HTTPRN check

*  Fix hue percentage to degree

* 🔥 Remove unused import

* 🔥 Remove unused import

* 🔥 Remove unused class

* 🔥 Remove unused import

* 📘 Create type for HTTPRN v2 auth params

* ✏️ Rename check

* 🔥 Remove unused import

* ✏️ Add i18n to `reportUnsetCredential()`

*  Refactor Alex's spacing changes

*  Post-merge fixes

*  Add docs link

* 🔥 Exclude Notion OAuth cred

* ✏️ Update copy

* ✏️ Rename param

* 🎨 Reposition notice and simplify styling

* ✏️ Update copy

* ✏️ Update copy

*  Hide params during custom action

*  Show notice if any cred type supported

* 🐛 Prevent scopes text overflow

* 🔥 Remove superfluous check

* ✏️ Break up docstring

* 🎨 Tweak notice styling

*  Reorder cred param in Webhook node

* ✏️ Shorten cred name in scopes notice

* 🧪 Update Notice snapshots

* 🐛 Fix check when `globalRole` is `undefined`

*  Revert 3f2c4a6

*  Apply feedback from Product

* 🧪 Update snapshot

*  Adjust regex expansion pattern for singular

* 🔥 Remove unused import

* 🔥 Remove logging

*  Make `somethingElse` key more unique

*  Move something else to constants

*  Consolidate notice component

*  Apply latest feedback

* 🧪 Update tests

* 🧪 Update snapshot

* ✏️ Fix singular version

* 🧪 Finalize tests

* ✏️ Rename constant

* 🧪 Expand tests

* 🔥 Remove `truncate` prop

* 🚚 Move scopes fetching to store

* 🚚 Move method to component

*  Use constant

*  Refactor `Notice` component

* 🧪 Update tests

* 🔥 Remove unused keys

*  Inject custom API call option

* 🔥 Remove unused props

* 🎨 Use `compact` prop

* 🧪 Update snapshots

* 🚚 Move scopes to store

* 🚚 Move `nodeCredentialTypes` to parent

* ✏️ Rename cred types per branding

* 🐛 Clear scopes when none

*  Add default

* 🚚 Move `newHttpRequestNodeCredentialType` to parent

* 🔥 Remove test data

*  Separate lines for readability

*  Change reference from node to node name

* ✏️ Rename i18n keys

*  Refactor OAuth check

* 🔥 Remove unused key

* 🚚 Move `OAuth1/2 API` to i18n

*  Refactor `skipCheck`

*  Add `stopPropagation` and `preventDefault`

* 🚚 Move active credential scopes logic to store

* 🎨 Fix spacing for `NodeWebhooks` component

*  Implement feedback

*  Update HTTPRN default and issue copy

* Refactor to use `CredentialsSelect` param (#3304)

*  Refactor into cred type param

*  Componentize scopes notice

* 🔥 Remove unused data

* 🔥 Remove unused `loadOptions`

*  Componentize `NodeCredentialType`

* 🐛 Fix param validation

* 🔥 Remove dup methods

*  Refactor all references to `isHttpRequestNodeV2`

* 🎨 Fix styling

* 🔥 Remove unused import

* 🔥 Remove unused properties

* 🎨 Fix spacing for Pipedrive Trigger node

* 🎨 Undo Webhook node styling change

* 🔥 Remove unused style

*  Cover `httpHeaderAuth` edge case

* 🐛 Fix `this.node` reference

* 🚚 Rename to `credentialsSelect`

* 🐛 Fix mistaken renaming

*  Set one attribute per line

*  Move condition to instantiation site

* 🚚 Rename prop

*  Refactor away `prepareScopesNotice`

* ✏️ Rename i18n keys

* ✏️ Update i18n calls

* ✏️ Add more i18n keys

* 🔥 Remove unused props

* ✏️ Add explanatory comment

*  Adjust check in `hasProxyAuth`

*  Refactor `credentialSelected` from prop to event

*  Eventify `valueChanged`, `setFocus`, `onBlur`

*  Eventify `optionSelected`

*  Add `noDataExpression`

* 🔥 Remove logging

* 🔥 Remove URL from scopes

*  Disregard expressions for display

* 🎨 Use CSS modules

* 📘 Tigthen interface

* 🐛 Fix generic auth display

* 🐛 Fix generic auth validation

* 📘 Loosen type

* 🚚 Move event params to end

*  Generalize reference

*  Refactor generic auth as `credentialsSelect` param

*  Restore check for `httpHeaderAuth `

* 🚚 Rename `existing` to `predefined`

* Extend metrics for HTTP Request node (#3282)

*  Extend metrics

* 🧪 Add tests

*  Update param names

Co-authored-by: Alex Grozav <alex@grozav.com>

*  Update check per new branch

*  Include generic auth check

*  Adjust telemetry (#3359)

*  Filter credential types by label

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
2022-05-24 11:36:19 +02:00
Mutasem Aldmour 3af0abd9e0
feat(editor): Add input panel to NDV (#3204)
* refactor tabs out

* refactor execute button

* refactor header

* add more views

* fix error view

* fix workflow rename bug

* rename component

* fix small screen bug

* move items, fix positions

* add hover state

* show selector on empty state

* add empty run state

* fix binary view

* 1 item

* add vjs styles

* show empty row for every item

* refactor tabs

* add branch names

* fix spacing

* fix up spacing

* add run selector

* fix positioning

* clean up

* increase width of selector

* fix up spacing

* fix copy button

* fix branch naming; type issues

* fix docs in custom nodes

* add type

* hide items when run selector is shown

* increase selector size

* add select prepend

* clean up a bit

* Add pagination

* add stale icon

* enable stale data in execution run

* Revert "enable stale data in execution run"

8edb68dbff

* move metadata to its own state

* fix smaller size

* add scroll buttons

* update tabs on resize

* update stale data on rename

* remove metadata on delete

* hide x

* change title colors

* binary data classes

* remove duplicate css

* add colors

* delete unused keys

* use event bus

* refactor header out

* support different nodes

* update selector

* add immediate input

* add branch overrides

* split output input run index

* clean up unnessary data

* add missing keys

* update key names

* remove unnessary css/js

* fix outputs panel

* set max width on input selector

* fix selector to show parent nodes

* fix bug when switching between nodes

* add linking and refactor

* add linking

* fix minor issues

* hide linking when cannot link

* fix type

* fix error state

* clean up import

* fix linking edge cases

* hide input panel for triggers

* disable for start node

* format file

* refactor output panel

* add empty input hint

* update too much data view

* update slot, message under branch

* no input data view

* add node not run/no output data views

* add tooltip support on execute prev

* fix spacing in view

* address output views

* fix run node hint view

* fix spinner

* center button

* update message to use node name

* update title of no output data message

* implement loading states

* fix sizes

* fix sizes

* update spinner

* add wire me up image

* update link

* update panels design

* fix unclickable area bug

* revert change

* fix clickable bg

* fix up positioning

* ensure bg is clickable

* fix up borders

* fix height

* move border to wrapper

* set box shadow

* set box shadow

* add drag button

* add dragging for main panel

* set max width of panels

* set min width in js

* keep showing drag while dragging

* fix dragging leaving modal

* update trigger position of main panel

* move main panel position into store

* clear metadata after changing workflow

* center grid correctly

* add drag arrows

* add dragging hover

* fix cursor behavior

* update no output state

* show last run on open

* always set to latest run

* fix padding

* add I wish this node would

* clean up unsued data

* inject run info into run

* refactor out drag button

* fix dragging issue

* fix arrow bug

* increase width of panel

* change run logic

* set label font sizes

* update radiobutton pos

* address header issues

* fix prev spacing bug

* fix input order

* set package lock

* add close modal event

* complete close modal event

* add input change event

* add dragging event

* add event on view change

* add page size event

* rename event

* add event on page change

* add link click event

* add linking event

* rename var

* add run change event

* add button events

* add branch event

* add structure for open event

* add input type

* set session id

* set sessionid/source for expression events

* add params to expression events

* make display modes global

* add display mode to tracking

* add more event tracking

* add has_mapping param

* make main panel position global

* dedupe list

* fix cursor while dragging

* address feedback

* reduce bottom scrim

* remove empty option hint

* add hint tooltip

* add tritary button

* update param names

* update parameter buttons

* center empty states

* move feature request message

* increase max width for inputs selector

* fix error dispaly padding

* remove immediate

* refactor search logic to return object

* fix console errors

* fix console errors

* add node distance

* refactor how input nodes listed

* remove console log

* set package lock

* refactor recursive logic

* handle overrides

* handle default case without inputs

* fix bug width link

* fix tabs arrow bug

* handle binary data case

* update node execution

* fix merge logic

* remove console log

* delete func

* update package lock

* add hover area

* switch first input node

* keep recursive order

* make breadth first traversal

* fix overflow bug, add pluralization

* update docs url

* update drop shadow

* set background color for button

* update input

* fix truncation

* update index of input dropdown

* fix binary background

* update telemetry

* fix binary data switching

* check all parent connections for executed node

* check current state for executing node

* fix executing states

* update loading states

* use pluralization for items

* rename modal

* update pluralization

* update package lock

* update empty messagE

* format file

* refactor out dragging logic

* refactor out dragging

* add back panel position

* add telemetry params

* add survey url as const

* remove extra space, add dot

* rename tabs, update telemetery, fix telemetry bug

* update execute prev button

* rename workflow func

* rename workflow func

* delete unnessary component

* fix build issue

* add tests for workflow search

* format + add tests

* remove todo comment

* update iconnection type to match workflows

* Revert "update iconnection type to match workflows"

3772487d98

* update func comment

* fix formatting issues

* add tertiary story

* add spinner story

* remove todo comment

* remove eslint check

* update empty messagE
2022-05-23 17:56:15 +02:00
Jan Oberhauser 288ad362ed 🔖 Release n8n-workflow@0.99.0 2022-05-16 16:29:34 +00:00