Commit graph

827 commits

Author SHA1 Message Date
Omar Ajoue 8d235e94cb
Performance improvements for executions count on Postgres (#1888)
* Performance improvements for executions count on Postgres

As reported by a community member https://community.n8n.io/t/stress-load-testing/4846/5
and https://github.com/n8n-io/n8n/issues/1578, when using postgres with
a big volume of executions, the executions list's performance degrades.

This PR is aimed at Postgres specifically by querying postgres' stats
collector instead of running a full table scan, providing a good
estimate.

More can be read here: https://www.citusdata.com/blog/2016/10/12/count-performance/

* Removed order of magnitude so we display closer numbers

* Making count based on statistics only when not applying filters

*  Minor styling improvements

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-07-06 23:25:25 +02:00
Jan Oberhauser 297d9fe77d 🔖 Release n8n@0.127.0 2021-07-04 18:15:30 +00:00
Jan Oberhauser 97eb22db04 ⬆️ Set n8n-core@0.76.0, n8n-editor-ui@0.97.0, n8n-nodes-base@0.124.0 and n8n-workflow@0.63.0 on n8n 2021-07-04 18:15:30 +00:00
Iván Ovejero 5f76a5dc72
Expand Zoho node (#1763)
*  Initial refactor of Zoho node

*  Refactor out extra credentials parameter

* 🔥 Remove unused filters

*  Fix date of birth fields

*  Fix param casing

*  Adjust param types

*  Adjust invoice operations

*  Refactor types in adjusters

*  Add product resource

*  Refactor product details field

*  Adjust purchase order params

*  Adjust quote params

*  Adjust sales orders params

* 🔥 Remove old unused files

*  Add vendor resource

*  Fix minor details

*  Implement continueOnFail

* 🐛 Fix empty response for getAll

*  Simplify response for single item

* 🔥 Remove unused import

* 🔨 Restore old node name

*  Prevent request on empty update

*  Apply Dali's suggestions

*  Improvements

*  Add filters for lead:getAll

*  Add upsert to all resources

*  Add filters to all getAll operations

* 🔨 Restore continue on fail

* 🔨 Refactor upsert addition

* 🔨 Refactor getFields for readability

*  Add custom fields to all create-update ops

*  Implement custom fields adjuster

* 🔥 Remove logging

* 👕 Appease linter

* 👕 Refactor type helper for linter

*  Fix refactored type

* 🔨 Refactor reduce for simplicity

*  Fix vendor:getAll filter options

*  Fix custom fields for product operations

*  Make sort_by into options param

* 🚚 Rename upsert operation

* ✏️ Add descriptions to upsert

*  Deduplicate system-defined check fields

* 🔨 Re-order address fields

* ✏️ Generalize references in getAll fields

* 🔥 Remove extra comma

*  Make getFields helper more readable

* ✏️ Touch up description for account ID

* 🔥 Remove currency from contacts

* 🔨 Resort emails and phones for contact

* 🐛 Fix sales cycle duration param type

* ✏️ Clarify descriptions with percentages

* 🔨 Reorder total fields

* ✏️ Clarify percentages for discounts

* ✏️ Clarify percentages for commissions

* 🔨 Convert currency to picklist

* ✏️ Add documentation links

*  Add resource loaders for picklists

*  Fix build

* 🔨 Refactor product details

*  Add resolve data to all resources

*  Change resolve data toggle default

*  Restore lead:getFields operation

* 🔥 Remove upsert descriptions

* 🔨 Change casing for upsert operations

*  Add operation descriptions

* 🔨 Restore makeResolve default value

* 🔨 Return nested details

*  Reposition Resolve Data toggles

* ✏️ Document breaking changes

* Revert "Reposition Resolve Data toggles"

This reverts commit 72ac41780b.

*  Improvements

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2021-07-02 23:34:12 +02:00
Omar Ajoue 1e551a202f
🚨 Add Workflow testing framework (#1814)
* Added flag to simplify output to execute command and created executeAll

Also created a command that lists workflows so it can be used by
other applications that wish to interact with n8n via CLI.

* Added compare funcionality that helps us identify possible breaking changes

*  Add JSON flag to output execution result in json format

* Add execution time to execution result

* Add --output flag to save JSON formated results

* Fix typos

* Adding usage examples and warning message

* Changing command to always output JSON information

*  Add concurrency to executeAll command

*  Add IDs filter to executeAll command

* ✏️ Fix typos

* Fix lint issues

* Improvements to execute all

* Added colors and beautified execute all command output

* Improving premature termination of execute all command

* Refactored output

* Added detection for warnings instead of errors for a few cases

* Fixed linting

* Improved process finishing

* Added encryption key init, removed messages from non-debug run and created sample github actions file

* Updated test command to use correct encryption key

* Correcting paths

* Changed command name and changed concurrency to be slot based

* Added the retry functionality

* Improved typing and fixed executions filtering

* Updated test description

* Added concurrency

* Added skip list and concurrency

* Fixed termination behavior, removed unnecessary code and added main mode to executions

* Added special edge cases handling

* Added safe debug flag for non tty terminals

* Removed comparison and retries for testing

* Changed the way we run commands to add more debug info

* Test adding concurrency

* Testing with regular testing procedure without comparison

* Adding compare flag

* Fixing short output command

* Upgraded concurrency to 16, fixed short output and covered nodes count

* Fixed short output condition

* Correcting short output information

* Correcting the output for short output

* Added a string to possible warnings list

* Added example usages with more arguments

* Improvements to code made by Ivan

* Removed colorize output setting (always use colors), moved execution timeout to become static and removed node list from executions

* Moving types to a separate file on execute batch command

* Changed interfaces file extension to prevent oclif warnings

* Updated workflow pdf files

*  Change rule when tests run + minor formatting fixes

Co-authored-by: dali <servfrdali@yahoo.fr>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-07-01 09:04:24 +02:00
Jan Oberhauser 38f0cc1a8f 🔖 Release n8n@0.126.1 2021-06-29 10:58:44 +02:00
Jan Oberhauser 312eb827f5 ⬆️ Set n8n-editor-ui@0.96.1 and n8n-nodes-base@0.123.1 on n8n 2021-06-29 10:57:45 +02:00
Jan Oberhauser 320e5f9f97 🔖 Release n8n@0.126.0 2021-06-27 11:45:19 +00:00
Jan Oberhauser edc54782d6 ⬆️ Set n8n-editor-ui@0.96.0 and n8n-nodes-base@0.123.0 on n8n 2021-06-27 11:45:18 +00:00
Ben Hesseldieck d3a1d3ffef
Revert " Simplify config imports in cli package (#1840)" (#1931)
This reverts commit c21c8b3369.
2021-06-23 11:20:07 +02:00
Iván Ovejero c21c8b3369
Simplify config imports in cli package (#1840)
*  Set path alias for config

*  Update config export

*  Simplify config imports

*  Update also additional imports

*  Update path in collation migration

*  Resolve aliased paths

* 👕 Fix Codacy issue

* 👕 Retry to fix Codacy issue

Co-authored-by: Jan <janober@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-06-22 23:18:52 +02:00
Jan Oberhauser 3016978b68 🔖 Release n8n@0.125.0 2021-06-20 09:18:21 +00:00
Jan Oberhauser 3a49869cd8 ⬆️ Set n8n-core@0.75.0, n8n-editor-ui@0.95.0, n8n-nodes-base@0.122.0 and n8n-workflow@0.62.0 on n8n 2021-06-20 09:18:21 +00:00
Jan Oberhauser 73fc13fef1 Fix dependencies 2021-06-20 10:49:51 +02:00
Omar Ajoue 4dbf64b1a4
🐛 Add Migration for MySQL to certify that we're using the correct collation (#1905)
* Migration for MySQL to certify that we're using the correct collation

* Update migration to check for collation existence before running

*  Fix format

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-06-18 23:57:58 +02:00
Ben Hesseldieck 0470740737
Change the UI of the Nodes Panel (#1855)
* Add codex search properties to node types

* implement basic styles

* update header designs

* update node list designs

* add trigger icon

* refactor node creator list

* implement categories and subcategories

* fix up spacing

* add arrows

* implement navigatable list

* implement more of feature

* implement navigation

* add transitions

* fix lint issues

* fix overlay

*  Get and add codex categories

* fix up design

* update borders

* implement no-matches view

* fix preview bug

* add color to search

* clean up borders

* add comma

* Revert "Merge branch 'add-codex-data' of github.com:n8n-io/n8n into PROD-819-nodes-panel-redesign"

38b7d7ead1

* use new impl

* remove empty categories

* update scrolling, hide start node

* make scrollable

* remove text while subcategory panel is open

* fix up spacing

* fix lint issues

* update descriptions

* update path

* update images

* fix tags manager

* give min height to image

* gst

* update clear color

* update font size

* fix firefox spacing

* close on click outside

* add external link icon

* update iterator key

* add client side caching for images

* update caching header

* ️ Add properties to codex for nodes panel (#1854)

*  Get and add codex categories

*  Add parens to evaluation + destructuring

* 🔥 Remove non-existing class reference

*  Add alias to codex property

* move constants

* 🔨 Rename CodexCategories to CodexData

* ✏️ Update getCodex documentation

* refactor and move

* refactor no results view

* more refactoring

* refactor subcategory panel

* more refactoring

* update text

* update no results view

* add miscellaneous to end of list

* address design feedback

* reimplement node search

* fix up clear

* update placeholder color

* impl transition

* focus on tab

* update spacing

* fix transition bug on start

* fix up x

* fix position

* build

* safari fix

* remove input changes

* css bleed issue with image

* update css value

* clean up

* simplify impl

* rename again

* rename again

* rename all

* fix hover bug

* remove keep alive

* delete icon

* update interface type

* refactor components

* update scss to module

* clean up impl

* clean up colors as vars

* fix indentation

* clean up scss

* clean up scss

* clean up scss

* clean up scss

* Clean up files

* update logic to be more efficient

* fix search bug

* update type

* remove unused

* clean up js

* update scrollable, border impl, transition

* fix simicolon

* build

* update search

* address max's comments

* change icon border radius

* change margin

* update icon size

* update icon size

* update slide transition out

* add comma

* remove full

* update trigger icon size

* fix image size

* address design feedback

* update external link icons

* address codacy issues

* support custom nodes without codex file

* address jan's feedback

* address Ben's comments

* add subcategory index

* open/close categories with arrow keys

* add lint comment

* Address latest comments

*  Minor changes

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-06-18 07:58:26 +02:00
Jan Oberhauser 6e68d71f4d 🔖 Release n8n@0.124.1 2021-06-16 12:52:24 +02:00
Jan Oberhauser 957e95d4e4 ⬆️ Set n8n-editor-ui@0.94.1 and n8n-workflow@0.61.1 on n8n 2021-06-16 12:51:39 +02:00
Mutasem Aldmour 0b65459f9f
🐛 only update tags if set in request (#1900)
* only update tags if set in request

* only create relations/sort if tags exist
2021-06-16 12:41:35 +02:00
Omar Ajoue 44c3e97621
Adding more log messages to error workflows (#1895) 2021-06-15 12:32:13 +02:00
Jan Oberhauser f4e6257472 🔖 Release n8n@0.124.0 2021-06-13 17:58:46 +00:00
Jan Oberhauser b619d7ca8b ⬆️ Set n8n-core@0.74.0, n8n-editor-ui@0.94.0, n8n-nodes-base@0.121.0 and n8n-workflow@0.61.0 on n8n 2021-06-13 17:58:45 +00:00
Jan Oberhauser 1d850da9fb Send request of HTTP Request node to browser console when testing 2021-06-12 20:22:55 +02:00
Iván Ovejero c0ec1ed606
Show activation error details for trigger nodes (#1787)
*  Implement error details in toast notification

*  Refactor error notification

*  Pipe activation error in prod mode to FE

*  Add node name to activation error details

*  Disable ignoring with ts-check

* 📝 fix spelling

Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
2021-06-12 17:06:56 +02:00
Jan Oberhauser 2f5228c8ba 🔖 Release n8n@0.123.1 2021-06-06 15:53:41 -05:00
Jan Oberhauser edfdd24fde ⬆️ Set n8n-nodes-base@0.120.1 on n8n 2021-06-06 15:52:08 -05:00
Jan Oberhauser 20d2e412f6 🔖 Release n8n@0.123.0 2021-06-06 20:22:02 +00:00
Jan Oberhauser 9c779e28cb ⬆️ Set n8n-editor-ui@0.93.0 and n8n-nodes-base@0.120.0 on n8n 2021-06-06 20:22:02 +00:00
Jan Oberhauser df88084928 🔖 Release n8n@0.122.3 2021-06-03 18:49:56 -05:00
Jan Oberhauser d6b8f26b6a ⬆️ Set n8n-editor-ui@0.92.2 and n8n-nodes-base@0.119.2 on n8n 2021-06-03 18:49:26 -05:00
Jan Oberhauser 781f3896a1 🐛 Fix issue that ErrorWorkflows did not get executed in queue mode 2021-06-03 18:41:12 -05:00
Iván Ovejero 40e41f7506
Restructure IPushData union types (#1836)
*  Send console.log messages to editor-UI

*  Send message only to session which started workflow

*  Made it also work in own process

*  Add support for console.log UI forward also to FunctionItem Node

* 👕 Fix lint issue

* 👕 Fix linting issue

*  Restructure IPushData unions in /cli

*  Restructure IPushData unions in /editor-ui

* 🔥 Remove unneeded castings

* 🔥 Remove commented code

*  Improve code

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

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Jan <janober@users.noreply.github.com>
2021-06-03 18:17:18 -05:00
Jan Oberhauser 7e60f68cc0 Add missing winston dependency 2021-06-03 16:38:10 -05:00
Jan Oberhauser 79a8536d0e 🔖 Release n8n@0.122.2 2021-05-31 13:18:25 -05:00
Jan Oberhauser 88e89c0b74 ⬆️ Set n8n-editor-ui@0.92.1 on n8n 2021-05-31 13:17:25 -05:00
Iván Ovejero a992a2da75 🐛🐘 Fix escaping workflow name dedup 2021-05-31 19:14:09 +02:00
Jan Oberhauser dd088ebe48 🔖 Release n8n@0.122.1 2021-05-30 14:14:17 -05:00
Jan Oberhauser df54a9bed2 ⬆️ Set n8n-nodes-base@0.119.1 on n8n 2021-05-30 14:13:07 -05:00
Ben Hesseldieck 372a7a3a52 🐛🐘 fix order in migration rollback 2021-05-30 21:09:03 +02:00
Jan Oberhauser 707c89fad3 🔖 Release n8n@0.122.0 2021-05-30 17:48:41 +00:00
Jan Oberhauser dbba7f4477 ⬆️ Set n8n-core@0.73.0, n8n-editor-ui@0.92.0, n8n-nodes-base@0.119.0 and n8n-workflow@0.60.0 on n8n 2021-05-30 17:48:41 +00:00
Jan 4946bfcd3e
Add functionality to send console.log messages to editor-UI (#1816)
*  Send console.log messages to editor-UI

*  Send message only to session which started workflow

*  Made it also work in own process

*  Add support for console.log UI forward also to FunctionItem Node

* 👕 Fix lint issue

* 👕 Fix linting issue

*  Improve code

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

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2021-05-29 13:41:25 -05:00
Ben Hesseldieck 05eec87d1d
Add tagging of workflows (#1647)
* clean up dropdown

* clean up focusoncreate

*  Ignore mistaken ID in POST /workflows

*  Fix undefined tag ID in PATCH /workflows

*  Shorten response for POST /tags

* remove scss mixins

* clean up imports

*  Implement validation with class-validator

* address ivan's comments

* implement modals

* Fix lint issues

* fix disabling shortcuts

* fix focus issues

* fix focus issues

* fix focus issues with modal

* fix linting issues

* use dispatch

* use constants for modal keys

* fix focus

* fix lint issues

* remove unused prop

* add modal root

* fix lint issues

* remove unused methods

* fix shortcut

* remove max width

*  Fix duplicate entry error for pg and MySQL

* update rename messaging

* update order of buttons

* fix firefox overflow on windows

* fix dropdown height

* 🔨 refactor tag crud controllers

* 🧹 remove unused imports

* use variable for number of items

* fix dropdown spacing

*  Restore type to fix build

*  Fix post-refactor PATCH /workflows/:id

*  Fix PATCH /workflows/:id for zero tags

*  Fix usage count becoming stringified

* address max's comments

* fix filter spacing

* fix blur bug

* address most of ivan's comments

* address tags type concern

* remove defaults

*  return tag id as string

* 🔨 add hooks to tag CUD operations

* 🏎 simplify timestamp pruning

* remove blur event

* fix onblur bug

*  Fix fs import to fix build

* address max's comments

* implement responsive tag container

* fix lint issues

* Set default dates in entities

* 👕 Fix lint in migrations

* update tag limits

* address ivan's comments

* remove rename, refactor header, implement new designs for save, remove responsive tag container

* update styling

* update styling

* implement responsive tag container

* implement header tags edit

* implement header tags edit

* fix lint issues

* implement expandable input

* minor fixes

* minor fixes

* use variable

* rename save as

* duplicate fixes

*  Implement unique workflow names

*  Create /workflows/new endpoint

* minor edit fixes

* lint fixes

* style fixes

* hook up saving name

* hook up tags

* clean up impl

* fix dirty state bug

* update limit

* update notification messages

* on click outside

* fix minor bug with count

* lint fixes

*  Add query string params to /workflows/new

* handle minor edge cases

* handle minor edge cases

* handle minor bugs; fix firefox dropdown issue

* Fix min width

* apply tags only after api success

* remove count fix

* 🚧 Adjust to new qs requirements

* clean up workflow tags impl, fix tags delete bug

* fix minor issue

* fix minor spacing issue

* disable wrap for ops

* fix viewport root; save on click in dropdown

* save button loading when saving name/tags

* implement max width on tags container

* implement cleaner create experience

* disable edit while updating

* codacy hex color

* refactor tags container

* fix clickability

* fix workflow open and count

* clean up structure

* fix up lint issues

*  Create migrations for unique workflow names

* fix button size

* increase workflow name limit for larger screen

* tslint fixes

* disable responsiveness for workflow modal

* rename event

* change min width for tags

* clean up pr

*  Adjust quotes in MySQL migration

*  Adjust quotes in Postgres migration

* address max's comments on styles

* remove success toasts

* add hover mode to name

* minor fixes

* refactor name preview

* fix name input not to jiggle

* finish up name input

* Fix up add tags

* clean up param

* clean up scss

* fix resizing name

* fix resizing name

* fix resize bug

* clean up edit spacing

* ignore on esc

* fix input bug

* focus input on clear

* build

* fix up add tags clickablity

* remove scrollbars

* move into folders

* clean up multiple patch req

* remove padding top from edit

* update tags on enter

* build

* rollout blur on enter behavior

* rollout esc behavior

* fix tags bug when duplicating tags

* move key to reload tags

* update header spacing

* build

* update hex case

* refactor workflow title

* remove unusued prop

* keep focus on error, fix bug on error

* Fix bug with name / tags toggle on error

* impl creating new workflow name

*  Refactor endpoint per new guidelines

* support naming endpoint

*  Refactor to support numeric suffixes

* 👕 Lint migrations for unique workflow names

*  Add migrations set default dates to indexes

* fix connection push bug

*  Lowercase default workflow name

*  Add prefixes to set default dates migration

*  Fix indentation on default dates migrations

*  Add temp ts-ignore for unrelated change

*  Adjust default dates migration for MySQL

Remove change to data column in credentials_entity, already covered by Omar's migration. Also, fix quotes from table prefix addition.

*  Adjust quotes in dates migration for PG

* fix safari color bug

* fix count bug

* fix scroll bugs in dropdown

* expand filter size

* apply box-sizing to main header

* update workflow names in executions to be wrapped by quotes

* fix bug where key is same in dropdown

* fix firefox bug

* move up push connection session

* 🔨 Remove mistakenly added nullable property

* 🔥 Remove unneeded index drop-create (PG)

* 🔥 Remove unneeded table copying

*  Merge dates migration with tags migration

* 🔨 Refactor endpoint and make wf name env

* dropdown colors in firefox

* update colors to use variables

* update thumb color

* change error message

* remove 100 char maximum

* fix bug with saving tags dropdowns multiple times

* update error message when no name

*  Update name missing toast message

*  Update workflow already exists message

* disable saving for executions

* fix bug causing modal to close

* make tags in workflow open clickable

* increase workflow limit to 3

* remove success notifications

* update header spacing

* escape tag names

* update tag and table colors

* remove tags from export

* build

* clean up push connection dependencies

* address ben's comments

* revert tags optional interface

* address comments

* update duplicate message

* build

* fix eol

* add one more eol

*  Update comment

* add hover style for workflow open, fix up font weight

Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
2021-05-29 13:31:21 -05:00
Jan Oberhauser e0602372f6 👕 Fix lint issue 2021-05-21 23:41:06 -05:00
Jan Oberhauser 40614672e6 Add deprecation warning for "executeSingle" 2021-05-21 22:51:38 -05:00
Jan Oberhauser c67a120fed Remove no longer used function 2021-05-21 22:42:29 -05:00
Jan Oberhauser 246fca4903 🐛 Fix typo and remove not needed import 2021-05-21 22:03:18 -05:00
Jan Oberhauser f43781b137 🐛 Switch back to bcryptjs to fix issues with FreeBSD and ARM #1696 2021-05-21 21:54:30 -05:00
Jan Oberhauser 343e63e667 🔖 Release n8n@0.121.0 2021-05-20 21:44:52 +00:00
Jan Oberhauser feef50cdd2 ⬆️ Set n8n-core@0.72.0, n8n-editor-ui@0.91.0, n8n-nodes-base@0.118.0 and n8n-workflow@0.59.0 on n8n 2021-05-20 21:44:52 +00:00