Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

import/export tags #3130

Merged
merged 36 commits into from
Jun 2, 2022
Merged

import/export tags #3130

merged 36 commits into from
Jun 2, 2022

Conversation

mutdmour
Copy link
Contributor

@mutdmour mutdmour commented Apr 13, 2022

Lucaber and others added 6 commits March 21, 2022 11:47
Support exporting and importing tags of workflows via frontend and cli.

On export, all tag data is included in the json.
- id
- name
- updatedAt
- createdAt

When importing a workflow json to n8n we:
- first check if a tag with the same id and createdAt date exists in the
  database, then we can assume the tag is identical. Changes on the name
  of the tag are now preserved.
- check if a tag with the same name exists on the database.
- create a new tag with the given name.
@Joffcom Joffcom added n8n team Authored by the n8n team core Enhancement outside /nodes-base and /editor-ui ui Enhancement in /editor-ui or /design-system labels Apr 13, 2022
@mutdmour mutdmour requested a review from ivov May 23, 2022 15:16
Copy link
Contributor

@ivov ivov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Long-time requested feature, thanks for taking this on.

packages/cli/commands/import/workflow.ts Outdated Show resolved Hide resolved
packages/cli/src/TagHelpers.ts Outdated Show resolved Hide resolved
packages/editor-ui/src/views/NodeView.vue Outdated Show resolved Hide resolved
packages/cli/commands/import/workflow.ts Show resolved Hide resolved
packages/cli/commands/import/workflow.ts Outdated Show resolved Hide resolved
packages/editor-ui/src/views/NodeView.vue Outdated Show resolved Hide resolved
packages/editor-ui/src/views/NodeView.vue Outdated Show resolved Hide resolved
packages/cli/src/TagHelpers.ts Outdated Show resolved Hide resolved
packages/cli/src/TagHelpers.ts Show resolved Hide resolved
packages/cli/src/TagHelpers.ts Outdated Show resolved Hide resolved
@ivov
Copy link
Contributor

ivov commented May 24, 2022

Export tests

  • Single-file export via CLI: packages/cli/bin/n8n export:workflow --all --input=wf.json --pretty → Pass: JSON contains correct tags
  • Multi-file export via CLI: packages/cli/bin/n8n export:workflow --all --separate --output=mydir --pretty → Pass: JSON contains correct tags
  • Single-workflow export via UI → Pass: JSON contains correct tags

Import tests

  • Single-file import via CLI: packages/cli/bin/n8n import:workflow --input=wfs.json → Fail: Single file containing two workflows, each workflow referencing the same tag, triggers SQLITE_CONSTRAINT: UNIQUE constraint failed: tag_entity.name. Example: [{ "id": 1, ..., "tags": [ { "name": "tagX", ... } ] }, { "id": 2, ..., "tags": [ { "name": "tagX", ... } ] }]
  • Multi-file import via CLI: packages/cli/bin/n8n import:workflow --separate --input=mydir → Fail: Multiple files, each containing a workflow referencing the same tag, triggers SQLITE_CONSTRAINT: UNIQUE constraint failed: tag_entity.name. Example: { "id": 1, ..., "tags": [ { "name": "tagX", ... } ] } and { "id": 2, ..., "tags": [ { "name": "tagX", ... } ] }
  • Single-workflow import via UI → Pass: Displayed workflow is correctly tagged. (But imported workflow is not named per JSON - unclear if it should be.)

packages/cli/commands/import/workflow.ts Show resolved Hide resolved
packages/cli/commands/import/workflow.ts Outdated Show resolved Hide resolved
packages/cli/commands/import/workflow.ts Outdated Show resolved Hide resolved
packages/editor-ui/src/views/NodeView.vue Show resolved Hide resolved
packages/editor-ui/src/views/NodeView.vue Show resolved Hide resolved
@ivov
Copy link
Contributor

ivov commented May 27, 2022

Import tests

