Commit graph

377 commits

Author SHA1 Message Date
Jan Oberhauser 6134175a06 🐛 Fix MySQL credential bug 2021-05-11 23:04:56 -05:00
Omar Ajoue 0867c7bbfe
🐛 Fix issue with long credential names in MySQL (#1771) 2021-05-11 22:43:24 -05:00
Omar Ajoue 6ffc544888
Add await statement to hooks (#1775) 2021-05-11 22:15:22 -05:00
Omar Ajoue d90acdf863
Implement timeout for subworkflows (#1751) 2021-05-07 19:06:26 -05:00
Jan Oberhauser f324fe1dff 🐛 Fix Error-Workflows 2021-05-05 15:18:14 -05:00
Omar Ajoue c972f3dd50
Added logging to n8n (#1381)
* Added logging to n8n

This commit adds logging to n8n using the Winston library.

For now, this commit only allows logging to console (default behavior)
or file (need to pass in config via environment variables).

Other logging methods can be further implemented using hooks. These were
skipped for now as it would require adding more dependencies.

Logging level is notice by default, meaning no additional messages would
be displayed at the moment. Logging level can be set to info or debug as
well to enrich the generated logs.

The ILogger interface was added to the workflow project as it would make
it available for all other projects but the implementation was done on
the cli project.

* Lint fixes and logging level naming. Also fixed the way we use the logger as it was not working previously

* Improvements to logging framework

Using appropriate single quotes
Improving the way the logger is declared

* Improved naming for Log Types

* Removed logger global variable, replacing it by a proxy

* Add logging to CLI commands

* Remove unused GenericHelpers

* Changed back some messages to console instead of logger and added npm
shortcuts for worker and webhook

* Fix typos

* Adding basic file rotation to logs as suggested by @mutdmour

* Fixed linting issues

* Correcting comment to correctly reflect space usage

* Added settings for log files rotation

* Correcting config type from String to Number

* Changed default file settings to number

To reflect previous changes to the type

* Changed the way log messages are added to be called statically. Also minor naming improvements

* Applying latest corrections sent by @ivov

*  Some logging improvements

* Saving logs to a folder inside n8n home instead of root

* Fixed broken tests and linting

* Changed some log messages to improve formatting

* Adding quotes to names  on log messages

* Added execution and session IDs to logs. Also removed unnecessary line breaks

*  Added file caller to log messages (#1657)

This is done using callsites library which already existed
in the project as another library's dependency. So in fact
it does not add any new dependency.

* Adding logs to help debug Salesforce node

*  Add function name to logs and add more logs

*  Improve some error messages

*  Improve some more log messages

*  Rename logging env variables to match others

Co-authored-by: dali <servfrdali@yahoo.fr>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-05-01 22:43:01 -05:00
lublak c83c05456d
Use native fs promise where possible (#1684) 2021-04-30 21:22:15 -05:00
Jan Oberhauser b2e65dceff 🐛 Fix issue that workflows in main process did timeout 2021-04-20 08:55:54 +02:00
Jan Oberhauser b83c2e2a3c 👕 Fix lint issue 2021-04-17 17:23:48 +02:00
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
LongYinan 8ed1099795
Use faster bcrypt implementation (#1593) 2021-04-13 18:26:25 +02:00
Jan Oberhauser 8f3bc32555 🐛 Fix bug with expression in production webhook paths 2021-04-11 15:45:17 +02:00
Jan Oberhauser 2273a4cff2 Make max payload size configurable #1447 2021-04-09 12:13:42 +02:00
Jan Oberhauser bfb179e5f0 Ignore issue as convict types are wrong 2021-03-25 11:42:19 +01:00
Jan Oberhauser 0c0c0bda67 Some cleanup 2021-03-25 11:23:54 +01:00
Jan Oberhauser 5f96f01f24 Make n8n work with new version of convict 2021-03-25 11:17:30 +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
Omar Ajoue 53a20dddce
🐛 Fix issue with subworkflows running on main process (#1557) 2021-03-19 15:18:35 +01:00
Omar Ajoue b879755f0b
🐛 Fix issues with subworkflows not finishing (#1553) 2021-03-18 23:24:57 +01:00
Bruno Bacarini b0b172a362
Add metrics endpoint (#1515)
This commit adds the new package prom-client in order to expose metrics
to prometheus as well as the endpoint and the configuration to do so.
2021-03-11 00:10:10 +01:00
Omar Ajoue d6d57c2df6
🐛 Fixed an issue with queue mode for executions that should not be saved (#1509)
* Fixed an issue with queue mode for executions that should not be saved

*  Minimal change

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-03-10 15:51:18 +01:00
Omar Ajoue 3d80129a28
🐛 Fix performance and crashes with latest updates (#1524)
* Removing unnecessary data from process communication

* Wrapping progress save in a try ... catch block to prevent crashes

* Migration to fix mysql problems with big data on executions

*  Minor formatting fixes

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-03-10 10:50:07 +01:00
Omar Ajoue 66a345ea94
🐛 Fix issue with auto refresh on execution list (#1475)
* Fix issue with auto refresh on execution list

When auto refresh is on, we used to get executions from backend using
the firstId field to filter recent executions.

This is a problem when you have executions that do not finish in order,
leaving gaps behind. This PR fixes this problem by refreshing the latest
30 executions and correctly adding them to the list.

* Fixed an issues with auto refresh on executions ExecutionsList

Fixed two bugs, one in frontend which was ignoring the first returned
row from the backend and an issue with backend that was not using
the overriden version of `executeWorkflow` function for sub sub
workflows.

* Fixed the display of manual executions when running with queues and improved display of subworkflows

* Changing workflow ids array from variable to constant

* Added unknown status to workflow execution and changed its color to orange
2021-03-03 08:31:55 +01:00
Omar Ajoue fc09e4c10e
🐛 Fix issue that manual executionscould not be stopped when running with queue (#1484) 2021-03-01 13:19:29 +01:00
Omar Ajoue 14329b2eb4
🐛 Fixed an issue with current executing workflows when using queues (#1483)
When running n8n in queue mode, the query to search for currently
running workflows would fail on Postgres but work fine with SQLite and
MySQL / MariaDB. This fix makes it work fine for all RDBMS.
2021-03-01 12:55:01 +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
Jan Oberhauser deaa015e61 Do only send manual executions to starting session & cleanup 2021-02-13 20:40:27 +01:00
Iván Ovejero 5baa31b053
Add QuickBooks node (#1365)
* Add OAuth2 credentials

* Adjust credentials params

* Add node to listing

* Add initial node scaffolding

* Remove unused credentials params

* Add customer search with select statement

* Add pagination to customer search

* Add customer creation functionality

* Add customer update functionality

* Small formatting fix

* Adjust property name casing for consistency

* Adjust customer operations for consistency

* Handle large QuickBooks listings

* Add initial estimate resource description

* Add estimate resource retrieval operations

* Refactor customer billing address

* Simplify customer billing address

* Fix casing for customer additional fields

* Adjust types to accommodate loadOptions functions

* Add loadOptions for customers to estimate

* Sort customer update fields alphabetically

* Refactor estimate line into standalone file

* Add stub for PDF retrieval operation

* Add invoice resource description and execute branches

* Implement estimate PDF download functionality

* Place descriptions in their own dir

* Add get and getAll for invoices

* Add send functionality to invoices

* Refactor handling of binary data

* Add invoice voiding functionality

* Add invoice deletion functionality

* Refactor resources into subdirs and add interfaces

* Add get and getAll for bill

* Add payment description

* Add get and getAll for payment

* Make variables in endpoints consistent

* Refactor interfaces for consistency

* Add interface for item resource

* Fill in fields for all resources

* Minor fixes in defaults and descriptions

* Refactor loader

* Add all resources to execute function

* Fix line property duplication

* Add get and getAll for vendor

* Optimize description imports

* Add creation for customer and bill

* Add update operation for bill

* Refactor create and update for customer

* Implement employee create and update

* Implement create and update for estimate

* Make address params more consistent

* Add create and update to payment

* Add item operations

* Add create and delete operations for invoice

* Refactor binary data handler

* Refactor generic functions

* Add create and update operations for vendor

* Fix build

* Fix total amount in bill:update

* Fix balance in bill:update

* Remove currency from bill:update

* Implement reference retrieval in bill:update

* Fix failing params in customer:update

* Fix param in employee:update

* Implement reference retrieval in estimate:update

* Fix failing params in estimate:update

* Fix failing params in invoice:update

* Fix failing param in vendor:update

* Implement reference retrieval in payment:update

* Remove unused interfaces

* Rename line property function

* Remove hared directory

* Refactor reference and sync token retrieval

* Fix line structure in bill:create

* Fix line structure in estimate:create

* Flatten responses

* Refactor line processing

* Remove unused interfaces

* Add endpoint documentation

* Fix payment:void content type

* Fix default for bill line item

* Hide auth URI query parameters

* Hide auth header parameter

* Add switch for credentials environment

* Adjust OAuth2 callback to accommodate realmId

* Retrieve realmId from OAuth2 flow

*  Improvements

* Reposition dividers

* Add IDs to display names of reference fields

* Add estimate:delete and bill:delete

* Load items in lines for bill, estimate and invoice

* Add filename for binary property in PDF download

*  Improvements

* Adjust field description

* Implement estimate:send

* Adjust field description

* Adjust custom field descriptions

* Add missing period to description

*  Minor improvements on QuickBooks-Node

* Add descriptions for bill

* Add descriptions for customer

* Add descriptions for employee

* Add descriptions for estimate

* Add descriptions for invoice

* Add descriptions for payment

* Add descriptions for vendor

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-02-13 17:27:08 +01:00
Jan Oberhauser 53234770a7 🐛 Fix issue of current execution query with unsaved running workflow 2021-02-11 14:55:59 +01:00
Omar Ajoue e53efdd337
Separate webhooks from core (#1408)
* 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

* Added webhooks service and setting to disable webhooks from main process

* Fixed executions list when running with queues. Now we get the list of actively running workflows from bull.

* Add option to disable deregistration of webhooks on shutdown

* Rename WEBHOOK_TUNNEL_URL to WEBHOOK_URL keeping backwards compat.

* Added auto refresh to executions list

* Improvements to workflow stop process when running with queues

* Refactor queue system to use a singleton and avoid code duplication

* Improve comments and remove unnecessary commits

* Remove console.log from vue file

* Blocking webhook process to run without queues

* Handling execution stop graciously when possible

* Removing initialization of all workflows from webhook process

* Refactoring code to remove code duplication for job stop

* Improved execution list to be more fluid and less intrusive

* Fixing workflow name for current executions when auto updating

*  Right align autorefresh checkbox

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-02-09 23:32:40 +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 5398a06ff2 Add variable $mode 2021-01-29 09:31:40 +01:00
Ben Hesseldieck 8764171989
🎨 small webhook refactorings (#1383)
* 🧹 clean up forgotten leftover

* 🎨 reset req.params

* 🐛 Bugfix and minor change on request parameters

*  Minor improvements on request parameters

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-01-28 15:44:10 +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 bd4639b644 🐛 Fix bug with expressions in credentials 2021-01-26 16:52:35 +01:00
Jan Oberhauser 1dedb3f4b8 Add expression support to credentials 2021-01-24 13:33:57 +01:00
Jan b33a5fcd13
💥 Remove MongoDB support 2021-01-23 20:35:38 +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
Ahsan Virani 4d446229c3
Introduce FE external hooks (#1332)
*  Introduce FE external hooks

*  update hooks

*  add data from frontend settings to hooks

* re-organize and update

* cleanup

* 👌

*  cleanup workflowSave mixin, add events

* avoid alert on new workflow save as

*  update workflow active events

* rename externalhooks method

*  Rename frontend hooks

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-01-19 23:48:30 +01:00
Jan Oberhauser ed1f29feba Make it possible to supply hook data with reload 2020-12-30 11:45:29 +01:00
Jan Oberhauser 0918106328 Make it possible to return string via Webhook-Node 2020-12-14 15:09:41 +01:00
Jan Oberhauser 7cdbe5c147 👕 Fix lint issue 2020-12-12 20:59:17 +01:00
Jan Oberhauser d306be8099 🐛 Fix bug in own error-workflow addition 2020-12-12 18:41:11 +01:00
lublak 8b567c20b9
Allow workflow to trigger on own error trigger (#1205)
* allow workflow to trigger on own error trigger

* use config errorTriggerType instance of a static string

* don't trigger twice
2020-12-12 18:36:47 +01:00
Jan Oberhauser ea79e80c17 Make it possible to load only specific nodes 2020-12-01 10:53:43 +01:00
Jan Oberhauser e428ccffba Make it possible to reload hook-files 2020-11-25 15:42:33 +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 0f95ad4446 🐛 Fix retry buy with current workflow #1144 2020-11-11 10:24:10 +01:00
Jan Oberhauser 0f0dfa2191 Minor improvements and lint-fix 2020-10-28 23:38:53 +01:00
AxelRueweler 5460b69418
Select executions by the firstId (#1108)
* Add option to get the full execution data from the server.

* Select Executions by the firstId.
2020-10-28 23:34:16 +01:00
Jan Oberhauser 609a2a4791 👕 Fix lint issue 2020-10-26 21:26:52 +01:00
AxelRueweler 7aeafc9f27
Add option to get the full execution data from the server. (#1101) 2020-10-26 21:19:44 +01:00
Jan Oberhauser 53162ba462 Minor improvements on loading parameters on demand 2020-10-22 17:32:05 +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 b171cfbb10 Fix issue with thrown errors for nodes with multiple webhooks 2020-10-21 17:50:23 +02:00
Jan Oberhauser 3afc7a3deb 🐛 Fix issue that none active workflow got displayed as active 2020-10-21 10:26:15 +02:00
Jan Oberhauser 70435b582a Add hook which gets called after a workflow execution 2020-10-20 19:01:40 +02:00
Ben Hesseldieck 99b637330b
add afterDelete hook (#1054) 2020-10-14 17:47:43 +02:00
Ben Hesseldieck 28074d94a4
Add hooks (#1053)
*  add 2 hooks

*  Fix issue that if hook errors n8n would not shut down

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2020-10-14 16:38:48 +02:00
Jan Oberhauser 23dbdbc169 Add hook which allows to overwrite frontend settings 2020-09-30 16:11:45 +02:00
Jan Oberhauser f1680386ca Get OAuth-Callback URLs from backend 2020-09-30 15:57:40 +02:00
Jan Oberhauser 2072f53316 Change bcrypt library to make it work better in windows 2020-09-28 14:31:14 +02:00
Jan Oberhauser 3374fda7c6 Make it possible to open endpoints 2020-09-23 14:14:31 +02:00
Jan Oberhauser 88ccc5cb6f 🐛 Fix credential rename issue for active workflows #935 2020-09-23 09:43:00 +02:00
Jan Oberhauser 1401cebdc3 👕 Fix lint issue 2020-09-23 09:28:02 +02:00
Jan Oberhauser 690e76e187 Add hook which gets called once n8n is ready 2020-09-17 21:26:34 +02:00
Ahsan Virani 4056b6861c
Ignore credentials endpoint in Auth (#966) 2020-09-17 11:24:34 +02:00
Jan Oberhauser 2fee4396f1 🐛 Fix Test-Webhook registration issues 2020-09-16 23:57:17 +02:00
Jan Oberhauser 3d003fca72 Improve speed of basic-auth with hashed password 2020-09-14 19:58:21 +02:00
Jan Oberhauser 6d8e9b1cd2 🐛 Fix issue with overwrites 2020-09-13 12:35:13 +02:00
Jan Oberhauser 99f7eb2eca Apply also credential overwrites of parent and fix bug 2020-09-12 21:13:57 +02:00
Jan Oberhauser c8d009bced Add expression support to credentials 2020-09-12 12:16:07 +02:00
Ben Hesseldieck 279af6251b
Adjustions for utilizing an external OAuth Hook (#945)
* 🚧 add oauth redirect env variable, add host to oauth state

* 🎨 format

* 🚧 reset changes

* 🚧 add hook

* 🚧 remove host from inital state
2020-09-11 12:15:06 +02:00
Ahsan Virani 2a6f4ebf86
Add hash support in basic auth (#943) 2020-09-10 17:49:44 +02:00
Jan Oberhauser 013a7b8cf9 Add hooks for oauth-authentication 2020-09-10 10:16:24 +02:00
Jan Oberhauser 313c8c14dc Overwrite credential data only if there is no data set yet 2020-09-06 22:16:42 +02:00
Jan Oberhauser a9bfb506ff Update buffer code to not get deprecation message 2020-09-01 17:50:51 +02:00
Jan Oberhauser d2f6bd7e42 👕 Fix lint issue 2020-09-01 09:22:41 +02:00
Jan Oberhauser 22c40d026b 🐛 Fix bug that workflows did not get activated correctly 2020-08-30 11:06:46 +02:00
Jan Oberhauser b26baa902f 🐛 Add missing rawBody for "application/x-www-form-urlencoded" 2020-08-28 18:15:34 +02:00
Jan Oberhauser 7259aa4cf6 🐛 Add rawBody to every request that n8n does not error if body is missing 2020-08-27 15:19:10 +02:00
Jan Oberhauser 843569f608 👕 Fix lint issues and indentation 2020-08-27 15:09:31 +02:00
Jan Oberhauser 228d97d65c 🐛 Fix wrong favicon path #841 2020-08-14 23:20:07 +02:00
ricardo baac8edeb0 Merge 'master' into 'Bitly-OAuth2-support' 2020-08-09 19:12:38 -04:00
Matthew Tovbin 4c275513b4
JWT extras (#817)
* JWT extras: check issues, expiration, namespace and tenant

* idents
2020-08-06 17:44:19 +02:00
Shraddha Shaligram a5b6b3d209
Add Medium Node (#788)
* add medium node

* minor fixes

* fix publication post

* fix according to feedback

* additional fixes

* fix license description

*  Small improvements

*  Improvements

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2020-08-05 09:29:29 +02:00
Jan Oberhauser b488ae8d3a 👕 Fix lint issue 2020-07-29 14:20:31 +02:00
Ben Hesseldieck 051598d30e
Add max execution time for Workflows (#755)
* 🎉 basic setup and execution stopping

* 🚧 soft timeout for own process executions

* 🚧 add hard timeout for subprocesses

* 🚧 add soft timeout to main thread

* 🔧 set default timeout to 5 mins --> 500s

* 💡 adding documentation to configs

* 🚧 deactivate timeout by default

* 🚧 add logic of max execution timeout

*  adding timeout to settings in frontend and server

* 🎨 improve naming

* 💡 fix change in config docs

* ✔️ fixing compilation issue

* 🎨 add format for new config variables

* 👌 type cast before checking equality

*  Improve error message if NodeType is not known

* 🐳 Tag also rpi latest image

* 🐛 Fix Postgres issue with Node.js 14 #776

* 🚧 add toggle to activate workflow timeout

* 💄 improving UX of setting a timeout and its duration

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2020-07-29 14:12:54 +02:00
Jan Oberhauser a46a6fa00c 👕 Fix lint issue 2020-07-26 11:59:17 +02:00
Jan Oberhauser 9c266e7aea Small improvements to OPTIONS request for webhooks 2020-07-24 16:45:07 +02:00
Rupenieks 82d94873fc
OPTIONS request support for Production/Test Webhooks (#787)
* 🐛 Fix naming of events in AffinityTrigger Node

* 🚧 OPTIONS allow header response for production webhooks

*  Implemented Allow header for test webhook OPTIONS response

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2020-07-24 16:24:18 +02:00
Jan Oberhauser de8e6f2811 🐛 Fix bug with saving executions of unsaved workflows 2020-07-24 15:16:55 +02:00
Ben Hesseldieck ebe2775701
Add index stopped at (#766)
* 🚧 add index on sqlite

* 🚧 add migration for postgres

* 🚧 add mysql migration

* 🚧 add mongodb migration

*  revert change of default postgresdb user
2020-07-17 17:08:40 +02:00
Jan Oberhauser 25cc745894 🐛 Fix editor-ui build 2020-07-14 23:36:05 +02:00
Jan Oberhauser df3077b5d2 👕 Fix lint issue 2020-07-14 13:59:37 +02:00
Jan Oberhauser d17161cf40 🔀 Merge branch 'static-stateless-webhooks' 2020-07-14 12:34:34 +02:00
Jan Oberhauser 8bfc5a4b65 Small improvements on execution pruning 2020-07-12 12:49:42 +02:00
Jan Oberhauser 78dc1e9449 🔀 Merge branch 'master' into WorkflowExecutionMaintainance 2020-07-12 12:20:59 +02:00
Jan Oberhauser 941ee06b14 Make n8n work in subfolder & Fix events in AffinityTrigger 2020-07-12 12:17:01 +02:00
Ben Hesseldieck b956444c0e 🐎 pruning execution data complete 2020-07-09 16:52:38 +02:00
Ben Hesseldieck 05507fc19b 🎉 basic throtteling with cleaning logs 2020-07-09 15:17:47 +02:00
ricardo c6e060904e Fix issue with OAuth2 2020-07-08 15:15:33 -04:00
Ricardo Espinoza 8aff042e04
* Endpoint to preset credentials
*  Endpoint to preset credentials

*  Improvements

* 🐛 Small fix

* 🐛 Small fix
2020-07-07 19:03:53 +02:00
Jan Oberhauser d72a711957 🐛 Fix credential issue with ExecuteWorkflow-Node 2020-07-01 15:08:00 +02:00
Jan Oberhauser 6af3743e1b Add Postgres SSL support 2020-06-25 11:39:04 +02:00
Jan Oberhauser 93afb0940b Use rest endpoint configuration 2020-06-23 16:12:53 +02:00
Jan Oberhauser e60edc3bff Minor improvements 2020-06-23 12:43:40 +02:00
ricardo 494b1de93f Merge branch 'master' into static-stateless-webhooks 2020-06-22 16:16:50 -04:00
ricardo e59dd00c10 done 2020-06-22 13:26:41 -04:00
ricardo 3ca9647215 Add mongodb migration 2020-06-20 21:59:06 -04:00
Jan Oberhauser 5db2ce2924 🐛 Fix issue that changed static data in webhook function did not get
saved
2020-06-20 12:28:56 +02:00
ricardo 84c4b32261 Added migrations to Sqlite and Mysql 2020-06-17 23:42:04 -04:00
Jan Oberhauser a5055940b3 🐛 Fix issue with multiuser-setup 2020-06-13 12:34:20 +02:00
Jan Oberhauser ed160764c9 Remove debug messages 2020-06-12 15:51:38 +02:00
Jan Oberhauser 17ee152eaf Fix indentation 2020-06-10 15:58:57 +02:00
Jan Oberhauser 5ed86670a8 Make it use of full webhook path more generic 2020-06-10 15:39:15 +02:00
Jan Oberhauser 1451f94814 🔀 Merge branch 'external-hooks' 2020-06-10 13:02:45 +02:00
Jan Oberhauser 57b3a2e05e Cleanup of external hooks 2020-06-10 13:00:28 +02:00
Jan Oberhauser c7a901083b 🔀 Merge branch 'master' of github.com:n8n-io/n8n 2020-06-04 17:03:11 +02:00
Jan Oberhauser f9b3cced5c 🔀 Merge branch 'master' into oauth-support 2020-06-04 09:44:21 +02:00
Patrick Wellever 49ea7e2739
Make server listen address configurable (#618) 2020-06-04 09:36:10 +02:00
Jan Oberhauser 35c149c7b1 Fix small issue 2020-06-03 19:58:55 +02:00
Tei1988 e19cd9c118
Add support for scoped npm packages (#612) 2020-06-03 19:40:39 +02:00
Jan Oberhauser e3a6064196 Small changes to Twitter-Node 2020-06-03 15:06:13 +02:00
ricardo af3d799e5c Oauth1 support and Twitter node 2020-06-01 20:42:44 -04:00
ricardo 4e9490a88d Improvements 2020-05-30 19:04:04 -04:00
ricardo 91c40367e1 Done 2020-05-27 19:32:56 -04:00
Jan Oberhauser f1f09d4a03 🔀 Merge branch 'master' into oauth-support 2020-05-24 20:37:59 +02:00
Allan Clempe d79f22d0db
Changed glob pattern to also search nodes in subfolders. (#574) 2020-05-23 01:09:05 +02:00
Jan Oberhauser 95097a8bd7 🐛 Fix issue with credentials which extend others 2020-05-16 19:22:06 +02:00
Jan Oberhauser cfe6e72440 Do not save credential default values to DB #PROD-52 2020-05-14 14:27:19 +02:00
Jan Oberhauser 09a4b44875 🔀 Merge branch 'master' into oauth-support 2020-05-13 13:39:35 +02:00
Jan Oberhauser 6c685ccae1 🐛 Fix postgres schema 2020-05-13 09:31:31 +02:00
Jan Oberhauser 96e5d34065 🐛 Fix entityPrefix 2020-05-13 09:22:14 +02:00
Jan Oberhauser 74fac1e56c Do not overwrite all oauth data on reconnect #PROD-24 2020-05-13 01:07:34 +02:00
Jan Oberhauser ea47e8b1bc Fix issue that OAuth data got overwritten with every save #PROD-22 2020-05-13 00:40:05 +02:00
Jan Oberhauser 147c50485c 🔀 Merge branch 'master' into oauth-support 2020-05-12 01:56:27 +02:00
Jan Oberhauser 231bd9f5c7 Save also static data after Trigger-emit 2020-05-09 00:55:47 +02:00
Jan Oberhauser e0859ae0e2 🔀 Merge branch 'Rupenieks-Programmatic-migrations' 2020-05-07 01:24:41 +02:00
Jan Oberhauser 6e1254fd54 Add additional external workflow hooks 2020-05-06 00:59:58 +02:00
zou wendi e4cc3a4bc9 features: support jira self-hosted server 2020-05-05 12:07:19 +08:00
Jan Oberhauser 0387671cae Add additional external hooks and provide additional data 2020-05-05 01:23:54 +02:00
Jan Oberhauser 42b997fdb4 Improve database migrations 2020-05-04 17:29:39 +02:00
Jan Oberhauser 75f0a653e4 🔀 Merge branch 'Programmatic-migrations' of https://github.com/Rupenieks/n8n into Rupenieks-Programmatic-migrations 2020-05-04 16:27:30 +02:00
Jan Oberhauser a380a9a394 Add first basic code for external hooks 2020-05-04 08:56:01 +02:00
Jan Oberhauser 42f6f4af2c Display an error when unsaved workflow gets executed with webhook 2020-05-03 17:55:14 +02:00
Jan Oberhauser a0ef209752 🔀 Merge branch 'surveymonkey-dev' 2020-05-02 12:32:00 +02:00