* feat(cli): Setup error tracking using Sentry
* make error reporting available in the workflows package
* address some of the PR comments
* create a ErrorReporterProxy like LoggerProxy
* remove the `captureError` helper. use ErrorReporterProxy directly
* fix linting issues
* remove ErrorReporterProxy warnings in tests
* check for NODE_ENV === 'production' instead
* IErrorReporter -> ErrorReporter
* ErrorReporterProxy.getInstance() -> ErrorReporter
* allow capturing stacks in warnings as well
* make n8n debugging consistent with `npm start`
* IReportingOptions -> ReportingOptions
* use consistent signature for `error` and `warn`
* use Logger instead of console.log
* fix(nodes-base): fix and harmonize all primaryDocumentation links
* feat(workflow, cli): expose documentation links to UI via node codex
* fix(editor-ui): link to correct node and credential documentation URLs
* config(nodes-base): update 'format' script to also format node descriptor json
* chore: fix outdated links to node reference documentation
* 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
* ✨ 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>
* ✨ 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>
* ⚡ 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>