Single-file import via CLI: packages/cli/bin/n8n import:workflow --input=wfs.json with two workflows having a shared tag

  • Pass on sqlite
  • Fail on mysql: An error occurred while importing workflows. See log messages for details. Duplicate entry 'tagX' for key 'tag_entity.IDX_8f949d7a3a984759044054e89b'
  • Fail on postgres: An error occurred while importing workflows. See log messages for details. duplicate key value violates unique constraint "idx_812eb05f7451ca757fb98444ce"

Multi-file import via CLI: packages/cli/bin/n8n import:workflow --separate --input=mydir with two workflows having a shared tag

  • Pass on sqlite
  • Fail on mysql: An error occurred while importing workflows. See log messages for details. Duplicate entry 'tagX' for key 'tag_entity.IDX_8f949d7a3a984759044054e89b'
  • Fail on postgres: An error occurred while importing workflows. See log messages for details. duplicate key value violates unique constraint "idx_812eb05f7451ca757fb98444ce"

Single-workflow import via UI from file

  • Pass on sqlite, mysql, postgres: Tags saved correctly, but workflow name not set from JSON. (Not clear if workflow name not set from JSON is intended behavior.)

Single-workflow import via UI from URL

  • Did not test, same logic as importing from file import.

Export tests

All-workflows export via CLI: packages/cli/bin/n8n export:workflow --all --output=all.json --pretty

  • Pass on sqlite: JSON contains correct tags
  • Pass on mysql: JSON contains correct tags
  • Pass on postgres: JSON contains correct tags

Single-workflow export via CLI: packages/cli/bin/n8n export:workflow --id=1 --output=1.json --pretty

  • Pass on sqlite: JSON contains correct tags
  • Pass on mysql: JSON contains correct tags
  • Pass on postgres: JSON contains correct tags

@mutdmour mutdmour requested a review from ivov May 31, 2022 07:46
@janober janober merged commit 15a20d2 into master Jun 2, 2022
@janober janober deleted the lucaber-import-tags branch June 2, 2022 10:39
@janober janober added the Upcoming Release Will be part of the upcoming release label Jun 2, 2022
@janober
Copy link
Member

janober commented Jun 2, 2022

Great, thanks a lot. Got merged.

simshaun pushed a commit to simshaun/n8n that referenced this pull request Jun 4, 2022
* Export and Import Workflow Tags

Support exporting and importing tags of workflows via frontend and cli.

On export, all tag data is included in the json.
- id
- name
- updatedAt
- createdAt

When importing a workflow json to n8n we:
- first check if a tag with the same id and createdAt date exists in the
  database, then we can assume the tag is identical. Changes on the name
  of the tag are now preserved.
- check if a tag with the same name exists on the database.
- create a new tag with the given name.

* clean up fe export

* remove usage count

* return updatedat, createdat

* fix tags import

* move logic from workflow package

* refactor import

* check for tags before import

* update checks on type

* fix on import

* fix build issues

* fix type issue

* remove unnessary ?

* update tag helpers so only name is required

* fix tag import

* add don't replace existing tags

* fix build issue

* address comments

* fix with promise.all

* update setting tags

* update check

* fix existing check

* add helper

* fix duplication

* fix multiple same tags bug

* fix db bugs

* add more validation on workflow type

* fix validation

* disable importing tags on copy paste

Co-authored-by: Luca Berneking <l.berneking@mittwald.de>
janober added a commit that referenced this pull request Jun 5, 2022
* options and operations added

* IT WORKS!

* Added ReturnALL to GET method

* comit for PR

* updating shared operations

* (AWS): Allow only valid values of Region in the credentials modal

* fix(core): Fix issue that "closeFunction" got called twice

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

