* ✨ Implemented initial onboarding call prompt logic
* ✨ Added onboarding call prompt feature environment variable
* ✨ Implemented onboarding session signup modal
* 📈 Added initial telemetry for the onboarding call prompt
* ✔️ Fixing linter error in server.ts
* 💄 Updating onboaring call prompt and modal wording and styling
* ✨ Implemented initial version of fake doors feature
* ✨ Added parameters to onboarding call prompt request
* ✨ Finished implementing fake doors in settings
* 🔨 Updating onboarding call prompt fetching logic (fetching before timeout starts)
* 👌 Updating onboarding call prompt and fake door components based on the front-end review feedback
* ✨ Updated fake doors so they support UI location specification. Added credentials UI fake doors.
* ⚡ Added checkbox to the signup form, improved N8NCheckbox formatting to better handle overflow
* 💄 Moving seignup checkbox label text to i18n file, updating checkbox component css to force text wrap
* ✨ Update API calls to work with the new workflow request and response formats
* 👌 Updating fake door front-end based on the review feedback
* 👌 Updating onboarding call prompt and fake doors UI based in the product feedback
* ✨ Updated onboarding call prompts front-end to work with new endpoints and added new telemetry events
* 🐛 Fixing onboarding call prompts not appearing in first user sessions
* ⚡️ add createdAt to PublicUser
* 👌 Updating onboarding call prompts front-end to work with the latest back-end and addressing latest product review
* ✨ Improving error handling when submitting user emails on signup
* 💄 Updating info text on Logging feature page
* 💄 Updating first onboarding call prompt timeout to 5 minutes
* 💄 Fixing `N8nCheckbox` component font overflow
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
* Boilerplate with new node's version for metabse
* Metabases MVP features
* Added new credential for metabse, added custom auth for metabase
* Fixed bug with one enpoint not working
* Clean up code
* Uniformised the renovate token
* Made two example of responses for review
* Fixed lint issues
* Feature add datasources
* Changed output from databases
* Changed questions data output
* Fixed issue when testing credentials with new node format
* Add the possibility to get raw data
* Removed handle for the metabase meta results, changed export's name
* Add binary extraction for the result data
* Fixed binary download issue
* ⚡ Add preAuthentication method to credentials
* Revert "Added new credential for metabse, added custom auth for metabase"
This reverts commit 5f1b7607ad.
* Revert "Added new credential for metabse, added custom auth for metabase"
This reverts commit 5f1b7607ad.
* Added preAuth and fixed autfixable linting rules
* Fixed linting errors
* Linting fixes
* Remove / at the end of url, and add placeholder for cred url
* Make export to Json retun only json and no binary
* Fix lint issues
* Add action and exception for lint rule
* Remove unnecessary credential file
* ⚡ Simplify and cleanup
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* ✨ Make it possible to dynamically load node packages
* ⚡ Fix comment
* ✨ Make possible to dynamically install nodes from npm
* Created migration for sqlite regarding community nodes
* Saving to db whenever a package with nodes is installed
* Created endpoint to fetch installed packages
* WIP - uninstall package with nodes
* Fix lint issues
* Updating nodes via API
* Lint and improvement fixes
* Created community node helpers and removed packages taht do not contain nodes
* Check for package updates when fetching installed packages
* Blocked access to non-owner and preventing incorrect install of packages
* Added auto healing process
* Unit tests for helpers
* Finishing tests for helpers
* Improved unit tests, refactored more helpers and created integration tests for GET
* Implemented detection of missing packages on init and added warning to frontend settings
* Add check for banned packages and fix broken tests
* Create migrations for other db systems
* Updated with latest changes from master
* Fixed conflict errors
* Improved unit tests, refactored more helpers and created integration tests for GET
* Implemented detection of missing packages on init and added warning to frontend settings
* 🔥 Removing access check for the Settings sidebar item
* ✨ Added inital community nodes settings screen
* ⚡Added executionMode flag to settings
* ✨ Implemented N8N-callout component
* 💄Updating Callout component template propery names
* 💄 Updating Callout component styling.
* 💄Updating Callout component sizing and colors.
* ✔️ Updating Callout component test snapshots after styling changes
* ✨ Updating the `ActionBox` component so it supports callouts and conditional button rendering
* 💄 Removing duplicate callout theme validation in the `ActionBox` component. Adding a selection control for it in the storybook.
* ✨ Added warning message if instance is in the queue mode. Updated colors based on the new design.
* ⚡ Added a custom permission support to router
* 🔨 Implemented UM detection as a custom permission.
* 👌Updating route permission logic.
* ✨ Implemented installed community packages list in the settings view
* 👌 Updating settings routes rules and community nodes setting view.
* Allow installation of packages that failed to load
* 👌 Updating `ActionBox`, `CommuntyPackageCard` components and settings loading logic.
* 👌 Fixing community nodes loading state and sidebar icon spacing.
* ✨ Implemented loading skeletons for community package cards
* 👌 Handling errrors while loading installed package list. Updating spacing.
* 👌 Updating community nodes error messages.
* Added disable flag
* 🐛 Fixing a community nodes update detection bug when there are missing packages. (#3497)
* ✨ Added front-end support for community nodes feature flag
* ✨ Implemented community package installation modal dialog
* 💄 Community nodes installation modal updates: Moved links to constants and used them in translations, disabling inputs in loading state.
* ✨ Implemented community packages install flow
* Standardize error codes (#3501)
* Standardize error: 400 for request issues such as invalid package name and 500 for installation problems
* Fix http status code for when package is not found
* ✨ Implemented community package installation modal dialog
* 💄 Community nodes installation modal updates: Moved links to constants and used them in translations, disabling inputs in loading state.
* ✨ Implemented community packages install flow
* ✨ Updated error handling based on the response codes
* ✨ Implemented community package installation modal dialog
* ✨ Implemented community package uninstall flow.
* ✨ Finished update confirm modal UI
* 💄 Replaced community nodes tooltip image with the one exported from figma.
* ✨ Implemented community package update process
* ✨ Updating community nodes list after successful package update
* 🔒 Updating public API setting route to use new access rules. Updating express app definition in community nodes tests
* ✨ Implemented community package installation modal dialog
* 💄 Community nodes installation modal updates: Moved links to constants and used them in translations, disabling inputs in loading state.
* ✨ Implemented community packages install flow
* ✨ Updated error handling based on the response codes
* Change output for installation request
* Improve payload for update requests
* 👌 Updating community nodes install modal UI
* 👌 Updating community nodes confirm modal logic
* 👌 Refactoring community nodes confirm modal dialog
* 👌 Separating community nodes components loading states
* 💄 Updating community nodes install modal spacing.
* Fix behavior for installing already installed packages
* 💡 Commenting community nodes install process
* 🔥 Removing leftover commits of deleted Vue mutations
* ✨ Updated node list to identify community nodes and handle node name clash
* ✨ Implemented missing community node dialog.
* 💄 Updating n8n-tabs component to support tooltips
* ✨ Updating node details with community node details.
* 🔨 Using back-end response when updating community packages
* 👌 Updating tabs component and refactoring community nodes store mutations
* 👌 Adding community node flag to node type descriptions and using it to identify community nodes
* 👌 Hiding unnecessary elements from missing node details panel.
* 👌 Updating missing node type descriptions for custom and community nodes
* 👌 Updating community node package name detection logic
* 👌 Removing communityNode flag from node description
* ✨ Adding `force` flag to credentials fetching (#3527)
* ✨ Adding `force` flag to credentials fetching which can be used to skip check when loading credentials
* ✨ Forcing credentials loading when opening nodeView
* 👌 Minor updates to community nodes details panel
* tests for post endpoint
* duplicate comments
* Add Patch and Delete enpoints tests
* 🔒 Using `pageCategory`prop to assemble the list of settings routes instead of hard-coded array (#3562)
* 📈 Added front-end telemetry events for community nodes
* 📈 Updating community nodes telemetry events
* 💄 Updating community nodes settings UI elements based on product/design review
* 💄 Updating node view & node details view for community nodes based on product/design feedback
* 💄 Fixing community node text capitalisation
* ✨ Adding community node install error message under the package name input field
* Fixed and improved tests
* Fix lint issue
* feat: Migrated to npm release of riot-tmpl fork.
* 📈 Updating community nodes telemetry events based on the product review
* 💄 Updating community nodes UI based on the design feedback
* 🔀 Merging recent node draggable panels changes
* Implement self healing process
* Improve error messages for package name requirement and disk space
* 💄 Removing front-end error message override since appropriate response is available from the back-end
* Fix lint issues
* Fix installed node name
* 💄 Removed additional node name parsing
* 📈 Updating community nodes telemetry events
* Fix postgres migration for cascading nodes when package is removed
* Remove postman mock for banned packages
* 📈 Adding missing telemetry event for community node documentation click
* 🐛 Fixing community nodes UI bugs reported during the bug bash
* Fix issue with uninstalling packages not reflecting UI
* 🐛 Fixing a missing node type bug when trying to run a workflow.
* Improve error detection for installing packages
* 💄 Updating community nodes components styling and wording based on the product feedback
* Implement telemetry be events
* Add author name and email to packages
* Fix telemetry be events for community packages
* 📈 Updating front-end telemetry events with community nodes author data
* 💄 Updating credentials documentation link logic to handle community nodes credentials
* 🐛 Fixing draggable panels logic
* Fix duplicate wrong import
* 💄 Hiding community nodes credentials documentation links when they don't contain an absolute URL
* Fix issue with detection of missing packages
* 💄 Adding the `Docs` tab to community nodes
* 💄 Adding a failed loading indicator to community nodes list
* Prevent n8n from crashing on startup
* Refactor and improve code quality
* ⚡ Remove not needed depenedency
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Milorad Filipović <milorad@n8n.io>
Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com>
Co-authored-by: agobrech <ael.gobrecht@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
* feat: Migrated to npm release of riot-tmpl fork.
* fix: Updated imports to use @n8n_io/riot-tmpl
* fix: Fixed Logger.ts types.
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
* ✨ 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
* 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>
* 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 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
* ✨ Injecting a welcome sticky note if a corresponding flag has been received from backend
* 🔒 Allowing resources from `/static` route to be displayed in markown component.
* ✨ Implemented image width control via markdown URLs
* 💄Updating quickstart video thumbnail images.
* 🔨 Updated new workflow action name and quickstart sticky name
* ✨ Added quickstart menu item in the Help menu
* 🔨 Moving quickstart video thumbnail to the translation file.
* 🔒 Limiting http static resource requests in markdown img tags only to image files.
* 🔒 Adding more file types to supported image list in markown component.
* 👌 Extracting quickstart note name to constant.
* 🐘 add DB migration sqlite
* ⚡️ add logic for onboarding flow flag
* 🐘 add postgres migration for user settings
* 🐘 add mysql migration for user settings
* ✨ Injecting a welcome sticky note if a corresponding flag has been received from backend
* 🔒 Allowing resources from `/static` route to be displayed in markown component.
* ✨ Implemented image width control via markdown URLs
* 💄Updating quickstart video thumbnail images.
* 🔨 Updated new workflow action name and quickstart sticky name
* ✨ Added quickstart menu item in the Help menu
* 🔨 Moving quickstart video thumbnail to the translation file.
* 🔒 Limiting http static resource requests in markdown img tags only to image files.
* 🔒 Adding more file types to supported image list in markown component.
* 👌 Extracting quickstart note name to constant.
* 📈 Added telemetry events to quickstart sticky note.
* ⚡ Disable sticky node type from showing in expression editor
* 🔨 Improving welcome video link detecton when triggering telemetry events
* 👌Moved sticky links click handling logic outside of the design system, removed user and instance id from telemetry events.
* 👌Improving sticky note link telemetry tracking.
* 🔨 Refactoring markdown component click event logic.
* 🔨 Moving bits of clicked link detection logic to Markdown component.
* 💄Fixing code spacing.
* remove transpileonly option
* update package lock
* 💄Changing the default route to `/workflow`, updating welcome sticky content.
* remove hardcoded
* 🐛 Fixing the onboarding threshold logic so sticky notes are skipped when counting nodes.
* 👕 Fixing linting errors.
Co-authored-by: Milorad Filipović <milorad.filipovic19@gmail.com>
Co-authored-by: Milorad Filipović <miloradfilipovic19@gmail.com>
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Milorad Filipović <milorad@n8n.io>
* ✨ 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
* ⚡ Revert Set Node example changes
* ;rotating_light: Add test
* Centralized error throwing for encryption key
* Unifying the error message used by cli and core packages
* Improvements to error messages to make it more DRY
* Removed unnecessary throw
* Throwing error when credential does not exist to simplify node behavior (#3112)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 🐛 Fix issue when saving long credential's types
The column type in the entity credentials was varchar(33) but nodes like Google Cloud Natural Language exceed the type length. The issue in only found when using Postgres. Mysql works fine as the column type has the proper length. Probably a migration at some point did not property update the column.
https://community.n8n.io/t/google-cloud-natural-language-credentials-error-too-long-value/12003/4
* 👕 Fix lint issue
* ⚡ Improvement
* catch nodegraph errors
* use loglevel config for telemetry
* Use getByNameAndVersion instead of getByName
* remove any usage of nodeTypes.getByName method
* deprecate getByName method
* ✨ change FE to handle new object type
* 🚸 improve UX of handling invalid credentials
* 🚧 WIP
* 🎨 fix typescript issues
* 🐘 add migrations for all supported dbs
* ✏️ add description to migrations
* ⚡ add credential update on import
* ⚡ resolve after merge issues
* 👕 fix lint issues
* ⚡ check credentials on workflow create/update
* update interface
* 👕 fix ts issues
* ⚡ adaption to new credentials UI
* 🐛 intialize cache on BE for credentials check
* 🐛 fix undefined oldCredentials
* 🐛 fix deleting credential
* 🐛 fix check for undefined keys
* 🐛 fix disabling edit in execution
* 🎨 just show credential name on execution view
* ✏️ remove TODO
* ⚡ implement review suggestions
* ⚡ add cache to getCredentialsByType
* ⏪ use getter instead of cache
* ✏️ fix variable name typo
* 🐘 include waiting nodes to migrations
* 🐛 fix reverting migrations command
* ⚡ update typeorm command
* ✨ create db:revert command
* 👕 fix lint error
* ✨ Add optional authenticate method to credentials
* ⚡ Simplify code and add authentication support to MattermostApi
* 👕 Fix lint issue
* ⚡ Add support to own-mode
* 👕 Fix lint issue
* ✨ Add support for predefined auth types bearer and headerAuth
* ⚡ Make sure that DateTime Node always returns strings
* ⚡ Add support for moment types to If Node
* ⚡ Make it possible for HTTP Request Node to use all credential types
* ✨ Add basicAuth support
* Add a new dropcontact node
* ✨ First basic implementation of mainly JSON based nodes
* ✨ Add fixedCollection support, added value parameter and
expression support for value and property
* Improvements to #2389
* ⚡ Add credentials verification
* ⚡ Small improvement
* ⚡ set default time to 45 seconds
* ✨ Add support for preSend and postReceive methods
* ➕ Add lodash merge and set depedency to workflow
* 👕 Fix lint issue
* ⚡ Improvements
* ⚡ Improvements
* ⚡ Improvements
* ⚡ Improvements
* ⚡ Improvements
* 🐛 Set siren and language correctly
* ⚡ Add support for requestDefaults
* ⚡ Add support for baseURL to httpRequest
* ⚡ Move baseURL to correct location
* ✨ Add support for options loading
* 🐛 Fix error with fullAccess nodes
* ✨ Add credential test functionality
* 🐛 Fix issue with OAuth autentication and lint issue
* ⚡ Fix build issue
* 🐛 Fix issue that url got always overwritten to empty
* ✨ Add pagination support
* ⚡ Code fix required after merge
* ⚡ Remove not needed imports
* ⚡ Fix credential test
* ✨ Add expression support for request properties and $self
support on properties
* ⚡ Rename $self to $value
* 👕 Fix lint issue
* ⚡ Add example how to send data in path
* ✨ Make it possible to not sent in dot notation
* ✨ Add support for postReceive:rootProperty
* ⚡ Fix typo
* ✨ Add support for postReceive:set
* ⚡ Some fixes
* ⚡ Small improvement
* ;zap: Separate RoutingNode code
* ⚡ Simplify code and fix bug
* ⚡ Remove unused code
* ✨ Make it possible to define "request" and "requestProperty" on
options
* 👕 Fix lint issue
* ⚡ Change $credentials variables name
* ✨ Enable expressions and access to credentials in requestDefaults
* ⚡ Make parameter option loading use RoutingNode.makeRoutingRequest
* ✨ Allow requestOperations overwrite on LoadOptions
* ✨ Make it possible to access current node parameters in loadOptions
* ⚡ Rename parameters variable to make future proof
* ⚡ Make it possible to use offset-pagination with body
* ✨ Add support for queryAuth
* ⚡ Never return more items than requested
* ✨ Make it possible to overwrite requestOperations on parameter
and option level
* 👕 Fix lint issue
* ✨ Allow simplified auth also with regular nodes
* ✨ Add support for receiving binary data
* 🐛 Fix example node
* ⚡ Rename property "name" to "displayName" in loadOptions
* ⚡ Send data by default as "query" if nothing is set
* ⚡ Rename $self to $parent
* ⚡ Change to work with INodeExecutionData instead of IDataObject
* ⚡ Improve binaryData handling
* ⚡ Property design improvements
* ⚡ Fix property name
* 🚨 Add some tests
* ⚡ Add also test for request
* ⚡ Improve test and fix issues
* ⚡ Improvements to loadOptions
* ⚡ Normalize loadOptions with rest of code
* ⚡ Add info text
* ✨ Add support for $value in postReceive
* 🚨 Add tests for RoutingNode.runNode
* ⚡ Remove TODOs and make url property optional
* ⚡ Fix bug and lint issue
* 🐛 Fix bug that not the correct property got used
* 🚨 Add tests for CredentialsHelper.authenticate
* ⚡ Improve code and resolve expressions also everywhere for
loadOptions and credential test requests
* ✨ Make it possible to define multiple preSend and postReceive
actions
* ✨ Allow to define tests on credentials
* ⚡ Remove test data
* ⬆️ Update package-lock.json file
* ⚡ Remove old not longer used code
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: PaulineDropcontact <pauline@dropcontact.io>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
* ⚡ Enable multiple args in logging via nodes
* 👕 Fix lint
* ⚡ Change to behave more as expected
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* ✨ Add Webhook-Response-Node
* ⚡ Replace callback function with promise
* ✨ Add support for Bull and binary-data
* ✨ Add string response option
* ⚡ Remove some comments
* ✨ Make more generically possible & fix issue multi call in
queue mode
* ⚡ Fix startup and eslint issues
* ⚡ Improvements to webhook response node and functionality
* ⚡ Replace data with more generic type
* ⚡ Make statusMessage optional
* ⚡ Change parameter order
* ⚡ Move Response Code underneath options
* ⚡ Hide Response Code on Webhook node if mode responseNode got selected
* ⚡ Minor improvements
* ⚡ Add missing file and fix lint issue
* ⚡ Fix some node linting issues
* ⚡ Apply feedback
* ⚡ Minor improvements
* ⚡ introduce versioned nodes
* Export versioned nodes for separate process run
* Add bse node for versioned nodes
* fix node name for versioned nodes
* extend node from nodeVersionedType
* improve nodes base and flow to FE
* revert lib es2019 to es2017
* include version in key to prevent duplicate key
* handle type versions on FE
* clean up
* cleanup nodes base
* add type versions in getNodeParameterOptions
* cleanup
* code review
* code review + add default version to node type description
* remove node default types from store
* 💄 cleanups
* Draft for migrated Mattermost node
* First version of Mattermost node versioned according to node standards
* Correcting deactivate operations name to match currently used one
* ✨ Create utility types
* ⚡ Simplify Mattermost types
* ⚡ Rename exports for consistency
* ⚡ Type channel properties
* ⚡ Type message properties
* ⚡ Type reaction properties
* ⚡ Type user properties
* ⚡ Add type import to router
* 🐛 Add missing key
* 🔨 Adjust typo in operation name
* 🔨 Inline exports for channel properties
* 🔨 Inline exports for message properties
* 🔨 Inline exports for reaction properties
* 🔨 Inline exports for user properties
* 🔨 Inline exports for load options
* 👕 Fix lint issue
* 🔨 Inline export for description
* 🔨 Rename descriptions for clarity
* 🔨 Refactor imports/exports for methods
* 🔨 Refactor latest version retrieval
* 🔥 Remove unneeded else clause
When the string literal union is exhausted, the resource key becomes never, so TS disallows wrong key usage.
* ✨ Add overloads to getNodeParameter
* ⚡ Improve overload
* 🔥 Remove superfluous INodeVersions type
* 🔨 Relocate pre-existing interface
* 🔥 Remove JSDoc arg descriptions
* ⚡ Minor reformatting in transport file
* ⚡ Fix API call function type
* Created first draft for Axios requests
* Working version of mattermost node with Axios
* Work in progress for replacing request library
* Improvements to request translations
* Fixed sending files via multipart / form-data
* Fixing translation from request to axios and loading node parameter options
* Improved typing for new http helper
* Added ignore any for specific lines for linting
* Fixed follow redirects changes on http request node and manual execution of previously existing workflow with older node versions
* Adding default headers according to body on httpRequest helper
* Spec error handling and fixed workflows with older node versions
* Showcase how to export errors in a standard format
* Merging master
* Refactored mattermost node to keep files in a uniform structure. Also fix bugs with merges
* Reverting changes to http request node
* Changed nullish comparison and removed repeated code from nodes
* Renamed queryString back to qs and simplified node output
* Simplified some comparisons
* Changed header names to be uc first
* Added default user agent to requests and patch http method support
* Fixed indentation, remove unnecessary file and console log
* Fixed mattermost node name
* Fixed lint issues
* Further fix linting issues
* Further fix lint issues
* Fixed http request helper's return type
Co-authored-by: ahsan-virani <ahsan.virani@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* ⚡ Generalize unique entity name generation
* ⚡ Standardize variable names
* redo credentials
* revert some changes, replace got with was
* fix v-if order
* fix v-if order
* update linting
* update gulpfile
* update ssh display name
* update height
* update params
* update info tip sizes
* address design comments
* update google button disabled
* update icon size to 28px
* update design issues
* update info tab design
* address design comments
* update tab size
* update run data spacing
* address comments, update logo design
* fix spacing issues
* clean up store
* fix create new bug
* add loading state
* rename prop
* remove unused prop
* fix select bug
* remove label tag
* update word break
* build
* address design comments
* update font family of button
* update menu opacity
* update text
* update title
* address more comments
* update oauth messages
* add oauth validation
* hide disabled state
* update warning modal
* show button on text input
* clean up cred details
* add validation errors
* fix bug when deleting cred
* Frontend hack to display test button
* Created interfaces for testing and endpoint
* Testing slack node credentials working
* Adding test with node to endpoint for credential testing
* Fixed linting and test detectability
* Adding required for slack token
* Added google sheets credential testing
* update message
* Adding suggestions by Ivan and Mutasem
* Address comments
* keep blurred when focused
* update font weight of errors
* add oauth banner
* remove toast
* Fixed code bug and added telegram credential testing
* scroll to top on success
* clean up duplication
* Fixed telegram trigger node and added tests to typeform
* refactor modal
* add more validation support
* refactor info tab
* scroll to bottom on save, handle cred saving
* refactor save button
* save cred on valid
* save cred on valid
* scroll to top if has error
* add targets on input labels
* delete credentails input
* revert fe changes
* update validation logic
* clean interface
* test credentials
* update banner design
* show testing state
* update x position
* fix issues
* fix focus issues
* clean up validation behavior
* make error relative
* update banner component
* update error spacing
* don't close dialog
* rename button
* update how banners behave
* if has unsaved changes first
* move confirm message
* add success banner
* update time state
* disable transitions
* test on open
* clean up banner behavior
* update banner styling
* capitalize
* update error banner styling to handle long texts
* avoid unnessary content jostling
* add loading label
* show validation warnings when opening modal
* retest cred if not all props req
* update scroll to auto
* add error warning
* update color saturation
* set overflow to auto
* fix bug to get credentials when connected
* round down to minutes
* change tab name
* update casing oauth
* disable credential testing if it has expressions
* label same as title
* add more space between close and save
* remove check on making any changes
* hide close on confirm modals
* don't accept clicks outside dialog
* fix build issues
* undo test changes
* fix table scrollbar logs
* rename modals
* fix bug with same name
* refactor modal
* fix tslint issue
* refactor name
* update name behavior
* update monospace font
* remove comment
* refactor inputs
* refactor error handling
* reduce spacing changes
* fix doc url oauth1 oauth2
* build
* hide infotip if no inputs
* address most comments
* rename file
* fix menu alignment
* gst
* update types
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* refactor saving
* refactor api layer to be stateless
* refactor header details
* set variable for menu height
* clean up scss
* clean up indentation
* clean up dropdown impl
* refactor no tags view
* split away header
* Fix tslint issues
* Refactor tag manager
* add tags to patch request
* clean up scss
* ⚡ Refactor types to entities
* fix issues
* update no workflow error
* clean up tagscontainer
* use getters instead of state
* remove imports
* use custom colors
* clean up tags container
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* fix connection push bug
* :spakles: Implement wait functionality
* 🐛 Do not delete waiting executions with prune
* ⚡ Improve SQLite migration to not lose execution data anymore
* ⚡ Make it possible to restart waiting execution via webhook
* ⚡ Add missing file
* 🐛 Some more merge fixes
* ⚡ Do not show error for Wait-Nodes if in time-mode
* ⚡ Make $executionId available in expressions
* 👕 Fix lint issue
* 👕 Fix lint issue
* 👕 Fix lint issue
* ⚡ Set the unlimited sleep time as a variable
* ⚡ Add also sleeping webhook path to config
* ⚡ Make it possible to retrieve restartUrl in workflow
* ⚡ Add authentication to Wait-Node in Webhook-Mode
* ⚡ Return 404 when trying to restart execution via webhook which does
not support it
* ✨ Make it possible to set absolute time on Wait-Node
* ⚡ Remove not needed imports
* ⚡ Fix description format
* ✨ Implement missing webhook features on Wait-Node
* ⚡ Display webhook variable in NodeWebhooks
* ⚡ Include also date in displayed sleep time
* ⚡ Make it possible to see sleep time on node
* ⚡ Make sure that no executions does get executed twice
* ⚡ Add comment
* ⚡ Further improvements
* ⚡ Make Wait-Node easier to use
* ✨ Add support for "notice" parameter type
* Fixing wait node to work with queue, improved logging and execution view
* Added support for mysql and pg
* ✨ Add support for webhook postfix path
* ✨ Make it possible to stop sleeping executions
* ⚡ Fix issue with webhook paths in not webhook mode
* ⚡ Remove not needed console.log
* ⚡ Update TODOs
* ⚡ Increase min time of workflow staying active to descrease possible issue
with overlap
* 👕 Fix lint issue
* 🐛 Fix issues with webhooks
* ⚡ Make error message clearer
* ⚡ Fix issue with missing execution ID in scaling mode
* Fixed execution list to correctly display waiting executins
* Feature: enable webhook wait workflows to continue after specified time
* Fixed linting
* ⚡ Improve waiting description text
* ⚡ Fix parameter display issue and rename
* ⚡ Remove comment
* ⚡ Do not display webhooks on Wait-Node
* Changed wording from restart to resume on wait node
* Fixed wording and inconsistent screen when changing resume modes
* Removed dots from the descriptions
* Changed docs url and renaming postfix to suffix
* Changed names from sleep to wait
* ⚡ Apply suggestions from ben
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
* Some fixes by Ben
* ⚡ Remove console.logs
* ⚡ Fixes and improvements
Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* Changes to types so that credentials can be always loaded from DB
This first commit changes all return types from the execute functions
and calls to get credentials to be async so we can use await.
This is a first step as previously credentials were loaded in memory and
always available. We will now be loading them from the DB which requires
turning the whole call chain async.
* Fix updated files
* Removed unnecessary credential loading to improve performance
* Fix typo
* ⚡ Fix issue
* Updated new nodes to load credentials async
* ⚡ Remove not needed comment
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* 🐛 fix db connection check
* 👕 fix missing semi
* ⏪ Revert "🐛 Hardcode typeorm@0.2.34 as new version makes health-check fail"
This reverts commit ddee2ec47c.
* 🐛 fix health-check in WebhookServer
* ⚡ Add logging for pruning errors
* ⚡ Reformat pruning date to UTC string
* ⚡ Reformat workflow deletion date to UTC
* ⚡ Enforce UTC datetimes for MySQL
* ⚡ Enforce UTC datetimes for Postgres
* ⏪ Revert "Reformat workflow deletion date to UTC"
This reverts commit ca9628bc6d.
* Added try catch blocks to avoid endlessly running workflows
* Added handling for subworkflows
* ⚡ Fix one cause of "unkown" status of worklows with "main" mode
* ⚡ Fix one cause of "unkown" status of worklows with "own" mode
* ⚡ Fix one cause of "unkown" status of worklows with "queue" mode
* Saving database recovery
* 🐛 Fix issue that errors did not get saved correctly and also not
displayed
* ⚡ Save workflow timeout correctly as error
* Adding error capture to queued jobs
* ⚡ Mark canceled executions as not finished consistently across all
modes
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* 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>
* 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>
* ✨ 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>
* ✨ 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>
* 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>
* 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>
* ✨ 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>
* 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>
* 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
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.
* 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>
* 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>
* 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>
* 🧹 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>
* ⚡ 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
* 🎉 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>
* 🐛 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>
* TIMESTAMP type columns have been replaced by DATETIME. Depending on
the version of MySQL and SQL_MODE, the DBMS does not accept to create
TIMESTAMP NOT NULL columns without a default value;
* In packages/cli/src/Db.ts, conditional test of dbType replaced by a
switch;
* removeAll() function adapted to not cause an error using MySQL;
* Added the cross-env module in the "serve" script in the
packages/editor-ui/package.json file. This was done to ensure
compatibility between platforms when declaring environment variables.
Without it, Windows compilation would give an error, for example;
* .idea added to .gitignore (IntelliJ IDEA solutions);
URL generation for OAuth2 authorization and the subsequent login
callback are handled at the backend API. While this can be done
client side, the credentials are better managed entirely on the
server side.