Commit graph

192 commits

Author SHA1 Message Date
Omar Ajoue 0c779de704
Implement timeout for workers and corrected timeout for subworkflows (#1634)
* Implemented timeout for workers and corrected timeout for subworkflows

* Fixed issue with timeouts when running on separate processes

* Standardized timeouts across all n8n

Now the maxTimeout setting takes effect whenever a timeout is set
to any workflows.

This causes local timeouts (either set on a per-workflow basis or
via global settings) to be capped by the maximum timeout. This
behavior already existed but was not applied to all places.

Also changed the way n8n enforces timeouts for subworkflows, making
it work always.

In effect, with this change, if you have one workflow that calls others
only the main workflow's timeout is taken into consideration, limiting
the maximum time that other workflows combined can run.

*  Fix timeout problem in "own" mode

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-04-17 16:44:07 +02:00
Iván Ovejero 1d27a9e87e
Improve node error handling (#1309)
* Add path mapping and response error interfaces

* Add error handling and throwing functionality

* Refactor error handling into a single function

* Re-implement error handling in Hacker News node

* Fix linting details

* Re-implement error handling in Spotify node

* Re-implement error handling in G Suite Admin node

* 🚧 create basic setup NodeError

* 🚧 add httpCodes

* 🚧 add path priolist

* 🚧 handle statusCode in error, adjust interfaces

* 🚧 fixing type issues w/Ivan

* 🚧 add error exploration

* 👔 fix linter issues

* 🔧 improve object check

* 🚧 remove path passing from NodeApiError

* 🚧 add multi error + refactor findProperty method

* 👔 allow any

* 🔧 handle multi error message callback

*  change return type of callback

*  add customCallback to MultiError

* 🚧 refactor to use INode

* 🔨 handle arrays, continue search after first null property found

* 🚫 refactor method access

* 🚧 setup NodeErrorView

*  change timestamp to Date.now

* 📚 Add documentation for methods and constants

* 🚧 change message setting

* 🚚 move NodeErrors to workflow

*  add new ErrorView for Nodes

* 🎨 improve error notification

* 🎨 refactor interfaces

*  add WorkflowOperationError, refactor error throwing

* 👕 fix linter issues

* 🎨 rename param

* 🐛 fix handling normal errors

*  add usage of NodeApiError

* 🎨 fix throw new error instead of constructor

* 🎨 remove unnecessary code/comments

* 🎨 adjusted spacing + updated status messages

* 🎨 fix tab indentation

*  Replace current errors with custom errors (#1576)

*  Introduce NodeApiError in catch blocks

*  Introduce NodeOperationError in nodes

*  Add missing errors and remove incompatible

*  Fix NodeOperationError in incompatible nodes

* 🔧 Adjust error handling in missed nodes

PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes

* 🔨 Adjust Strava Trigger node error handling

* 🔨 Adjust AWS nodes error handling

* 🔨 Remove duplicate instantiation of NodeApiError

* 🐛 fix strava trigger node error handling

* Add XML parsing to NodeApiError constructor (#1633)

* 🐛 Remove type annotation from catch variable

*  Add XML parsing to NodeApiError

*  Simplify error handling in Rekognition node

*  Pass in XML flag in generic functions

* 🔥 Remove try/catch wrappers at call sites

* 🔨 Refactor setting description from XML

* 🔨 Refactor let to const in resource loaders

*  Find property in parsed XML

*  Change let to const

* 🔥 Remove unneeded try/catch block

* 👕 Fix linting issues

* 🐛 Fix errors from merge conflict resolution

*  Add custom errors to latest contributions

* 👕 Fix linting issues

*  Refactor MongoDB helpers for custom errors

* 🐛 Correct custom error type

*  Apply feedback to A nodes

*  Apply feedback to missed A node

*  Apply feedback to B-D nodes

*  Apply feedback to E-F nodes

*  Apply feedback to G nodes

*  Apply feedback to H-L nodes

*  Apply feedback to M nodes

*  Apply feedback to P nodes

*  Apply feedback to R nodes

*  Apply feedback to S nodes

*  Apply feedback to T nodes

*  Apply feedback to V-Z nodes

*  Add HTTP code to iterable node error

* 🔨 Standardize e as error

* 🔨 Standardize err as error

*  Fix error handling for non-standard nodes

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

Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 18:33:36 +02:00
Ahsan Virani b54aae8c31
⬆️ Update types/node package in all packages (#1659)
* ⬆️ Update types/node package in all packages, fix type in crypto node

*  Fix build issue and some formatting

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-04-15 23:57:20 +02:00
Jan Oberhauser 000226acfe 🔖 Release n8n-workflow@0.55.0 2021-03-26 08:10:33 +00:00
Jan Oberhauser 4276150ac1 Fix indentation in all package.json files 2021-03-26 09:06:26 +01:00
Omar Ajoue 726a99bf69
Add Activation Trigger (#1570)
*  n8n start trigger node

* first declaration of WorkflowActivationMode

* implement first WorkflowActivationMode: 'init', 'create', 'update', 'activate'

* fix Server missing id

* add activation infos to triggers

* remove WorkflowActivationMode from webhook execution function

* add some missing activation and add manual activation

* clean up and fix some code

* fix UnhandledPromiseRejectionWarning: Error: Overwrite NodeExecuteFunctions.getExecuteTriggerFunctions.emit function!

* fix spaces

* use a better name for the node

* fix ident in package.json

* Contributions to lublak's PR #1287

* Fixed linting issues and change the way parameters are displayed

*  Fix name and minor improvements

Co-authored-by: lublak <lublak.de@gmail.com>
Co-authored-by: lublak <44057030+lublak@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-03-23 19:08:47 +01:00
Jan Oberhauser f91b58c532 🔖 Release n8n-workflow@0.54.0 2021-03-19 17:39:55 +01:00
Jan Oberhauser ddce679569 Minor changes to directories in binary data 2021-03-18 18:13:24 +01:00
Jan Oberhauser d65e8ee73b 🔀 Merge branch 'binary-file-path' of https://github.com/lublak/n8n into lublak-binary-file-path 2021-03-18 13:20:26 +01:00
Jan Oberhauser 3c1e3557ec 🔖 Release n8n-workflow@0.53.0 2021-02-22 13:37:04 +01:00
Iván Ovejero 0dcaccefa7
GoToWebinar node (#1422)
* Create scaffolding for node

* Add SVG logo

* Create scaffolding for generic functions

* Add index for descriptions

* Simplify retrieval of details

* Introduce minor fixes in generic functions

* Add attendee description

* Fix attendee description operation

* Add coorganizer description

* Add panelist description

* Add registrant description

* Add session description

* Add webinar description

* Register node and credentials

* Add scaffolding for credentials

* Minor creds fixes

* Fix SVG icon size and position

* Fix capitalization in description

* Fix credentials connection

* Add attendee fields

* Populate webinar description

* Remove organizer key from params

* Add timezones array constant

* Implement webinar:create

* Implement webinar:delete

* Convert times to fixed collection

* Add missing segments to endpoints

* Fix webinar:update operation

* Implement all-items request

* Add params for session:getAll

* Add params for webinar:getAll

* Implement session:getAll and webinar:getAll

* Implement session:get and session:getDetails

* Implement coorganizer:create

* Implement coorganizer:delete

* Implement coorganizer:getAll

* Implement coorganizer:delete

* Refactor time range for getAll operations

* Implement coorganizer:reinvite

* Implement panelist:create and panelist:getAll

* Implement panelist:delete and panelist:reinvite

* Remove array body helper types

* Implement registrant:create and registrant:getAll

* Implement registrant:delete

* Prettify error handling

* Add returnAll toggle and limit for all operations

* Preload webinars

* Preload webinar key in more fields

* Refactor getAll as handler

* Add descriptions for session

* Add descriptions for attendee

* Add descriptions for co-organizer

* Add descriptions for panelist

* Add descriptions for registrant

* Add descriptions for webinar

* Add 403 check for refresh token

* Fix defaults for webinar loader

* Add descriptions for webinar types

*  Improvements

* Remove unneeded return type annotation

* Add handler for continue on fail

* Remove 403 check in error handler

The Go To Webinar API returns 403 for a range of various errors, so this check ended up overriding more specific error messages not related to 403 Forbidden errors.

* Remove logging

*  Small improvement

*  Minor improvements

*  Improvements

*  Minor improvements

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-02-22 08:49:00 +01:00
Omar Ajoue 6ee9501d16
🐛 Fixing execution history for integrated workflows. (#1469)
* Fixing execution history for integrated workflows.

*  Minor improvements

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-02-20 13:51:06 +01:00
lublak cb9f31c49d add dir to different positions 2021-02-15 13:25:30 +01:00
Jan Oberhauser ac9838ef26 🔖 Release n8n-workflow@0.52.0 2021-02-15 12:59:04 +01:00
Ben Hesseldieck 98fa529e51
Dynamic webhooks improvements (#1396)
*  remove trailing slash in routes

* 🔧 update logic to select dynamicWebhook

* 🐛 fix logic in static route matching
2021-02-09 09:14:40 +01:00
Omar Ajoue 7a3aaf8a24
Unify execution id + Queue system (#1340)
* Unify execution ID across executions

* Fix indentation and improved comments

* WIP: saving data after each node execution

* Added on/off to save data after each step, saving initial data and retries working

* Fixing lint issues

* Fixing more lint issues

*  Add bull to execute workflows

* 👕 Fix lint issue

*  Add graceful shutdown to worker

*  Add loading staticData to worker

* 👕 Fix lint issue

*  Fix import

* Changed tables metadata to add nullable to stoppedAt

* Reload database on migration run

* Fixed reloading database schema for sqlite by reconnecting and fixing postgres migration

* Added checks to Redis and exiting process if connection is unavailable

* Fixing error with new installations

* Fix issue with data not being sent back to browser on manual executions with defined destination

* Merging bull and unify execution id branch fixes

* Main process will now get execution success from database instead of redis

* Omit execution duration if execution did not stop

* Fix issue with execution list displaying inconsistant information information while a workflow is running

* Remove unused hooks to clarify for developers that these wont run in queue mode

* Added active pooling to help recover from Redis crashes

* Lint issues

* Changing default polling interval to 60 seconds

* Removed unnecessary attributes from bull job

*  Improved output on worker job start

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-02-09 08:59:32 +01:00
Jan Oberhauser b19e96465e 🔖 Release n8n-workflow@0.51.0 2021-02-01 08:34:06 +01:00
Jan Oberhauser 5398a06ff2 Add variable $mode 2021-01-29 09:31:40 +01:00
Jan Oberhauser 5517a5b6f9 Remove not needed import 2021-01-27 09:11:02 +01:00
Jan Oberhauser 3a753b4156 🔖 Release n8n-workflow@0.50.0 2021-01-27 09:10:06 +01:00
Jan Oberhauser de0ac0158a 🐛 Fix credential bug with parameters which have the same name 2021-01-27 09:02:20 +01:00
Jan Oberhauser 4e46f01478 🔖 Release n8n-workflow@0.49.0 2021-01-26 12:02:00 +01:00
Jan Oberhauser 1dedb3f4b8 Add expression support to credentials 2021-01-24 13:33:57 +01:00
Ben Hesseldieck d395498882
Add support for webhook route parameters (#1343)
* 🚧 add webhookId to URL

* 🚧 add webhookId to webhook entity, 🔧 refactor migrations

* 🚧 🐘 postgres migration

* 🚧 add mySQL migration

* 🚧 refactor mongoDB

* 🚧 add webhookId to IWebhookDb

* 🚧 starting workflow with dynamic route works

*  production dynamic webhooks complete

* 🎨 fix lint issues

* 🔧 dynamic path for webhook-test complete

* 🎨 fix lint issues

* 🎨 fix typescript issue

*  add error message for dynamic webhook-test

* 🔨 improve handling of leading `/`

* 🚧 add webhookId to URL

* 🚧 add webhookId to webhook entity, 🔧 refactor migrations

* 🚧 🐘 postgres migration

* 🚧 add mySQL migration

* 🚧 refactor mongoDB

* 🚧 add webhookId to IWebhookDb

* 🚧 starting workflow with dynamic route works

*  production dynamic webhooks complete

* 🎨 fix lint issues

* 🔧 dynamic path for webhook-test complete

* 🎨 fix lint issues

* 🎨 fix typescript issue

*  add error message for dynamic webhook-test

* 🔨 improve handling of leading `/`

*  Fix issue that tab-title did not get reset on new workflow

* Revert " Fix issue that tab-title did not get reset on new workflow"

This reverts commit 699d0a8946.

* 🔧 reset params before extraction

* 🐘 removing unique constraint for webhookId

* 🚧 handle multiple webhooks per id

* 🔧 enable webhook-test for multiple WH with same id

* 🐘 add migration for postgres

*  add mysql migration

* 🎨 fix lint issue

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-01-23 20:00:32 +01:00
Jan Oberhauser 043e7e5081 🔖 Release n8n-workflow@0.48.0 2020-12-30 11:55:50 +01:00
Jan Oberhauser 50e16de270 🐛 Fix bug with null in ObservableObject 2020-12-28 19:18:16 +01:00
Jan Oberhauser 95315cec60 Add optional sort option if "multipleValues" is set 2020-12-27 00:15:33 +01:00
Jan Oberhauser 512f6cb2c6 🔖 Release n8n-workflow@0.47.0 2020-12-03 13:07:14 +01:00
Jan Oberhauser 5d7840b1f6 🐛 Fix bug that trigger nodes always needed first output to be set 2020-12-03 00:23:49 +01:00
Jan Oberhauser de333f602c 🔖 Release n8n-workflow@0.46.0 2020-11-25 13:14:14 +01:00
Jan Oberhauser 0f610e6f5c 🐛 Fix bug that poll did get executed twice 2020-11-24 19:53:48 +01:00
Jan Oberhauser cb91af203b 🔖 Release n8n-workflow@0.45.0 2020-11-19 14:03:03 +01:00
Ben Hesseldieck 130f944398
Catch workflowExecuteAfter hook (#1189) 2020-11-19 10:14:43 +01:00
Ben Hesseldieck f2666e92ff
Add preExecuteHooks (#1151)
*  Save initital data on hook error

* 🚧 update function interface

* 🚧 response webhook with error, 🐛 fix adding preExecutionHooks to hooks

* 🔥 remove execute hook

*  execute preExecute hooks on integrated workflows

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2020-11-13 23:31:27 +01:00
Jan Oberhauser d03b21554c 🔖 Release n8n-workflow@0.44.0 2020-11-11 11:56:29 +01:00
Jan Oberhauser 639bdd2ceb Allow custom documentation URLs on credentials & nodes 2020-11-09 12:23:53 +01:00
Jan Oberhauser 9fee42b2a8 Add shear option, resize with alpha color and fix bug 2020-11-09 11:26:46 +01:00
Jan Oberhauser ca1b2d1bd5 🔖 Release n8n-workflow@0.43.0 2020-10-30 09:45:54 +01:00
Jan Oberhauser 66bfcca63f 🐛 Fix issue with IF&Switch node for undefined expressions #1099 2020-10-26 09:43:01 +01:00
Jan Oberhauser 7addd14e36 Add tslintfix script 2020-10-23 09:21:15 +02:00
Jan Oberhauser 546b79bea0 👕 Fix lint issue 2020-10-22 18:00:28 +02:00
Omar Ajoue 37f787d7b2
Load node properties on demand (#1089)
*  Changed rest api endpoint to omit node properties by default.
 Created another endpoint to return all node information based on a list of names

* refactor: changed endpoint to POST instead of GET

* Changed properties to be optional for node description

* Removed eager loading for node properties.

All nodes will have their properties fetched when used in a workflow.
Works when opening an already saved workflow, creating a new one from
scratch or pasting JSON / URLs.

* Removing unnecessary dependency
2020-10-22 17:24:35 +02:00
Jan Oberhauser 40c2acd77b 👕 Fix lint issue 2020-10-22 15:46:03 +02:00
Jan Oberhauser 269bab679d 👕 Fix built issue 2020-10-20 11:15:14 +02:00
Jan Oberhauser 029581df08 🔖 Release n8n-workflow@0.42.0 2020-09-23 13:22:53 +02:00
Jan Oberhauser 62bc1a55cb 🐛 Fix credentials resolve issue 2020-09-23 13:20:50 +02:00
Jan Oberhauser c7f1bb5114 🔖 Release n8n-workflow@0.41.0 2020-09-18 09:59:15 +02:00
Rupenieks 266112a8cb
Clickup OAuth2 support (#649)
* OAuth2 credentials, genericFunctions needed config, UI options for oauth2 support

*  Added options to decide when to to send the bearer

* Fixed "undefined property split" issue

*  Small fix

*  Improvements to ClickUp-Node

*  Improvements

Co-authored-by: Rupenieks <ru@myos,co>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
2020-09-16 09:16:06 +02:00
Jan Oberhauser 181ba3c4e2 📚 License text fix 2020-09-15 07:55:09 +02:00
Jan Oberhauser 653bbda789 🔖 Release n8n-workflow@0.40.0 2020-09-14 13:31:34 +02:00