* fix(editor): Fix conflicting hover states between sticky button and node view (#3368)

* 🐛 Fixing conflicting hover states between sticky button and node view.

* 🔨 Updating and optimizing sticky menu hover logic

* 📇 Removing redundant comments from `NodeView`.

* fix(editor): Fix credential display bug (#3372)

* ⚡ Filter credentials by version

* ⚡ Reuse helper

* fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386)

* initial fix for v24 folder listing

* implemented new credential methods

* Nodelinter fixes

* feat(PostBin Node): Add PostBin node  (#3236)

* 🚧 Initial progress on PostBin node.

* ✨ Implemented Bin and Request operations for PostBin node.

* 🚧 Reworked the node in the declarative way.

* 🚧 PosBin node refactoring after reworking it.

* ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation.

* ⚡ Improvements

* ⚡ Add comments

* 👌Updating the PostBin node based on the product review

* 💄Updating PostBin node Bin ID validation logic

* ⚡ Small improvements

* ⚡ Transform the bin requests and add additional properties

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>

* feat(Todoist Node): Add support for specifying the parent task when adding and listing tasks (#3161)

* Todoist: Update parent field to parent_id

`parent` is deprecated.

* Todoist: Move Labels to "additional fields" when adding a task

Improves consistency with other operations.

* Todoist: Improve section re-load when switching projects

It only worked when creating tasks, due to naming and nesting
inconsistencies between different operations. Making it consistent
adds predictability and allows reuse between operations.

* Todoist: Add support for parent_id when creating and listing tasks

* ⚡ fixes

* ⚡ test credentials fix

* ⚡ parameters naming fix

* ⚡ undo for breaking change

* feat(Salesforce Node): Add country field (#3314)

* fix(Slack Node): Fix Channel->Kick (#3365)

* 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 75eea89.

* ⚡ 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>

* ⬆️ Update package-lock.json file

* 🔖 Release n8n-workflow@0.100.0

* ⬆️ Set n8n-workflow@0.100.0 on n8n-core

* 🔖 Release n8n-core@0.118.0

* ⬆️ Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-node-dev

* 🔖 Release n8n-node-dev@0.57.0

* ⬆️ Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-nodes-base

* 🔖 Release n8n-nodes-base@0.176.0

* 🔖 Release n8n-design-system@0.21.0

* ⬆️ Set n8n-design-system@0.21.0 and n8n-workflow@0.100.0 on n8n-editor-ui

* 🔖 Release n8n-editor-ui@0.144.0

* ⬆️ Set n8n-core@0.118.0, n8n-editor-ui@0.144.0, n8n-nodes-base@0.176.0 and n8n-workflow@0.100.0 on n8n

* 🔖 Release n8n@0.178.0

* 🔖 Update main package.json to 0.178.0

* 📚 Update CHANGELOG.md with version 0.178.0

* fix(editor): Fix problem with HTTP Request Node 1 credentials to be set (#3371)

* 🔖 Release n8n-editor-ui@0.144.1

* ⬆️ Set n8n-editor-ui@0.144.1 on n8n

* 🔖 Release n8n@0.178.1

* 🔖 Update main package.json to 0.178.1

* 📚 Update CHANGELOG.md with version 0.178.1

* fix(editor): Fix parameter loading bug (#3374)

* fix parameter loading bug

* remove duplicate check

* 🔖 Release n8n-editor-ui@0.144.2

* ⬆️ Set n8n-editor-ui@0.144.2 on n8n

* 🔖 Release n8n@0.178.2

* 🔖 Update main package.json to 0.178.2

* 📚 Update CHANGELOG.md with version 0.178.2

* ⚡ Improvements

* fix(core): Fix issue that "closeFunction" got called twice

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

* fix(editor): Fix conflicting hover states between sticky button and node view (#3368)

* 🐛 Fixing conflicting hover states between sticky button and node view.

* 🔨 Updating and optimizing sticky menu hover logic

* 📇 Removing redundant comments from `NodeView`.

* fix(editor): Fix credential display bug (#3372)

* ⚡ Filter credentials by version

* ⚡ Reuse helper

* fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386)

* initial fix for v24 folder listing

* implemented new credential methods

* Nodelinter fixes

* feat(PostBin Node): Add PostBin node  (#3236)

* 🚧 Initial progress on PostBin node.

* ✨ Implemented Bin and Request operations for PostBin node.

* 🚧 Reworked the node in the declarative way.

* 🚧 PosBin node refactoring after reworking it.

* ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation.

* ⚡ Improvements

* ⚡ Add comments

* 👌Updating the PostBin node based on the product review

* 💄Updating PostBin node Bin ID validation logic

* ⚡ Small improvements

* ⚡ Transform the bin requests and add additional properties

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>

* ⚡ Simplify auth

* 👕 Fix lint issue

Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com>
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>

* fix(core): Fix problem with uploading large files (#3370)

* ⚡ fix

* ⚡ moved setting to axios config

* fix(editor): Fix component in executions list failing custom validator (#3284)

* 🐛 Adjust size to custom validator

* ⏪ Undo size change

* ⚡ Add size to component validator

* fix(Discord Node): Fix broken rate limit handling (#3311)

* 🔨 fix and additional option to return response headers

* ⚡ Remove "return response headers" parameter

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>

* feat(ServiceNow Node): Add attachment functionality (#3137)

* ✨ Add ServiceNow attachment functionality

* 🔨 download fix

* ⚡ improvements

* ⚡ parameter name fix

* ⚡ download attachment for get all operation

* ⚡ filters update

* ⚡ hint update

* ⚡ Small improvements

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

* ⚡ Update URLs to n8n.io API (#3391)

* fix(core): Fix migrations on non-public Postgres schema (#3356)

* 🐛 Fix UM migration

* ⚡ Account for schema in `search_path`

* 🔥 Remove unneeded schema refs

* 🧪 Account for alt schema in DB testing

* ⚡ Add schema to `IncreaseTypeVarcharLimit`

* ⚡ Set `search_path` in every migration

* ⚡ Set `search_path` in down migrations

* refactor(core): Improve error message

* 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

* fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396)

* fix(Google Sheet Node): Fix issue with null values and "Use Header Names as JSON Paths" option (#3395)

* fixed Google Sheet 'Use Header Names as JSON Paths' issue when input data contains null values. https://community.n8n.io/t/error-cannot-read-properties-of-null-reading-tostring/14385/2

* ⚡ Update URLs to n8n.io API (#3391)

* fix(core): Fix migrations on non-public Postgres schema (#3356)

* 🐛 Fix UM migration

* ⚡ Account for schema in `search_path`

* 🔥 Remove unneeded schema refs

* 🧪 Account for alt schema in DB testing

* ⚡ Add schema to `IncreaseTypeVarcharLimit`

* ⚡ Set `search_path` in every migration

* ⚡ Set `search_path` in down migrations

* refactor(core): Improve error message

* 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

* fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396)

* ⚡ Minor improvement

Co-authored-by: Taha Sönmez <mtssonmez@gmail.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>

* ⬆️ Update package-lock.json file

* 🔖 Release n8n-workflow@0.101.0

* ⬆️ Set n8n-workflow@0.101.0 on n8n-core

* 🔖 Release n8n-core@0.119.0

* ⬆️ Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-node-dev

* 🔖 Release n8n-node-dev@0.58.0

* ⬆️ Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-nodes-base

* 🔖 Release n8n-nodes-base@0.177.0

* 🔖 Release n8n-design-system@0.22.0

* ⬆️ Set n8n-design-system@0.22.0 and n8n-workflow@0.101.0 on n8n-editor-ui

* 🔖 Release n8n-editor-ui@0.145.0

* ⬆️ Set n8n-core@0.119.0, n8n-editor-ui@0.145.0, n8n-nodes-base@0.177.0 and n8n-workflow@0.101.0 on n8n

* 🔖 Release n8n@0.179.0

* 🔖 Update main package.json to 0.179.0

* 📚 Update CHANGELOG.md with version 0.179.0

* ⚡ linter fixes

* ⚡ improvements

* ⚡ lock file fix

* ⚡ credentials update

* feat(editor): Display node specific settings above general ones

* fix(editor): Fix delete button hover spacing (#3412)

* fix(core): Fix crashes in queue mode (#3397)

* Add catch block to avoid crashes when running in queue mode

* Throwing errors that happen in worker so process stops

* feat(core): Add support to import/export tags (#3130)

* Export and Import Workflow Tags

Support exporting and importing tags of workflows via frontend and cli.

On export, all tag data is included in the json.
- id
- name
- updatedAt
- createdAt

When importing a workflow json to n8n we:
- first check if a tag with the same id and createdAt date exists in the
  database, then we can assume the tag is identical. Changes on the name
  of the tag are now preserved.
- check if a tag with the same name exists on the database.
- create a new tag with the given name.

* clean up fe export

* remove usage count

* return updatedat, createdat

* fix tags import

* move logic from workflow package

* refactor import

* check for tags before import

* update checks on type

* fix on import

* fix build issues

* fix type issue

* remove unnessary ?

* update tag helpers so only name is required

* fix tag import

* add don't replace existing tags

* fix build issue

* address comments

* fix with promise.all

* update setting tags

* update check

* fix existing check

* add helper

* fix duplication

* fix multiple same tags bug

* fix db bugs

* add more validation on workflow type

* fix validation

* disable importing tags on copy paste

Co-authored-by: Luca Berneking <l.berneking@mittwald.de>

* fix(editor): Fix stuck loading states (#3428)

* 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

* refactor(core): Deduplicate encryption logic (#3434)

* ⚡ added function to credentials helper

* Refactor function name

* Fix lint issues

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

* test: Add timeout to `beforeAll` in users suite (#3433)

* refactor(editor): Change node-setting's parameters order (#3435)

* fix(core): Fix `user-management:reset` command (#3403)

* 🐛 Fix `email` setting

* 🧪 Add test

* 🧪 Add expectation for user email

* ⚡ Replace request with helper

* refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432)

* ⚡ Update `lintfix` script

* 👕 Remove unneeded lint exceptions

* 👕 Run baseline `lintfix`

* 👕 Apply `node-param-description-miscased-url` (#3441)

* 👕 Apply `rule node-param-placeholder-miscased-id` (#3443)

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

* 👕 Apply `node-param-option-name-wrong-for-upsert` (#3446)

* 👕 Apply `node-param-min-value-wrong-for-limit` (#3442)

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

* Apply `node-param-display-name-wrong-for-dynamic-options` (#3454)

* 🔨 fix

* ⚡ Fix `Assigned To` fields

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

* 👕 Apply `rule node-param-default-wrong-for-number` (#3453)

* 👕 Apply `node-param-default-wrong-for-string` (#3452)

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

* Apply `node-param-display-name-miscased` (#3449)

* 🔨 fix

* 🔨 exceptions

* ⚡ review fixes

* 👕 Apply `node-param-description-lowercase-first-char` (#3451)

* ⚡ fix

* ⚡ review fixes

* ⚡ fix

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

* 👕 Apply `node-param-description-wrong-for-dynamic-options` (#3456)

* Rule working as intended

* Add rule

* 🔥 Remove repetitions

* 👕 Add exceptions

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

* 👕 Small fix for `node-param-description-wrong-for-dynamic-options`

* 👕 Apply `node-param-default-wrong-for-fixed-collection` (#3460)

* 👕 Apply `node-param-description-line-break-html-tag` (#3462)

* 👕 Run baseline `lintfix`

* 👕 Apply `node-param-options-type-unsorted-items` (#3459)

* ⚡ fix

* 🔨 exceptions

* Add exception for Salesmate and Zoom

Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* ⚡ Restore `lintfix` command

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com>

* fix(Hubspot Node): Fix loading of Contacts (#3426)

* feat(QuickBooks Node): Add optional Tax item field (#3404)

* Added tax refs

* Nodelinter fixes

* fix(EmailReadImap Node): Improve error handling (#3465)

* refactor(core): Remove a floating promise

* feat(Cal Trigger Node): Add cal.com Trigger Node (#3439)

* options and operations added

* IT WORKS!

* Added ReturnALL to GET method

* comit for PR

* updating shared operations

* ⚡ linter fixes

* ⚡ improvements

* ⚡ lock file fix

* ⚡ credentials update

* added cal trigger node

* Removed console log

* Added advanced fields

* 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

* refactor(core): Deduplicate encryption logic (#3434)

* ⚡ added function to credentials helper

* Refactor function name

* Fix lint issues

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

* test: Add timeout to `beforeAll` in users suite (#3433)

* refactor(editor): Change node-setting's parameters order (#3435)

* fix(core): Fix `user-management:reset` command (#3403)

* 🐛 Fix `email` setting

* 🧪 Add test

* 🧪 Add expectation for user email

* ⚡ Replace request with helper

* refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432)

* ⚡ Update `lintfix` script

* 👕 Remove unneeded lint exceptions

* 👕 Run baseline `lintfix`

* 👕 Apply `node-param-description-miscased-url` (#3441)

* 👕 Apply `rule node-param-placeholder-miscased-id` (#3443)

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

* 👕 Apply `node-param-option-name-wrong-for-upsert` (#3446)

* 👕 Apply `node-param-min-value-wrong-for-limit` (#3442)

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

* Apply `node-param-display-name-wrong-for-dynamic-options` (#3454)

* 🔨 fix

* ⚡ Fix `Assigned To` fields

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

* 👕 Apply `rule node-param-default-wrong-for-number` (#3453)

* 👕 Apply `node-param-default-wrong-for-string` (#3452)

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

* Apply `node-param-display-name-miscased` (#3449)

* 🔨 fix

* 🔨 exceptions

* ⚡ review fixes

* 👕 Apply `node-param-description-lowercase-first-char` (#3451)

* ⚡ fix

* ⚡ review fixes

* ⚡ fix

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

* 👕 Apply `node-param-description-wrong-for-dynamic-options` (#3456)

* Rule working as intended

* Add rule

* 🔥 Remove repetitions

* 👕 Add exceptions

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

* 👕 Small fix for `node-param-description-wrong-for-dynamic-options`

* 👕 Apply `node-param-default-wrong-for-fixed-collection` (#3460)

* 👕 Apply `node-param-description-line-break-html-tag` (#3462)

* 👕 Run baseline `lintfix`

* 👕 Apply `node-param-options-type-unsorted-items` (#3459)

* ⚡ fix

* 🔨 exceptions

* Add exception for Salesmate and Zoom

Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* ⚡ Restore `lintfix` command

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com>

* fix(Hubspot Node): Fix loading of Contacts (#3426)

* feat(QuickBooks Node): Add optional Tax item field (#3404)

* Added tax refs

* Nodelinter fixes

* fix(EmailReadImap Node): Improve error handling (#3465)

* refactor(core): Remove a floating promise

* ⚡ Improvements

Co-authored-by: alex meredith <alexanderm@packt.com>
Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>

* ⚡ Improve cal.com Trigger Node

* 👕 Fix lint issue

* ⚡ Minor improvements

Co-authored-by: alex meredith <alexanderm@packt.com>
Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Gonçalo Silva <goncalossilva@gmail.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
Co-authored-by: pemontto <939704+pemontto@users.noreply.github.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
Co-authored-by: Taha Sönmez <35905778+tahasonmez@users.noreply.github.com>
Co-authored-by: Taha Sönmez <mtssonmez@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Luca Berneking <l.berneking@mittwald.de>
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com>
Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
@janober
Copy link
Member

janober commented Jun 7, 2022

Got released with n8n@0.180.0

@janober janober removed the Upcoming Release Will be part of the upcoming release label Jun 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team ui Enhancement in /editor-ui or /design-system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants