Ensure all errors in `workflow` are `ApplicationError` or children of it
and contain no variables in the message, to continue normalizing all the
errors we report to Sentry
Follow-up to: https://github.com/n8n-io/n8n/pull/7873
This change ensures that things like `encryptionKey` and `instanceId`
are always available directly where they are needed, instead of passing
them around throughout the code.
* 🔧 Adjust base ESLint config
* 🔧 Adjust `lint` and `lintfix` in `nodes-base`
* 🔧 Include `test` and `utils` in `nodes-base`
* 📘 Convert JS tests to TS
* 👕 Apply lintfixes
* Improve code health
Fix TS typos in local variables
Fix CSS typos in local styles
Fix typos in comments
Fix typos in strings
* Fix order of n8n setup sections in CONTRIBUTING.md
* ✨ Add pairedItem support
* 👕 Fix lint issue
* 🐛 Fix resolution in frontend
* 🐛 Fix resolution issue
* 🐛 Fix resolution in frontend
* 🐛 Fix another resolution issue in frontend
* ⚡ Try to automatically add pairedItem data if possible
* ⚡ Cleanup
* ⚡ Display expression errors in editor UI
* 🐛 Fix issue that it did not display errors in production
* 🐛 Fix auto-fix of missing pairedItem data
* 🐛 Fix frontend resolution for not executed nodes
* ⚡ Fail execution on pairedItem resolve issue and display information
about itemIndex and runIndex
* ⚡ Allow that pairedItem is only set to number if runIndex is 0
* ✨ Improve Expression Errors
* ⚡ Remove no longer needed code
* ⚡ Make errors more helpful
* ⚡ Add additional errors
* 👕 Fix lint issue
* ⚡ Add pairedItem support to core nodes
* ⚡ Improve support in Merge-Node
* ⚡ Fix issue with not correctly converted incoming pairedItem data
* 🐛 Fix frontend resolve issue
* 🐛 Fix frontend parameter name display issue
* ⚡ Improve errors
* 👕 Fix lint issue
* ⚡ Improve errors
* ⚡ Make it possible to display parameter name in error messages
* ⚡ Improve error messages
* ⚡ Fix error message
* ⚡ Improve error messages
* ⚡ Add another error message
* ⚡ Simplify
* refactor tabs out
* refactor execute button
* refactor header
* add more views
* fix error view
* fix workflow rename bug
* rename component
* fix small screen bug
* move items, fix positions
* add hover state
* show selector on empty state
* add empty run state
* fix binary view
* 1 item
* add vjs styles
* show empty row for every item
* refactor tabs
* add branch names
* fix spacing
* fix up spacing
* add run selector
* fix positioning
* clean up
* increase width of selector
* fix up spacing
* fix copy button
* fix branch naming; type issues
* fix docs in custom nodes
* add type
* hide items when run selector is shown
* increase selector size
* add select prepend
* clean up a bit
* Add pagination
* add stale icon
* enable stale data in execution run
* Revert "enable stale data in execution run"
8edb68dbff
* move metadata to its own state
* fix smaller size
* add scroll buttons
* update tabs on resize
* update stale data on rename
* remove metadata on delete
* hide x
* change title colors
* binary data classes
* remove duplicate css
* add colors
* delete unused keys
* use event bus
* refactor header out
* support different nodes
* update selector
* add immediate input
* add branch overrides
* split output input run index
* clean up unnessary data
* add missing keys
* update key names
* remove unnessary css/js
* fix outputs panel
* set max width on input selector
* fix selector to show parent nodes
* fix bug when switching between nodes
* add linking and refactor
* add linking
* fix minor issues
* hide linking when cannot link
* fix type
* fix error state
* clean up import
* fix linking edge cases
* hide input panel for triggers
* disable for start node
* format file
* refactor output panel
* add empty input hint
* update too much data view
* update slot, message under branch
* no input data view
* add node not run/no output data views
* add tooltip support on execute prev
* fix spacing in view
* address output views
* fix run node hint view
* fix spinner
* center button
* update message to use node name
* update title of no output data message
* implement loading states
* fix sizes
* fix sizes
* update spinner
* add wire me up image
* update link
* update panels design
* fix unclickable area bug
* revert change
* fix clickable bg
* fix up positioning
* ensure bg is clickable
* fix up borders
* fix height
* move border to wrapper
* set box shadow
* set box shadow
* add drag button
* add dragging for main panel
* set max width of panels
* set min width in js
* keep showing drag while dragging
* fix dragging leaving modal
* update trigger position of main panel
* move main panel position into store
* clear metadata after changing workflow
* center grid correctly
* add drag arrows
* add dragging hover
* fix cursor behavior
* update no output state
* show last run on open
* always set to latest run
* fix padding
* add I wish this node would
* clean up unsued data
* inject run info into run
* refactor out drag button
* fix dragging issue
* fix arrow bug
* increase width of panel
* change run logic
* set label font sizes
* update radiobutton pos
* address header issues
* fix prev spacing bug
* fix input order
* set package lock
* add close modal event
* complete close modal event
* add input change event
* add dragging event
* add event on view change
* add page size event
* rename event
* add event on page change
* add link click event
* add linking event
* rename var
* add run change event
* add button events
* add branch event
* add structure for open event
* add input type
* set session id
* set sessionid/source for expression events
* add params to expression events
* make display modes global
* add display mode to tracking
* add more event tracking
* add has_mapping param
* make main panel position global
* dedupe list
* fix cursor while dragging
* address feedback
* reduce bottom scrim
* remove empty option hint
* add hint tooltip
* add tritary button
* update param names
* update parameter buttons
* center empty states
* move feature request message
* increase max width for inputs selector
* fix error dispaly padding
* remove immediate
* refactor search logic to return object
* fix console errors
* fix console errors
* add node distance
* refactor how input nodes listed
* remove console log
* set package lock
* refactor recursive logic
* handle overrides
* handle default case without inputs
* fix bug width link
* fix tabs arrow bug
* handle binary data case
* update node execution
* fix merge logic
* remove console log
* delete func
* update package lock
* add hover area
* switch first input node
* keep recursive order
* make breadth first traversal
* fix overflow bug, add pluralization
* update docs url
* update drop shadow
* set background color for button
* update input
* fix truncation
* update index of input dropdown
* fix binary background
* update telemetry
* fix binary data switching
* check all parent connections for executed node
* check current state for executing node
* fix executing states
* update loading states
* use pluralization for items
* rename modal
* update pluralization
* update package lock
* update empty messagE
* format file
* refactor out dragging logic
* refactor out dragging
* add back panel position
* add telemetry params
* add survey url as const
* remove extra space, add dot
* rename tabs, update telemetery, fix telemetry bug
* update execute prev button
* rename workflow func
* rename workflow func
* delete unnessary component
* fix build issue
* add tests for workflow search
* format + add tests
* remove todo comment
* update iconnection type to match workflows
* Revert "update iconnection type to match workflows"
3772487d98
* update func comment
* fix formatting issues
* add tertiary story
* add spinner story
* remove todo comment
* remove eslint check
* update empty messagE
* 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>
* 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>
* ⚡ 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>