* N8N-3057 Fixed Keyboard shortcuts no longer working on / Fixed callDebounced function
* N8N-3057 Update Debounce Function
* N8N-3057 Refactor callDebounce function
* N8N-3057 Update Dobounce Function
* catch nodegraph errors
* use loglevel config for telemetry
* Use getByNameAndVersion instead of getByName
* remove any usage of nodeTypes.getByName method
* deprecate getByName method
When deleting the single option inside of an option type,
an empty array was left behind and will be:
- shown as empty heading in UI
- leave an empty array in JSON
* ✨ 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>
* 🔨 base functionality done
* :fix: changes accordingly to review
* :fix: replaced div with n8n-text
* :fix: return wrong deleted color variable
* add mock examples for testing
* add slack node test param
* 🔨 changed font size of hint, added top margin
* 🔨 updated comments and function name
* 🔨 updated parameterHint to hint
* 🔨 updated text color, set compact to true, changed inputLabelHint to hint
* 🔨 updated components styles
* 🔨 replaced mini with xsmall
* :fix: fixed line height
* :fix: changed line height to 1.25
* :hummer: removed mock data
* 🔨 changed xsmall line-height
* ⚡ update to merge hint
Co-authored-by: Mutasem <mutdmour@gmail.com>
* N8N-2619 Value Survey Front-end
* N8N-2619 Added Contact Prompt Modal and logic
* N8N-2619 Added Link to Toast Message on Successful submitting ValueSurvey
* N8N-2619 Updated TypeForm URL in ValueSurvey Success Toast
* N8N-2619 Fixed Typo placeholder for ValueSurvey and ContactPrompt Modal
* N8N-2619 Fixed Toast not close automatically in ValueSurvey, Make part of the title bold, Changed Font-sizes on Value Survey
* N8N-2619 Fixed Close Button on ValueSurvey, Vertical Allignment for Questions in ValueSurvey Drawer
* N8N-2619 Make Value Survey with static height
* N8N-2619 Fixed Telemetry Events on closing ValueSurvey
* N8N-2619 Updated N8NPrompt Interface, Added Dynamic Title and Description on ContactPrompt Modal
* N8N-2619 Reversed Answers in ValueSurveyModal
* N8N-2619 Added Telemetry Event on user close ValueSurvey on second Question
* N8N-2619 Re-work, Optimized, Simplify the code after technical review
* N8N-2619 Fixed If else statement in openUserPromptsIfPossible
* N8N-2619 Change Text under Email Box - ValueSurvey, ContactPrompt, Added new Telemetary Event on ValueSurvey Open, Fixed Toast to close aftet 15s
* N8N-2619 Change ContactPrompt Modal to use Atoms like N8N-Heading and N8N-Text
* N8N-2619 Change Design & Logic on ValueSurvey - When to open
* N8N-2619 Updated Value Survey with new Telemetry Events (Refactor), Simplified functions, Added Atoms in ValueSurvey + ContactPrompt
* N8N-2619 Refactor in Interfaces, Updated/Refactor Getters and Vuex store props
* N8N-2619 Defined IN8nValueSurveyData interface
* N8N-2619 Disabled Keyboard shortcuts to be activated on typing in ValueSurvey Input field, Fire an event on Saving WF from Menu and with shorcut, Make Drawer keep-alive
* N8N-2619 Added Atoms in Value Survey Modal (buttons), Rework css
* N8N-2619 Added Responses on ValueSurvey Submit
* N8N-2619 Added Response for SubmittingContactInfo
* N8N-2619 Added loading state for buttons / ValueSurvey
* N8N-2619 Changed ValueSurvey and ContactPrompt to support enter key on submit, Simplifed closeDialog Function, Changed css for button in ValueSurvey, Prevent showing the Modals if Saving WF fails, Add Debouncing on showing prompt
* N8N-2619 Added IsTelemetryEnabled Getter in Vuex.store
* N8N-2619 Created/Added N8N-SquareButton to Design-system
* N8N-2619 Change Promise in MainSideBar with Async/Await function, Nitpick simpliefied
* N8N-2619 Update the text under the input fields
* N8N-2619 Update the text in ContactPrompt Modal
* N8N-2619 Allign Send button on ValueSurvey Modal
* N8N-2619 Fixed Input in ValueSurvey Modal
* N8N-2619 Check if the workflow is saving
* N8N-2619 Check if WF is saving to allowed performs fetchPromptsData
* N8N-2619 Hotfix
* N8N-2619 Fixed ValueSurvey, Updated onSaveButtonClick function, Created onSaveKeyboardShortcut function in NodeView
* N8N-2619 Rework css module classes for ValueSurvey, Simplified
* N8N-2619 Simplified N8N-SquareButton Component, removed dead code
* N8N-2619 Added Breakpoints for Mobile/Tablet View
* N8N-2619 Formatting fix
* N8N-2619 Update css for mobile/tablet, change promises to asyn/await functions in ContactPrompt and ValueSurvey, Added isActive prop to ValueSurvey
* N8N-2619 Update TEMPLATE_BASE_URL to production
* ⚡ Enable multiple args in logging via nodes
* 👕 Fix lint
* ⚡ Change to behave more as expected
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* N8N-2586 Improve Waiting Webhook call state in WF Canvas
* N8N-2586 Added watcher for showing Webhook's Node Tooltip on execution
* N8N-2586 Show helping tooltip for trigger node if wokrflow is running, it is a trigger node, if it is only one trigger node in WF
* N8N-2586 Rework/Move logic to computed property, Created getter for ActveTriggerNodesInWokrflow, Add style to trigger node's tooltip, remove comments
* N8N-2586 Added EventTriggerDescription prop in INodeTypeDescription Interface, Updated Logic for TriggerNode Tooltip based on the new prop
* N8N-2586 Add new use cases/watcher to show Trigger Nodes Tooltip / If has issues, if paused, if wokrlfow is running, Refactor Getter
* N8N-2586 Added z-index to tooltip, Added new Scenario for Tooltip if it is Draged&Droped on the WF
* N8N-2586 Refactor computed property for draged nodes
* N8N-2586 Fixed Conflicts
* N8N-2586 Fixed Tooltip
* N8N-2586 Dont show tooltip on core trigger nodes that execute automatically
* N8N-2586 Fixed Webhook tooltip when adding/deleting canvas during WF execution
* N8N-2586 Updated Logic, Simplify the code
* N8N-2586 Simplify Code
* N8N-2586 Added check for nodetype
* update dragging to use local state
* N8N-2586 Added eventTriggerDescription to Interval Node
* add comment, use new getter
* update to always check
Co-authored-by: Mutasem <mutdmour@gmail.com>
* N8N-2549 Editor UI - Disabled start node when reseting new workflow
* N8N-2549 Editor UI - Disabled start node when reseting new workflow, reseting the position of the default node
* N8N-2549 Updated Editor-ui - Resetting Default Node (disable, position and all props) when reseting new workflow
* N8N-2549 Remove comment
* ⚡ 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
* add toast for waiting executions
* hide infotip if no inputs
* address most comments
* rename file
* fix menu alignment
* gst
* update types
* update language
* refactor toast behavior, add support for links clicking
* allow closing workflow modal from notification
* refactor how modals work
* fix data display
* update toast behavior
* fix type issues
* rename prop
* update overflow behavior for settings
* only expand used properties
* fix edge bug
* make scrollable prop, add margin to tags footer
* remove max height from tag manager
* rewrite message
* fix notice word break
* update property names
* clear sticky notifications on run
* build
* refactor function out
* use destruction
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@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>
* 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>
* 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>
* implement import
* set name, remove console log
* add validation and such
* remove monday.com package for testing
* clean up code
* await new name
* refactor api requests
* remove unnessary import
* build
* add zoom button
* update positions on loading template
* update error handling
* build
* update zoom to center
* set state to dirty upon leaving
* clean up pr
* refactor func
* refactor redir
* fix lint issue
* refactor func out
* use new endpoint
* revert error changes
* revert error changes
* update logic to find top left node
* zoom to fit when opening workflow
* revert testing change
* update case
* address comments
* reset zoom when opening new workflow
* update endpoint to plural form
* update endpoint
* ⚡ Minor improvements
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>
* ✨ add FE hook for expressionEdit dialogVisibleChanged
* ⚡ update FE hook for expressionEdit dialogVisibleChanged
* ✨ add FE hook for expressionEdit itemSelected
* ✨ add FE hook for nodeSettings valueChanged
* ✨ add FE hook for nodeSettings credentialSelected
* cleanup
* add menu items POC
* remove sidebar hook
* use getters
* update menu to add items
* add home icon for CLD-202
* center icon
* address comments
* ⚡ Minor improvements
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
Prior to this change, the mouse selection box had a fixed position on the page. Nodes have absolute
position within NodeView. This inconsistency in positioning caused issues when calculating
if a node was positioned within the mouse selection. This solution makes both nodes
and mouse selection have consistent positioning, along with correctly calculating the
mouse click position within NodeView when making a selection.
* 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>
* ✨ Compression Node
* ⚡ Validate input data format when decompressing
* ⚡ Improvements to Compression Node
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* ✨ Add functionality to easily copy data and path of output data
* ⚡ Fix issues with copied path
* 👕 Fix lint issue
* ;bug: Fix issue that some paths were wrong
* ⚡ Final improvements
* ⚡ 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
Changed width of Credentials modal from 55% to 75%. Result is the "Nodes with Access" UI now only collapses in a UX-unfriendly manner on viewport widths under 1108px (previously was 1506px)
Essentially scrubbed through .vue files in packages/editor-ui/src/components and copy edited labels/ tooltips etc.
Tried to prevent opinionated editing, simply rewriting existing meaning for clarity. I did however make an opinionated decision on changing a node's "Notes" to "Note" (only labels, nothing code related) because it feels more like a singluar note - especially when used as a subtitle in the workflow. Singular form also futureproofs functionality like showing a list of all node notes across a workflow (or versioning/ collaborative notes features).
So far, have gotten up to PageContentWrapper.vue (when sorted alphabetically). In a followup, will review ParameterInput.vue and onwards in /components folder
* ✅ Added title changes based on workflow execution
* ⚡ Title changes on workflow open, reset on workflow delete, fixed not showing when page refreshed
* ⚡ Title icons
* 🎉 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>
Add support in credentialsList to kickoff an OAuth2 authorization
flow. This enables users to authenticate and allow n8n to store
the resulting keys in the backend.