* feat: redact password field values in credentials
* feat: disable expanding password fields
* fix: redacting credentials without a valid type
This only seems to be a thing in testing?
* ✅ Added test for importing workflow from URL
* ✅ Added test for importing workflow from file
* ✅ Added test ids for workflow settings elements
* ✅ Added test for changing workflow settings
* ✅ Adding back missing test id for delete node button
* ✨ Added history store and mixin
* ✨ Implemented node position change undo/redo
* ✨ Implemented move nodes bulk command
* ⚡ Not clearing the redo stack after pushing the bulk command
* 🔨 Implemented commands using classes
* 🔥 Removed unnecessary interfaces and actions
* 🔥 Removing unused constants
* 🔨 Refactoring classes file
* ⚡ Adding eventBus to command obects
* ✨ Added undo/redo support for adding and removing nodes
* ✨ Implemented initial add/remove connections undo support
* ⚡ Covering some corner cases with reconnecting nodes
* ⚡ Adding undo support for reconnecting nodes
* ⚡ Fixing going back and forward between undo and redo
* ✨ Implemented async command revert
* ⚡ Preventing push to undo if bulk redo/undo is in progress
* ⚡ Handling re-connecting nodes and stopped pushing empty bulk actions to undo stack
* ✨ Handling adding a node between two connected nodes
* ⚡ Handling the case of removing multiple connections on the same index. Adding debounce to undo/redo keyboard calls
* ⚡ Removing unnecessary timeouts, adding missing awaits, refactoring
* ⚡ Resetting history when opening new workflow, fixing incorrect bulk recording when inserting node
* ✔️ Fixing lint error
* ⚡ Minor refactoring + some temporary debugging logs
* ⚡ Preserving node properties when undoing it's removal, removing some unused repaint code
* ✨ Added undo/redo support for import workflow and node enable/disable
* 🔥 Removing some unused constant
* ✨ Added undo/redo support for renaming nodes
* ⚡ Fixing rename history recording
* ✨ Added undo/redo support for duplicating nodes
* 📈 Implemented telemetry events
* 🔨 A bit of refactoring
* ⚡ Fixing edgecases in removing connection and moving nodes
* ⚡ Handling case of adding duplicate nodes when going back and forward in history
* ⚡ Recording connections added directly to store
* ⚡ Moving main history reset after wf is opened
* 🔨 Simplifying rename recording
* 📈 Adding NDV telemetry event, updating existing event name case
* 📈 Updating telemetry events
* ✅ Added initial undo/redo tests
* ⚡ Fixing duplicate connections on undo/redo
* ⚡ Stopping undo events from firing constantly on keydown
* ✅ Added connection test for undo/redo
* 📈 Updated telemetry event for hitting undo in NDV
* ⚡ Adding undo support for disabling nodes using keyboard shortcuts
* ✅ Added more tests for adding and deleting nodes undo/redo
* ⚡ Preventing adding duplicate connection commands to history
* 📈 Adding connection assertions to delete node tests
* ⚡ Clearing redo stack when new change is added
* ⚡ Preventing adding connection actions to undo stack while redoing them
* 👌 Addressing PR comments part 1
* 👌 Moving undo logic for disabling nodes to `NodeView`
* 👌 Implemented command comparing logic
* ⚡ Fix for not clearing redo stack on every user action
* ⚡ Fixing recording when moving nodes
* ⚡ Fixing undo for moving connections
* ⚡ Fixing tracking new nodes after latest merge
* ⚡ Fixing broken bulk delete
* ✅ Added tests for moving nodes
* ✅ Added tests for deleting connections
* ✅ Added tests for disabling nodes
* ✅ Added node rename tests
* ✅ Added tests for duplicating and pasting nodes
* ✅ Added multi-step undo/redo tests
* ✅ Fixing assertion condition
* ✅ Fixing timeout issue between keyboard strokes
* ⬆️ Updating pnpm lock file
* ✅ Waiting for page load to finish before each test
* ✅ Adding proper handling of meta key press
* 🚨 Temporarily disabling slack notifications
* ✅ Adding check before clicking connection actions
* ⚡ Removing comments from other undo tests
* 🎨 Fixing a typo
* fix: fix credential sharing issues handler when no matching id or name
* feat: Show erroring credential name as placeholder when available
* feat: Add (unavailable) descriptor for unavailable credentials
* stringify objects before encoding them objects in MoveBinaryData
* add fileSize and fileType on MoveBinaryData converted data
* show `view` option for text files as well
* improve how JSON binary data is shown in the UI
* ✨ Added history store and mixin
* ✨ Implemented node position change undo/redo
* ✨ Implemented move nodes bulk command
* ⚡ Not clearing the redo stack after pushing the bulk command
* 🔨 Implemented commands using classes
* 🔥 Removed unnecessary interfaces and actions
* 🔥 Removing unused constants
* 🔨 Refactoring classes file
* ⚡ Adding eventBus to command obects
* ✨ Added undo/redo support for adding and removing nodes
* ✨ Implemented initial add/remove connections undo support
* ⚡ Covering some corner cases with reconnecting nodes
* ⚡ Adding undo support for reconnecting nodes
* ⚡ Fixing going back and forward between undo and redo
* ✨ Implemented async command revert
* ⚡ Preventing push to undo if bulk redo/undo is in progress
* ⚡ Handling re-connecting nodes and stopped pushing empty bulk actions to undo stack
* ✨ Handling adding a node between two connected nodes
* ⚡ Handling the case of removing multiple connections on the same index. Adding debounce to undo/redo keyboard calls
* ⚡ Removing unnecessary timeouts, adding missing awaits, refactoring
* ⚡ Resetting history when opening new workflow, fixing incorrect bulk recording when inserting node
* ✔️ Fixing lint error
* ⚡ Minor refactoring + some temporary debugging logs
* ⚡ Preserving node properties when undoing it's removal, removing some unused repaint code
* ✨ Added undo/redo support for import workflow and node enable/disable
* 🔥 Removing some unused constant
* ✨ Added undo/redo support for renaming nodes
* ⚡ Fixing rename history recording
* ✨ Added undo/redo support for duplicating nodes
* 📈 Implemented telemetry events
* 🔨 A bit of refactoring
* ⚡ Fixing edgecases in removing connection and moving nodes
* ⚡ Handling case of adding duplicate nodes when going back and forward in history
* ⚡ Recording connections added directly to store
* ⚡ Moving main history reset after wf is opened
* 🔨 Simplifying rename recording
* 📈 Adding NDV telemetry event, updating existing event name case
* 📈 Updating telemetry events
* ⚡ Fixing duplicate connections on undo/redo
* ⚡ Stopping undo events from firing constantly on keydown
* 📈 Updated telemetry event for hitting undo in NDV
* ⚡ Adding undo support for disabling nodes using keyboard shortcuts
* ⚡ Preventing adding duplicate connection commands to history
* ⚡ Clearing redo stack when new change is added
* ⚡ Preventing adding connection actions to undo stack while redoing them
* 👌 Addressing PR comments part 1
* 👌 Moving undo logic for disabling nodes to `NodeView`
* 👌 Implemented command comparing logic
* ⚡ Fix for not clearing redo stack on every user action
* ⚡ Fixing recording when moving nodes
* ⚡ Fixing undo for moving connections
* ⚡ Fixing tracking new nodes after latest merge
* ⚡ Fixing broken bulk delete
* ⚡ Preventing undo/redo when not on main node view tab
* 👌 Addressing PR comments
* 👌 Addressing PR comment
* WIP: Node Actions List UI
* WIP: Recommended Actions and preseting of fields
* WIP: Resource category
* 🎨 Moved actions categorisation to the server
* 🏷️ Add missing INodeAction type
* ✨ Improve SSR categorisation, fix adding of mixed actions
* ♻️ Refactor CategorizedItems to composition api, style fixes
* WIP: Adding multiple nodes
* ♻️ Refactor rest of the NodeCreator component to composition API, conver globalLinkActions to composable
* ✨ Allow actions dragging, fix search and refactor passing of actions to categorized items
* 💄 Fix node actions title
* Migrate to the pinia store, add posthog feature and various fixes
* 🐛 Fix filtering of trigger actions when not merged
* fix: N8N-5439 — Do not use simple node item when at NodeHelperPanel root
* 🐛 Design review fixes
* 🐛 Fix disabling of merged actions
* Fix trigger root filtering
* ✨ Allow for custom node actions parser, introduce hubspot parser
* 🐛 Fix initial node params validation, fix position of second added node
* 🐛 Introduce operations category, removed canvas node names overrride, fix API actions display and prevent dragging of action nodes
* ✨ Prevent NDV auto-open feature flag
* 🐛 Inject recommened action for trigger nodes without actions
* Refactored NodeCreatorNode to Storybook, change filtering of merged nodes for the trigger helper panel, minor fixes
* Improve rendering of app nodes and animation
* Cleanup, any only enable accordion transition on triggerhelperpanel
* Hide node creator scrollbars in Firefox
* Minor styles fixes
* Do not copy the array in rendering method
* Removed unused props
* Fix memory leak
* Fix categorisation of regular nodes with a single resource
* Implement telemetry calls for node actions
* Move categorization to FE
* Fix client side actions categorisation
* Skip custom action show
* Only load tooltip for NodeIcon if necessary
* Fix lodash startCase import
* Remove lodash.startcase
* Cleanup
* Fix node creator autofocus on "tab"
* Prevent posthog getFeatureFlag from crashing
* Debugging preview env search issues
* Remove logs
* Make sure the pre-filled params are update not overwritten
* Get rid of transition in itemiterator
* WIP: Rough version of NodeActions keyboard navigation, replace nodeCreator composable with Pinia store module
* Rewrite to add support for ActionItem to ItemIterator and make CategorizedItems accept items props
* Fix category item counter & cleanup
* Add APIHint to actions search no-result, clean up NodeCreatorNode
* Improve node actions no results message
* Remove logging, fix filtering of recommended placeholder category
* Remove unused NodeActions component and node merging feature falg
* Do not show regular nodes without actions
* Make sure to add manual trigger when adding http node via actions hint
* Fixed api hint footer line height
* Prevent pointer-events od NodeIcon img and remove "this" from template
* Address PR points
* Fix e2e specs
* Make sure canvas ia loaded
* Make sure canvas ia loaded before opening nodeCreator in e2e spec
* Fix flaky workflows tags e2e getter
* Imrpove node creator click outside UX, add manual node to regular nodes added from trigger panel
* Add manual trigger node if dragging regular from trigger panel
* feat(editor): Generate custom schema from data (#4562)
* feat(core): adding a type package to n8n
* feat(editor): adding custom schema generator
* fix: add new types package to lock file
* fix: remove n8n_io/types package
* fix: adding path to generated schema
* fix: handling nested lists in schema generation
* fix: add date support to schema generation
* fix: define dates in ISO format
* fix: using test instead of it in repeated tests
* fix(editor): JSON schema treat nested lists as object to allow mapping each level
* fix(editor): rename JSON schema type
* fix(editor): make JSON schema path required
* fix(editor): using JSON schema bracket notation for object props to handle exceptional keys
* fix(editor): reorder JSON schema generator function args
* feat(editor): Add date recognizer util function (#4620)
* ✨ Implemented date recogniser fuction
* ✅ Added unit tests for date recogniser
* ✔️ Fixing linting errors
* 👌 Updating test cases
* feat(editor): Implement JSON Schema view UI functionalities (#4601)
* feat(core): adding a type package to n8n
* feat(editor): adding custom schema generator
* fix: add new types package to lock file
* fix: remove n8n_io/types package
* fix: adding path to generated schema
* fix: handling nested lists in schema generation
* fix: add date support to schema generation
* fix: define dates in ISO format
* fix: using test instead of it in repeated tests
* fix(editor): JSON schema treat nested lists as object to allow mapping each level
* fix(editor): rename JSON schema type
* fix(editor): make JSON schema path required
* fix(editor): using JSON schema bracket notation for object props to handle exceptional keys
* fix(editor): reorder JSON schema generator function args
* fix(editor): WIP json schema view
* fix(editor): formatting fix
* fix(editor): WIP json schema viewer
* fix(editor): fix schema generator and add deep merge
* fix(editor): WIP update json schema view components
* fix(editor): extend valid date checking
* fix(editor): WIP improving JSON schema view
* chore(editor): code formatting
* feat(editor): WIP Json schema view mapping + animations
* feat(editor): WIP update mergeDeep
* feat(editor): adding first item of json data to the end once more to get sample data from the first item
* feat(editor): adding first item of json data to the end once more to get sample data from the first item
* fix(editor): improving draggable design
* fix(editor): move util functions to their correct place after merge conflict
* fix(editor): move some type guards
* fix(editor): move some type guards
* fix(editor): change import path in unit test
* fix(editor): import missing interface
* fix(editor): remove unused functions and parts from json schema generation
* feat(editor): Add telemetry calls to JSON schema mapping (#4695)
* feat(editor): WIP JSON schema telemetry call
* feat(editor): make telemetry usable outside of Vue component context
* chore(editor): remove unused variable
* Merge branch 'feature/json-schema-view' of github.com:n8n-io/n8n into n8n-5410-add-telemetry-calls
# Conflicts:
# packages/editor-ui/src/components/RunDataJsonSchema.vue
* fix(editor): VUE typing for telemetry
* fix(editor): enable PostHog feature flag
* fix(editor): Schema design review (#4740)
* refactor(editor): rename JsonSchema to Schema
* fix(editor): schema component name
* fix(editor): schema pill style
* fix(editor): schema type date as string
* fix(editor): schema styles (support long text + firefox)
* fix(editor): schema truncate text if it's too long
* fix(editor): schema types
* fix(editor): droppable styles
* fix(editor): schema component props
* fix(editor): fix draggable pill styles
* fix(editor): schema view styles
* fix(editor): schema mapping tooltip
* fix(editor): schema mapping styles
* fix(editor): mapping styles
* fix(editor): empty schema case
* fix(editor): delay mapping tooltip
* test(editor): add schema view snapshot test
* fix(editor): schema empty string
* fix(editor): schema string without space
* fix(editor): update schema test snapshot
* fix(editor): applying review comments
* fix(editor): make n8nExternalHooks optional
* fix(editor): remove TODO comment
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
* test(e2e): Update getters, add search and sort tests for credentials
* fix: Refactor sortOptions getter
* fix: fix merge conflict
* fix: removed double key
* fix: Add db and session reset for every credentials suite run
* add tests
* ci: Setup cypress tasks for resetting DB, and setting up an owner
* add test tests to check for settings
* add more tests
* clean up
* rename tag
* update test id
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
* ✨ Added `utils` module. Moved `canvasHelpers` and old `utils.ts` file to it
* ✨ Moved rest of utils and helpers
* ⚡ Fixing sytax errors
* 🔨 Refactoring new utils files
* 🔨 Organizing imports, adding comments and a bit more refactoring
* ✔️ Fixing tests
* 🔨 Moving mixins to `src`
* fix: Fix inferred type of X cannot be named error after pnpm update
* feat: Change page objects to expose actions and getters. Add credential creation suite
* ensure that eslint runs on all frontend code
* remove tslint from `design-system`
* enable prettier and eslint-prettier for `design-system`
* Delete tslint.json
* use a single editorconfig for the repo
* enable prettier for all code in `design-system`
* more linting fixes on design-system
* ignore coverage for git and prettier
* lintfix on editor-ui
* feat(editor): extract credentials view into reusable layout components for workflows view
* feat(editor): add workflow card and start work on empty state
* feat: add hoverable card and finish workflows empty state
* fix: undo workflows response interface changes
* chore: fix linting issues.
* fix: remove enterprise sharing env schema
* fix(editor): fix workflows resource view when sharing is enabled
* fix: change owner tag design and order
* feat: add personalization survey on workflows page
* fix: update component snapshots
* feat: refactored workflow card to use workflow-activator properly
* fix: fix workflow activator and proptypes
* fix: hide owner tag for workflow card until sharing is available
* fix: fixed ownedBy and sharedWith appearing for workflows list
* feat: update tags component design
* refactor: change resource filter select to n8n-user-select
* fix: made telemetry messages reusable
* chore: remove unused import
* refactor: fix component name casing
* refactor: use Vue.set to make workflow property reactive
* feat: add support for clicking on tags for filtering
* chore: fix tags linting issues
* fix: fix resources list layout when title words are very long
* refactor: add active and inactive status text to workflow activator
* fix: fix credentials and workflows sorting when name contains leading whitespace
* fix: remove wrongfully added style tag
* feat: add translations and storybook examples for truncated tags
* fix: remove enterprise sharing env from schema
* refactor: fix workflows module and workflows field store naming conflict
* feat: add workflow share button and open dummy modal
* feat: add workflow sharing modal (in progress)
* feat: add message when sharing disabled
* feat: add sharing messages based on flags
* feat: add workflow sharing api integration and readonly state handling
* fix: change how foreign credentials are handled
* refactor: migrate newly added workflow sharing store methods to pinia
* fix: update foreign credentials handler and add executable prop to node-settings
* fix: fix credentials display issue caused by addCredentials override
* fix: fix various issues when sharing from empty state
* fix: update node duplication credentials
* fix: revert defautl values for sharing env
* feat: hide share button behind feature flag
* chore: add env variable for sharing feature (testing only)
* fix: change enterprise-edition component casing
* ✨ Passing an execution mode to the preview iframe so UI can be adjusted based on it
* ✨ Handling production execution mode to hide the pin data in node details view
* ✨ Added pinia support. Migrated community nodes module.
* ✨ Added ui pinia store, moved some data from root store to it, updated modals to work with pinia stores
* ✨ Added ui pinia store and migrated a part of the root store
* ✨ Migrated `settings` store to pinia
* ✨ Removing vuex store refs from router
* ✨ Migrated `users` module to pinia store
* ⚡ Fixing errors after sync with master
* ⚡ One more error after merge
* ⚡ Created `workflows` pinia store. Moved large part of root store to it. Started updating references.
* ✨ Finished migrating workflows store to pinia
* ⚡ Renaming some getters and actions to make more sense
* ✨ Finished migrating the root store to pinia
* ✨ Migrated ndv store to pinia
* ⚡ Renaming main panel dimensions getter so it doesn't clash with data prop name
* ✔️ Fixing lint errors
* ✨ Migrated `templates` store to pinia
* ✨ Migrated the `nodeTypes`store
* ⚡ Removed unused pieces of code and oold vuex modules
* ✨ Adding vuex calls to pinia store, fixing wrong references
* 💄 Removing leftover $store refs
* ⚡ Added legacy getters and mutations to store to support webhooks
* ⚡ Added missing front-end hooks, updated vuex state subscriptions to pinia
* ✔️ Fixing linting errors
* ⚡ Removing vue composition api plugin
* ⚡ Fixing main sidebar state when loading node view
* 🐛 Fixing an error when activating workflows
* 🐛 Fixing isses with workflow settings and executions auto-refresh
* 🐛 Removing duplicate listeners which cause import error
* 🐛 Fixing route authentication
* ⚡ Updating freshly pulled $store refs
* ⚡ Adding deleted const
* ⚡ Updating store references in ee features. Reseting NodeView credentials update flag when resetting workspace
* ⚡ Adding return type to email submission modal
* ⚡ Making NodeView only react to paste event when active
* 🐛 Fixing signup view errors
* ✨ Started migrating the `credentials` module to pinia
* 👌 Addressing PR review comments
* ✨ Migrated permissions module to pinia
* ✨ Migrated `nodeCreator`, `tags` and `versions` modules to pinia
* ✨ Implemented webhooks pinia store
* ⚡ Removing all leftover vuex files and references
* ✨ Removing final vuex refs
* ⚡ Updating expected credentialId type
* ⚡ Removing node credentials subscription code, reducing node click debounce timeout
* 🐛 Fixing pushing nodes downstream when inserting new node
* ✔️ Fixing a lint error in new type guard
* ⚡ Updating helper reference
* ✔️ Removing unnecessary awaits
* ⚡ fix(editor): remove unnecessary imports from NDV
* ⚡ Merging mapStores blocks in NodeView
* ⚡ fix(editor): make sure JS Plumb not loaded earlier than needed
* ⚡ Updating type guard nad credentials subscriptions
* ⚡ Updating type guard so it doesn't use `any` type
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
* fix(editor): update `vue-json-pretty` package
* fix(editor): JSON view show string numbers and null properly
* fix(editor): testing if RunDataJson.vue display the values according to its type
* chore(editor): resolve package-lock.json conflict
* fix(editor): using @pinia/testing library to mock pinia store
* chore: fix package-lock.json after merge conflicts
* ✨ Added pinia support. Migrated community nodes module.
* ✨ Added ui pinia store, moved some data from root store to it, updated modals to work with pinia stores
* ✨ Added ui pinia store and migrated a part of the root store
* ✨ Migrated `settings` store to pinia
* ✨ Removing vuex store refs from router
* ✨ Migrated `users` module to pinia store
* ⚡ Fixing errors after sync with master
* ⚡ One more error after merge
* ⚡ Created `workflows` pinia store. Moved large part of root store to it. Started updating references.
* ✨ Finished migrating workflows store to pinia
* ⚡ Renaming some getters and actions to make more sense
* ✨ Finished migrating the root store to pinia
* ✨ Migrated ndv store to pinia
* ⚡ Renaming main panel dimensions getter so it doesn't clash with data prop name
* ✔️ Fixing lint errors
* ✨ Migrated `templates` store to pinia
* ✨ Migrated the `nodeTypes`store
* ⚡ Removed unused pieces of code and oold vuex modules
* ✨ Adding vuex calls to pinia store, fi xing wrong references
* 💄 Removing leftover $store refs
* ⚡ Added legacy getters and mutations to store to support webhooks
* ⚡ Added missing front-end hooks, updated vuex state subscriptions to pinia
* ✔️ Fixing linting errors
* ⚡ Removing vue composition api plugin
* ⚡ Fixing main sidebar state when loading node view
* 🐛 Fixing an error when activating workflows
* 🐛 Fixing isses with workflow settings and executions auto-refresh
* 🐛 Removing duplicate listeners which cause import error
* 🐛 Fixing route authentication
* ⚡ Updating freshly pulled $store refs
* Adding deleted const
* ⚡ Updating store references in ee features. Reseting NodeView credentials update flag when resetting workspace
* ⚡ Adding return type to email submission modal
* ⚡ Making NodeView only react to paste event when active
* 🐛 Fixing signup view errors
* 👌 Addressing PR review comments
* 👌 Addressing new PR comments
* 👌 Updating invite id logic in signup view
fix(editor): fix dark mode for the monaco editor (no-changelog)
just the default light and dark themes that are shipped with the editor
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
* refactor(editor): restrict mapping discoverability tooltip showing only on string input
* refactor(editor): renaming computed prop because not only string inputs can be mapped, but we want to show tooltips only on string inputs
* fix(editor): removing unused prop from ParameterInputWrapper.vue
* fix(editor): reorganizing and updating props in ParameterInputFull.vue
* fix(editor): proper typings for node related translations
* fix(editor): fix typings for input localisation functions
* fix(editor): simplifying localisation functions
* Revert "fix(editor): simplifying localisation functions"
This reverts commit 3d93ccf0cf.
* fix(editor): move nullish coalescing into called function
* fix(editor): limiting columns in table view
* fix(editor): adding ghost table column with tooltip to table view
* fix(editor): limit columns to 40
* fix(editor): show table columns if it doesn't exceed the limit
* fix(editor): rolling back globalLinkActions changes
* fix(editor): using i18n tag for having cleaner event handling
* fix(editor): emphasizing magic variable
* fix(editor): removing unused prop
* fix(editor): fix node creator search when there's active subcategory
* 🎨 Add intersection util and replace lodash one with it
* 🎨 Remove unused imports
* feature: block UI in NDV when workflow is listening to events
* feature: hide stop listening button in parameters pane and show stop listening button in input pane for webhook
* feature: create block UI design system component
* fix: add back accidentally removed prop
* fix(editor): extend node settings event listener button functionality
* refactor(editor): using composition API in BlockUi component
* 📘 Update request type
* 📘 Update FE types
* ⚡ Adjust store
* ⚡ Set received hash
* ⚡ Send and load hash
* ⚡ Make helper more flexible
* 🗃️ Add new field to entity
* 🚨 Add check to endpoint
* 🧪 Add tests
* ⚡ Add `forceSave` flag
* 🐛 Fix workflow update failing on new workflow
* 🧪 Add more tests
* ⚡ Move check to `updateWorkflow()`
* ⚡ Refactor to accommodate latest changes
* 🧪 Refactor tests to keep them passing
* ⚡ Improve syntax
* feat(editor): Setup dark-mode for the code-editor, with automatic switching
By default this feature is disabled. The feature can be toggled with `document.body.classList.toggle('dark-mode-beta')`
* change the beta class name
* switch codemirror theme over to css variables
* ✨ Added main header tabs with current workflow execution count
* ⚡ feat(editor): header tab navigation (no-changelog) (#4244)
* ✨ Adding current workflow execution list to the Vuex store
* ✨ Updating current workflow executions after running a workflow from the node view
* ✨ Keeping the tab view content alive when switching tabs in main header
* ✨ Updating main header controls to work with current workflow regardless of active tab
* 🐛 Fixing a bug with previous WF executions still visible after creating a new WF
* ⚡ Updating saved status when new WF is created
* ✨ Implemented initial version of execution perview
* ✨ Keeping the WF view alive when switching to executions tab in new navigation
* ✨ Implemented executions landing page
* ✨ Simplifying node view navigation
* ✨ Updating executions view zoom and selection to work with the new layout
* ✨ Using N8nRadioButtons component for main header tabs
* 💄 Implementing executions page states. Minor refactoring.
* ⚡ Merge conflict fixes and pieces of code that were left behind
* ⚡ Fixing layout and scrolling changes introduced after sync with master branch
* ⚡ Removing keep-alive from node view which broke template opening and some more leftover code
* ✔️ Fixing linting errors
* ✔️ One more lint error
* ⚡ Implemented executions preview using iframes
* ⚡ Fixing zoom menu positioning in iframe and adding different loading types to workflow preview
* ⚡ Fixing navigation to and from WF templates and template loading
* ⚡ Updating and fixing navigation to and from node view
* 👌 Addressing previous PR comments
* 🐛 Fixing infinite loading when saving a new workflow
* 🐛 Handling opening already opened WF when not on Node view
* ✨ Implemented empty states for executions view
* ⚡ Adding execute button shake flag to the store so it doesn't mess up navigation by modifying route params
* 💄 Started adding new styles to execution sidebar
* 💄 Adding hover style for execution list
* ⚡ Added ExecutionsCard component and added executions helper mixin
* ✔️ Fixing leftover conflict
* ✔️ One more conflict
* ✨ Implemented retry execution menu and manual execution icon. Other minor updates
* ✨ Implemented executions filtering
* 💄 Updating running executions details in preview
* ⚡ Added info accordion to executions sidebar
* ✨ Implemented auto-refresh for executions sidebar
* 💄 Adding running execution landing page, minor fixes
* 💄 General refactoring
* ✔️ Adding leftover conflict changes
* ✔️ Updating `InfoTip` component test snapshots
* ✔️ Fixing linting error
* ✔️ Fixing lint errors in vuex store module
* 👌 Started addressing review feedback
* ⚡ Updating executions preview behaviour when filters are applied
* 🐛 Fixing a bug where nodes and connections disappear if something is saved from executions view before loading WF in the main NodeView
* 🐛 Fixing pasting in executions view and wrong workflow activator state
* ⚡ Improved workflow switching and navigation, updated error message when trying to paste into execution
* ⚡ Some more navigation updates
* 💄 Fixing tab centering, execution filter button layout, added auto-refresh checkbox
* 🐛 Fixing a bug when saving workflow using save button
* 💄 Addressing design feedback, added delete execution button
* ⚡ Moving main execution logic to the root executions view
* ⚡ Implemented execution delete function
* ⚡ Updating how switching tabs for new unsaved workflows work
* ⚡ Remembering active execution when switching tabs
* 💄 Addressing design feedback regarding info accordion
* 💄 Updating execution card styling
* ⚡ Resetting executions when creating new workflow
* Fixing lint error
* ⚡ Hiding executions preview is active execution is not in the results. Updated execution list spacing
* ⚡ Fixing navigation to and from templates and executions
* ⚡ Implemented execution lazy loading and added new background to execution preview
* 💄 Disabling import when on executions tab
* ⚡ Handling opening executions from different workflow
* ⚡ Updating active execution on route change
* ⚡ Updating execution tab detection
* ⚡ Simplifying and updating navigation. Adding new route for new workflows
* ⚡ Updating workflow saving logic to work with new routes
* 🐛 Fixing a bug when returning to executions from different workflow
* 💄 Updating executions info accordion and node details view modal in execution preview
* 💄 Updating workflow activated modal to point to new executions view
* ⚡ Implemented opening new executions view from execution modal
* ⚡ Handling jsplumb init errors, updating unknown executions style
* ⚡ Updating main sidebar after syncing branch
* ⚡ Opening new trigger menu from executions view
* 💄 Updating sidebar resize behaviour
* ✔️ Fixing lint errors
* ⚡ Loading executions when mounting executions view
* ⚡ Resetting execution data when creating a new workflow
* 💄 Minor wording updates
* ⚡ Not reloading node view when new workflows are saved
* Removing leftover console log
* 🐛 Fixed a bug with save dialog not appearing when leaving executions tab
* ⚡ Updating manual execution settings detection in info accordion
* 💄 Addressing UI issues found during bug bash
* Fixing workflow saving logic
* ⚡ Preventing navigation if clicked tab is already opened
* ⚡ Updating lazy loading behaviour
* ⚡ Updating delete executions flow
* ⚡ Added retry executions button to the execution preview
* ⚡ Adding empty execution state, updating trigger detection logic, removing listeners when node view is not active
* 💄 Cosmetic code improvements
* ⚡ Trying the performance fix for nodeBase
* ⚡ Removing the `NodeBase`fix
* 🐛 Fixing a bug when saving the current workflow
* 👌 Addressing code review feedback
* ⚡ Add `updatedAt` to store
* ⚡ Set `updatedAt` in store
* 👕 Update FE types
* 👕 Update BE types
* ⚡ Set `updatedAt` on workflow open
* ⚡ Add endpoint check
* ⚡ Add first update check
* 🔥 Remove log
* ⚡ Simplify check
* ⚡ Make `makeWorkflow` more flexible
* 🗃️ Make `updatedAt` default consistent
* 🧪 Adjust tests checking for `updatedAt`
* 🧪 Add tests for interim changes block
* ✏️ Remove unneeded quotes
* ⏪ Simplify without using `-1`
* 👕 Simplify interfaces
* 🐛 Fix calls to `setWorkflowUpdatedAt` setter
* :track: Move update to API call
* ⚡ Restrict check to multiple users only
* 🧪 Add more tests
* 🐛 Account for activation outside of canvas
* ✏️ Add warning comment
* 🔥 Remove unneeded check
* ⏪ Revert to `new Date()` for `-1`
* 🐛 Fix display for never updated
* ⚡ Add `updatedAt` to store
* ⚡ Set `updatedAt` in store
* 👕 Update FE types
* 👕 Update BE types
* ⚡ Set `updatedAt` on workflow open
* ⚡ Add endpoint check
* ⚡ Add first update check
* 🔥 Remove log
* ⚡ Simplify check
* ⚡ Make `makeWorkflow` more flexible
* 🗃️ Make `updatedAt` default consistent
* 🧪 Adjust tests checking for `updatedAt`
* 🧪 Add tests for interim changes block
* ✏️ Remove unneeded quotes
* ⏪ Simplify without using `-1`
* 👕 Simplify interfaces
* feat(editor): extract credentials view into reusable layout components for workflows view
* feat(editor): add workflow card and start work on empty state
* feat: add hoverable card and finish workflows empty state
* fix: undo workflows response interface changes
* chore: fix linting issues.
* fix: remove enterprise sharing env schema
* fix(editor): fix workflows resource view when sharing is enabled
* fix: change owner tag design and order
* feat: add personalization survey on workflows page
* fix: update component snapshots
* feat: refactored workflow card to use workflow-activator properly
* fix: fix workflow activator and proptypes
* fix: hide owner tag for workflow card until sharing is available
* fix: fixed ownedBy and sharedWith appearing for workflows list
* feat: update tags component design
* refactor: change resource filter select to n8n-user-select
* fix: made telemetry messages reusable
* chore: remove unused import
* refactor: fix component name casing
* refactor: use Vue.set to make workflow property reactive
* feat: add support for clicking on tags for filtering
* chore: fix tags linting issues
* fix: fix resources list layout when title words are very long
* refactor: add active and inactive status text to workflow activator
* fix: fix credentials and workflows sorting when name contains leading whitespace
* fix: remove wrongfully added style tag
* feat: add translations and storybook examples for truncated tags
* fix: remove enterprise sharing env from schema
* refactor: fix workflows module and workflows field store naming conflict
* fix: fix workflow activator wrapping
* feat: updated empty workflows list cards design
* feat: update workflow activator margins and workflow card
* feat: add duplicate workflow functionality and update tags
* feat: fix duplicate workflow flow
* fix: fix status color for workflow activator with could not be started status
* fix: remove createdAt and updatedAt from workflow duplication
* fix(editor): remove code that never runs from table view
* fix(editor): show null in table view
* fix(editor): handle nil values properly
* fix(editor): add double quotes around strings
* fix(editor): remove unused function
* Revert "fix(editor): remove code that never runs from table view"
This reverts commit 167312d059.
* fix(editor): applying Max's review
* feat(ExecuteWorkflowTrigger node): Implement ExecuteWorkflowTrigger node (#4108)
* feat(ExecuteWorkflowTrigger node): Implement ExecuteWorkflowTrigger node
* feat(editor): Do not show duplicate button if canvas contains `maxNodes` amount of nodes
* feat(ManualTrigger node): Implement ManualTrigger node (#4110)
* feat(ManualTrigger node): Implement ManualTrigger node
* 📝 Remove generics doc items from ManualTrigger node
* feat(editor-ui): Trigger tab redesign (#4150)
* 🚧 Begin with TriggerPanel implementation, add Other Trigger Nodes subcategory
* 🚧 Extracted categorized categories/subcategory/nodes rendering into its own component — CategorizedItems, removed SubcategoryPanel, added translations
* ✨ Implement MainPanel background scrim
* ♻️ Move `categoriesWithNodes`, 'visibleNodeTypes` and 'categorizedItems` to store, implemented dynamic categories count based on `selectedType`
* 🐛 Fix SlideTransition for all the NodeCreato panels
* 💄 Fix cursos for CategoryItem and NodeItem
* 🐛 Make sure ALL_NODE_FILTER is always set when MainPanel is mounted
* 🎨 Address PR comments
* label: Use Array type for CategorizedItems props
* 🏷️ Add proper types for Vue props
* 🎨 Use standard component registration for CategorizedItems inside TriggerHelperPanel
* 🎨 Use kebab case for main-panel and icon component
* 🏷️ Improve types
* feat(editor-ui): Redesign search input inside node creator panel (#4204)
* 🚧 Begin with TriggerPanel implementation, add Other Trigger Nodes subcategory
* 🚧 Extracted categorized categories/subcategory/nodes rendering into its own component — CategorizedItems, removed SubcategoryPanel, added translations
* ✨ Implement MainPanel background scrim
* ♻️ Move `categoriesWithNodes`, 'visibleNodeTypes` and 'categorizedItems` to store, implemented dynamic categories count based on `selectedType`
* 🐛 Fix SlideTransition for all the NodeCreato panels
* 💄 Fix cursos for CategoryItem and NodeItem
* 🐛 Make sure ALL_NODE_FILTER is always set when MainPanel is mounted
* 🎨 Address PR comments
* label: Use Array type for CategorizedItems props
* 🏷️ Add proper types for Vue props
* 🎨 Use standard component registration for CategorizedItems inside TriggerHelperPanel
* ✨ Redesign search input and unify usage of categorized items
* 🏷️ Use lowercase "Boolean" as `isSearchVisible` computed return type
* 🔥 Remove useless emit
* ✨ Implement no result view based on subcategory, minor fixes
* 🎨 Remove unused properties
* feat(node-email): Change EmailReadImap display name and name (#4239)
* feat(editor-ui): Implement "Choose a Triger" action and related behaviour (#4226)
* ✨ Implement "Choose a Triger" action and related behaviour
* 🔇 Lint fix
* ♻️ Remove PlaceholderTrigger node, add a button instead
* 🎨 Merge onMouseEnter and onMouseLeave to a single function
* 💡 Add comment
* 🔥 Remove PlaceholderNode registration
* 🎨 Rename TriggerPlaceholderButton to CanvasAddButton
* ✨ Add method to unregister custom action and rework CanvasAddButton centering logic
* 🎨 Run `setRecenteredCanvasAddButtonPosition` on `CanvasAddButton` mount
* fix(editor): Fix selecting of node from node-creator panel by clicking
* 🔀 Merge fixes
* fix(editor): Show execute workflow trigger instead of workflow trigger in the trigger helper panel
* feat(editor): Fix node creator panel slide transition (#4261)
* fix(editor): Fix node creator panel slide-in/slide-out transitions
* 🎨 Fix naming
* 🎨 Use kebab-case for transition component name
* feat(editor): Disable execution and show notice when user tries to run workflow without enabled triggers
* fix(editor): Address first batch of new WF experience review (#4279)
* fix(editor): Fix first batch of review items
* bug(editor): Fix nodeview canvas add button centering
* 🔇 Fix linter errors
* bug(ManualTrigger Node): Fix manual trigger node execution
* fix(editor): Do not show canvas add button in execution or demo mode and prevent clicking if creator is open
* fix(editor): do not show pin data tooltip for manual trigger node
* fix(editor): do not use nodeViewOffset on zoomToFit
* 💄 Add margin for last node creator item and set font-weight to 700 for category title
* ✨ Position welcome note next to the added trigger node
* 🐛 Remve always true welcome note
* feat(editor): Minor UI and UX tweaks (#4328)
* 💄 Make top viewport buttons less prominent
* ✨ Allow user to switch to all tabs if it contains filter results, move nodecreator state props to its own module
* 🔇 Fix linting errors
* 🔇 Fix linting errors
* 🔇 Fix linting errors
* chore(build): Ping Turbo version to 1.5.5
* 💄 Minor traigger panel and node view style changes
* 💬 Update display name of execute workflow trigger
* feat(core, editor): Update subworkflow execution logic (#4269)
* ✨ Implement `findWorkflowStart`
* ⚡ Extend `WorkflowOperationError`
* ⚡ Add `WorkflowOperationError` to toast
* 📘 Extend interface
* ✨ Add `subworkflowExecutionError` to store
* ✨ Create `SubworkflowOperationError`
* ⚡ Render subworkflow error as node error
* 🚚 Move subworkflow start validation to `cli`
* ⚡ Reset subworkflow execution error state
* 🔥 Remove unused import
* ⚡ Adjust CLI commands
* 🔥 Remove unneeded check
* 🔥 Remove stray log
* ⚡ Simplify syntax
* ⚡ Sort in case both Start and EWT present
* ♻️ Address Omar's feedback
* 🔥 Remove unneeded lint exception
* ✏️ Fix copy
* 👕 Fix lint
* fix: moved find start node function to catchable place
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* 💄 Change ExecuteWorkflow node to primary
* ✨ Allow user to navigate to all tab if it contains search results
* 🐛 Fixed canvas control button while in demo, disable workflow activation for non-activavle nodes and revert zoomToFit bottom offset
* :fix: Do not chow request text if there's results
* 💬 Update noResults text
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* perf: update deepCopy
* fix: using deepCopy in core and cli packages
* fix: using deepCopy in editor
* chore: formatting
* fix: some micro optimisation in deepCopy
* ⚡ implemented automatic credential selection in nodes
* ⚡ fixed implementation
* ⚡ fixed linter error
* 🔨 in progress, removed watching for auth type, added check for more then one existing credential
* 🔨 removed console log
* 🔨 changing auth method for one that have default credential
* 🔨 credentials will be set only at node creation time
* 🔨 fixed authentication parameter assigment for nodes that does not have it
* ⚡ better properties checking
* 🔨 improvements
* 🔨 extracted into function, fix issue with assigning hidden credentials
* remove console log
* fix bug with multiple creds
* fix defaults issue
* remove import
* simplify to just auth
* Revert "simplify to just auth"
042c9cc30f
* fix get
Co-authored-by: Mutasem <mutdmour@gmail.com>
* refactor(editor): N8N-4540 Main navigation layout rework (#4060)
* ✨ Implemented new editor layout using css grid
* ✨ Reworking main navigation layout, migrating some styling to css modules
* ✨ Reworking main sidebar layout and responsiveness
* 💄 Minor type update
* ✨ Updated editor grid layout so empty cells are collapsed (`fit-content`), fixed updates menu items styling
* ✨ Implemented new user area look & feel in main sidebar
* 💄 Adjusting sidebar bottom padding when user area is not shown
* 💄 CSS cleanup/refactor + minor vue refactoring
* ✨ Fixing overscoll issue in chrome and scrolling behaviour of the content view
* 👌 Addressing review feedback
* ✨ Added collapsed and expanded versions of n8n logo
* ✨ Updating infinite scrolling in templates view to work with the new layout
* 💄 Updating main sidebar expanded width and templates view left margin
* 💄 Updating main content height
* 💄 Adding global styles for scrollable views with centered content, minor updates to user area
* ✨ Updating zoomToFit logic, lasso select box position and new nodes positioning
* ✨ Fixing new node drop position now that mouse detection has been adjusted
* 👌 Updating templates view scroll to top logic and responsive padding, aligning menu items titles
* 💄 Moving template layout style from global css class to component level
* ✨ Moved 'Workflows' menu to node view header. Added new dropdown component for user area and the new WF menu
* 💄 Updating disabled states in new WF menu
* 💄 Initial stab at new sidebar styling
* ✨ Finished main navigation restyling
* ✨ Updating `zoomToFit` and centering logic
* ✨ Adding updates menu item to settings sidebar
* 💄 Adding updates item to the settings sidebar and final touches on main sidebar style
* 💄 Removing old code & refactoring
* 💄 Minor CSS tweaks
* 💄 Opening credentials modal on sidebar menu item click. Minor CSS updates
* 💄 Updating sidebar expand/collapse animation
* 💄 Few more refinements of sidebar animation
* 👌 Addressing code review comments
* ✨ Moved ActionDropdown component to design system
* 👌 Fixing bugs reported during code review and testing
* 👌 Addressing design review comments for the new sidebar
* ✔️ Updating `N8nActionDropdown` component tests
* ✨ Remembering scroll position when going back to templates list
* ✨ Updating zoomToFit logic to account for footer content
* 👌 Addressing latest sidebar review comments
* ✨ New `n8n-menu-item` component
* ✨ Implemented new `n8n-menu` design system component, updated menu items to support collapsed mode
* Minor update to n8n-menu storybook entry
* 💄 Updating collapsed sub-menu style. Fixing vue error on hover.
* ⚡ Changing IMenuItem from interface to type
* ✨ Added new n8n-menu component to editor main sidebar
* ⚡ Finished main sidebar
* ⚡ Added new menus to setttings and credentials view
* ✨ Implemented tab and router modes for n8n-menu
* ✨ Implemented credentials menus using new n8n-menu component
* 💄 Finishing main and settings sidebar details, updating design system stories
* 💄 Adding injected items support to main sidebar, handling navigation errors, small tweaks
* ✔️ Fixing linting errors
* ✔️ Addressing typescript errors in design system components
* ⚡ Using design-system types in editor UI
* 💄 Add support for custom icon size in menu items
* 👌 Addressing code review and design review feedback
* 💄 Minor updates
* refactor(editor-ui): update 'vue-json-pretty' and adjust component to preserve same behaviour (#4152)
* fix(editor-ui): export interface to solve 'TS4082: Default export of the module has or is using private name' error temporarily
* refactor(editor-ui): update 'vue-json-pretty' and adjust component to preserve same behaviour
* refactor(editor-ui): move json data view into its own component (#4158)
* refactor(editor-ui): move json data view into its own component
* fix(editor-ui): make JSON data component work again
* fix(editor-ui): JSON data component type issues
* fix(editor-ui): JSON data component prop 'inputData'
* refactor(editor-ui): rename helper function
* fix(editor-ui): add declaration to `vue-json-pretty` component
* refactor(editor-ui): JSON mapping move more logic to new component
* refactor(editor-ui): some cleanup in JSON mapping component
* refactor(editor-ui): changing key mapping translation
* refactor(editor-ui): add basic drag'n'drop functionality to JSON view
* refactor(editor-ui): moving JSON view actions into separate components
* fix(editor-ui): JSON view action copy default selected path
* fix(editor-ui): refactor draggable to play nicer with other (3rd party) components
* fix(editor-ui): improve draggable performance
* fix(editor-ui): add disable user selection class to body
* fix(editor-ui): reduce click handler cognitive load in JSON view copy actions
* fix(editor-ui): JSON view mapped path
* fix(editor-ui): remove unnecessary wrapper around RunDataTable.vue
* fix(editor-ui): respect input node distance when json parameter path is copied
* fix(editor-ui): JSON mapping property highlight
* fix(editor-ui): block event only on mousemove for draggable to not select content
* refactor(editor-ui): fixing prop types and organising imports
* fix(editor-ui): JSON view use double quotes where appropriate
* fix(editor-ui): fix new package additions after merge conflict
* fix(editor-ui): fix package update after merge conflict
* fix(editor-ui): JSON view prop names text break
* fix(editor-ui): use kebab-case name for component
* fix(editor-ui): calling convertPath on draggable node path
* feat(editor-ui): add mapping discoverability tooltip to mappable inputs (#4227)
* refactor(editor-ui): move json data view into its own component
* fix(editor-ui): make JSON data component work again
* fix(editor-ui): JSON data component type issues
* fix(editor-ui): JSON data component prop 'inputData'
* refactor(editor-ui): rename helper function
* fix(editor-ui): add declaration to `vue-json-pretty` component
* refactor(editor-ui): JSON mapping move more logic to new component
* refactor(editor-ui): some cleanup in JSON mapping component
* refactor(editor-ui): changing key mapping translation
* refactor(editor-ui): add basic drag'n'drop functionality to JSON view
* refactor(editor-ui): moving JSON view actions into separate components
* fix(editor-ui): JSON view action copy default selected path
* fix(editor-ui): refactor draggable to play nicer with other (3rd party) components
* fix(editor-ui): improve draggable performance
* fix(editor-ui): add disable user selection class to body
* fix(editor-ui): reduce click handler cognitive load in JSON view copy actions
* fix(editor-ui): JSON view mapped path
* fix(editor-ui): remove unnecessary wrapper around RunDataTable.vue
* fix(editor-ui): respect input node distance when json parameter path is copied
* fix(editor-ui): JSON mapping property highlight
* fix(editor-ui): block event only on mousemove for draggable to not select content
* refactor(editor-ui): fixing prop types and organising imports
* fix(editor-ui): JSON view use double quotes where appropriate
* fix(editor-ui): fix new package additions after merge conflict
* fix(editor-ui): fix package update after merge conflict
* fix(editor-ui): JSON view prop names text break
* fix(editor-ui): update helper after merge conflict
* refactor(editor-ui): cleanup RunaDataTable tooltips
* refactor(editor-ui): add temporary static tooltip to input with mapping
* fix(editor-ui): input mapping tooltip proper input name
* fix(editor-ui): show input mapping tooltip when conditions are met
* fix(editor-ui): show different input mapping tooltip for different view types (table, json)
* fix(editor-ui): drop lodash isEmpty
* fix(editor-ui): using and keeping only getter function
* fix(editor-ui): check `INodeExecutionData[]` array emptyness (still needs some improvement)
* feat(editor-ui): add telemetry calls to data mapping (#4250)
* fix(editor-ui): add types package for jsonpath
* fix(editor-ui): JSON view drag'n'drop telemetry call
* fix(editor-ui): add data mapping tooltip close telemetry to parameter input
* fix(editor-ui): execute previous node tooltip linebreak
* fix(editor-ui): input data mapping tooltip show-hide logic
* fix(editor-ui): input data mapping tooltip position
* fix(editor-ui): using a placeholder gif in mapping discoverability tooltip
* refactor(design-system): adding optional configurable buttons to tooltip (#4260)
* refactor(design-system): unbreaking wrapper around element ui tooltip
* fix(design-system): update test snapshot
* refactor(design-system): adding buttons to tooltip
* fix(design-system): update test snapshot
* fix(design-system): change tooltip props and some cleanup
* fix(design-system): update test snapshot
* chore: fix package lock file after merge
* fix(editor-ui): modifications according to Max's review (#4273)
* fix(editor-ui): modifications according to Max's review
* fix(editor-ui): JSON prop names should not be written bold
* fix(editor-ui): use proper animated gif in JSON data mapping discoverability tooltip
* ⚡ Remove duplicate and old string
* ⚡ Add telemetry
* ⚡ Futher improvements
* ⚡ Change error message and display only name of last parameter
* 👕 Fix lint issue
* ⚡ Remove not needed comments
* ⚡ Rename properties, add new ones and improve error messages
* ⚡ Add support for $execution, $prevNode and make it possible to use proxies as object
* ⚡ Some small improvements
* 🐛 Fix error message
* ⚡ Improve some error messages
* ⚡ Change resumeUrl variable and display in editor
* ⚡ Fix and extend tests
* ⚡ Multiple pairedItem improvements
* ⚡ Display "More Info" link with error messages if user can fix issue
* ⚡ Display different errors in Function Nodes
* 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
* refactor(editor): N8N-4540 Main navigation layout rework (#4060)
* ✨ Implemented new editor layout using css grid
* ✨ Reworking main navigation layout, migrating some styling to css modules
* ✨ Reworking main sidebar layout and responsiveness
* 💄 Minor type update
* ✨ Updated editor grid layout so empty cells are collapsed (`fit-content`), fixed updates menu items styling
* ✨ Implemented new user area look & feel in main sidebar
* 💄 Adjusting sidebar bottom padding when user area is not shown
* 💄 CSS cleanup/refactor + minor vue refactoring
* ✨ Fixing overscoll issue in chrome and scrolling behaviour of the content view
* 👌 Addressing review feedback
* ✨ Added collapsed and expanded versions of n8n logo
* ✨ Updating infinite scrolling in templates view to work with the new layout
* 💄 Updating main sidebar expanded width and templates view left margin
* 💄 Updating main content height
* 💄 Adding global styles for scrollable views with centered content, minor updates to user area
* ✨ Updating zoomToFit logic, lasso select box position and new nodes positioning
* ✨ Fixing new node drop position now that mouse detection has been adjusted
* 👌 Updating templates view scroll to top logic and responsive padding, aligning menu items titles
* 💄 Moving template layout style from global css class to component level
* ✨ Moved 'Workflows' menu to node view header. Added new dropdown component for user area and the new WF menu
* 💄 Updating disabled states in new WF menu
* 💄 Initial stab at new sidebar styling
* ✨ Finished main navigation restyling
* ✨ Updating `zoomToFit` and centering logic
* ✨ Adding updates menu item to settings sidebar
* 💄 Adding updates item to the settings sidebar and final touches on main sidebar style
* 💄 Removing old code & refactoring
* 💄 Minor CSS tweaks
* 💄 Opening credentials modal on sidebar menu item click. Minor CSS updates
* 💄 Updating sidebar expand/collapse animation
* 💄 Few more refinements of sidebar animation
* 👌 Addressing code review comments
* ✨ Moved ActionDropdown component to design system
* 👌 Fixing bugs reported during code review and testing
* 👌 Addressing design review comments for the new sidebar
* ✔️ Updating `N8nActionDropdown` component tests
* ✨ Remembering scroll position when going back to templates list
* ✨ Updating zoomToFit logic to account for footer content
* 👌 Addressing latest sidebar review comments
* 👌 Addressing main sidebar product review comments
* 💄 Updating css variable names after vite merge
* ✔️ Fixing linting errors in the design system
* ✔️ Fixing `element-ui` type import
* 👌 Addressing the code review comments.
* ✨ Adding link to new credentials view, removed old modal
* 💄 Updating credentials view responsiveness and route highlight handling
* 💄 Adding highlight to workflows submenu when on new workflow page
* 💄 Updated active submenu text color
* Introduce node deprecation (#3930)
✨ Introduce node deprecation
* 🚧 Scaffold out Code node
* 👕 Fix lint
* 📘 Create types file
* 🚚 Rename theme
* 🔥 Remove unneeded prop
* ⚡ Override keybindings
* ⚡ Expand lintings
* ⚡ Create editor content getter
* 🚚 Ensure all helpers use `$`
* ✨ Add autocompletion
* ♻️ Refactore Resize UI lib component, allow to use it in different than n8n-sticky context
* 🚧 Use variable width for node settings and allow for resizing
* ✨ Use store to keep track of wide and regular main panel widths
* ♻️ Extract Resize wrapper from the Sticky and create a story for it
* 🐛 Fixed cherry-pick conflicts
* ⚡ Filter out welcome note node
* ⚡ Convey error line number
* ⚡ Highlight error line
* ⚡ Restore logging from node
* ✨ More autocompletions
* ⚡ Streamline completions
* 💄 Fix drag-button border
* ✏️ Update placeholders
* ⚡ Update linter to new methods
* ✨ Preserve main panel width in local storage
* 🐛 Fallback to max size size if window is too big
* 🔥 Remove `$nodeItem` completions
* ⚡ Re-update placeholders
* 🎨 Fix formatting
* 📦 Update `package-lock.json`
* ⚡ Refresh with multi-line empty string
* ♻️ Refactored DraggablePanels to use relative units and implemented independent resizing, cleaned store
* 🐛 Re-implement dragging indicators and move border styles to NDVDraggablePanels component
* 🚨 Fix semis
* 🚨 Remove unsused UI state props
* ♻️ Use only relative left position and calculate right based on it, fix quirks
* 🚨Fix linting error
* ♻️ Store and retrieve main panel dimensions from store to make them persistable in the same app mount session
* 🐛 Prevent resizing of unknown nodes
* ♻️ Add typings for `nodeType` prop, remove unused `convertRemToPixels` import
* 🏷️ Add typings for `nodeType` prop in NodeSettings.vue
* 🐛 Prevent the main panel resize below 280px
* 🐛 Fix inputless panel left position
* ✨ Resize resource locator on main panel size change
* 🐛 Resize resource locator on window resize
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* ✨ Added resource locator interfaces to `n8n-workflow` package
* ✅ Updating Trello node to use resource locator property type
* ✨ Added resource locator prop to Delete Board` Trello operation
* ✔️ Fiixing linting errors in Trello node
* ✨ Added list mode to Trello test node
* ⚡ Updating resource locator modes interface
* ⚡ Updating Trello test node validation messages and placeholders
* N8N-4175 resource locator component (#3812)
* ✨ Implemented initial version of resource locator component
* ✨ Implemented front-end validation for resource locator component. Improved responsiveness. Minor refactoring.
* ⚡ Setting resource locator default state to list. Updating hover states and expand icon.
* 🔨 Moving resource locator component to `ParameterInput` from `ParameterInputFull
* 🔨 Moving `ResourceLocator` to a separate Vue component
* 🔨 Implementing expression and drag'n'drop support in ResourceLocator` component
* 🔨 Cleaning up `ResourceLocator` component code
* ✨ Implemented resource locator selected mode persistance
* 💄 Minor refactoring and fixes in `ResourceLocator`
* 🔨 Updating `ResourceLocator` front-end validation logic
* ⚡ Saving resource locator mode in node parameters
* 💄 Updating the `ResourceLocator` component based on the design review
* 🐛 Fixing resource locator mode parameters handling when loading node parameter values on front-end
* 💄 Removing leftover unused CSS
* ⚡ Updating interfaces to support resource locator value types
* ⚡ Updating `ResourceLocator` component to work with object parameter values
* 🔨 Cleaning up `ResourceLocator` and related components code
* ⚡ Preventing `DraggableTarget` to be sticky if disabled
* 🐛 Fixing a bug with resource locator value parameter
* 👌 Adding new type alias for all possible node parameter value types
* 👌 Updating `ResourceLocator` and related components based on PR review feedback
* ⚡ Adding disabled mode to `ResourceLocator` component, fixing expression handling, minor refactoring.
* 💄 Updating disabled state styling in `ResourceLocator` component
* ⚡ Setting correct default value for test node and removing unnecessary logic
* 💄 Added regex URL validation to Trello test node
* ✨ Updating Trello test node with another (list mode only) test case
* ✔️ Fixing linting error in Trello node
* 🔨 Removing hardcoded custom modes and modes order
* Add value extractor to routing node (#3777)
* ✨ add value extractor to routing node
* ✨ add value extractor to property modes
* 🔊 improve error logging for value extractor
* 🔥 remove old extractValue methods from RoutingNode
* ⚡ extractValue inside getNodeParameter
* 🔥 remove extract value test from RoutingNode
* ✨ make value extraction optional
* 🥅 move extract value so proper error messages are sent
* 🚨 readd accidentally removed eslint-disable
* ✨ add resource locator support extractValue
* 🚨 remove unused import
* 🐛 fix getting value of resource locator
* 💄 Updating resource locator component styling and handling reset value action
* ✨ create v2 of Trello node for resource locator
* 💄 Updating ResourceLocator droppable & activeDrop classes and removing input padding-right
* ⚡ Updating Trello test node with single-mode test case
* ⚡ Updating field names in Trello node to avoid name clash
* 💄 Updating test Trello node mode order and board:update parameter name
* 💄 Updating test node parameter names and display options
* List mode search endpoint (#3936)
* 🚧 super basic version of the search endpoint
This version is built using a hacked up version of the Google Drive
node. I need to properly create a v2 for it but it's does work.
* 🚧 fixed up type errors and return urls
* ✨ add v3 of Google Drive node with RLC
* ✨ add RLC to Google Drive Shared Drive operations
* ♻️ address some small changes requested in review
* 🐛 move list search out of /nodes/ and add check for required param
* ✨ google drive folder search
* ✨ google drive search sort by name
* ✨ add searchable flag for RLC
* ✏️ fix google drive wording for v3
* Trello and Airtable search backend (#3974)
* ✨ add search to Trello boards
* ✨ add RLC to Trello cards
* ♻️ use new versioning system for Trello v2
* 🐛 move list search out of /nodes/ and add check for required param
* ✨ re-add trello search methods
* 🥅 throw error if RLC search isn't sent a method name
This will likely be removed when the declarative style of search has
been added.
* ✨ add requires filter field to RLC search
* ✨ add searchable flag to Trello searches
* ✨ add RLC for cardId and boardId on all operations
* ✨ add ID and URL RLC to Airtable
* N8 n 4179 resource locator list mode (#3933)
* ✨ Implemented initial version of list mode dropdown
* ✨ Handling mode switching and expression support in list mode
* 🔨 Removing `sortedModes` references
* ⚡ Fixing list mode UI after latest mege
* 💄 Updating padding-right for input fields with suffix slots
* ✨ Minor fixes to validation, mode switching logic and styling
* update error
* 2 or more regex
* update regex to be more strict
* remove expr colors
* update hint
* 🚧 super basic version of the search endpoint
This version is built using a hacked up version of the Google Drive
node. I need to properly create a v2 for it but it's does work.
* 🚧 fixed up type errors and return urls
* begin list impl
* ✨ add v3 of Google Drive node with RLC
* fix ts issue
* introduce dropdown
* add more behavior
* update design
* show search
* add filtering
* push up selected
* add keyboard nav
* add loading
* add caching
* remove console
* fix build issues
* add debounce
* fix click
* keep event on focus
* fix input size bug
* add resource locator type
* update type
* update interface
* update resource locator types
* ✨ add search to Trello boards
* ✨ add RLC to Google Drive Shared Drive operations
* update
* update name
* add package
* use stringify pckg
* handle long vals
* fix bug in url id modes
* remove console log
* add lazy loading
* add lazy loading on filtering
* clean up
* make search clearable
* add error state
* ✨ add RLC to Trello cards
* ♻️ address some small changes requested in review
* ♻️ use new versioning system for Trello v2
* refactor a bit
* fix how loading happens
* clear after blur
* update api
* comment out test code
* update api
* relaod in case of error
* update endpoint
* 🐛 move list search out of /nodes/ and add check for required param
* 🐛 move list search out of /nodes/ and add check for required param
* update req handling
* update endpoint
* ✨ re-add trello search methods
* 🥅 throw error if RLC search isn't sent a method name
This will likely be removed when the declarative style of search has
been added.
* get api to work
* update scroll handling
* ✨ google drive folder search
* ✨ add requires filter field to RLC search
* ✨ google drive search sort by name
* remove console
* ✨ add searchable flag for RLC
* ✨ add searchable flag to Trello searches
* update searchable
* ✨ add RLC for cardId and boardId on all operations
* ✨ add ID and URL RLC to Airtable
* fix up search
* remove extra padding
* add link button
* update popper pos
* format
* fix formating
* update mode change
* add name urls
* update regex and errors
* upate error
* update errors
* update airtable regex
* update trello regex rules
* udpate param name
* update
* update param
* update param
* update drive node
* update params
* add keyboard nav
* fix bug
* update airtable default mode
* fix default value issue
* hide long selected value
* update duplicate reqs
* update node
* clean up impl
* dedupe resources
* fix up nv
* resort params
* update icon
* set placeholders
* default to id mode
* add telemetry
* add refresh opt
* clean up tmp val
* revert test change
* make placeholder optional
* update validation
* remove description as param hint
* support more general values
* fix links on long names
* update resource item styles
* update pos
* update icon color
* update link alt
* check if required
* move validation to workflow
* update naming
* only show warning at param level
* show right border on focus
* fix hover on all item
* fix long names bug
* fix expr bug
* add expr
* update legacy mode
* fix up impl
* clean up node types
* clean up types
* remove unnessary type
* clean up types
* clean up types
* clean up types
* clea n up localizaiton
* remove unused key
* clean up helpers
* clean up paraminput
* clean up paraminputfull
* refactor into one loop
* update component
* update class names
* update prop types
* update name cases
* update casing
* clean up classes
* clean up resource locator
* update drop handling
* update mode
* add url for link mode
* clear value by default
* add placeholder
* remove legacy hint
* handle expr in legacy
* fix typos
* revert padding change
* fix up spacing
* update to link component
* support urls for id
* fix replacement
* build
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Valya Bullions <valya@n8n.io>
* refactor: Resource locator review changes (#4109)
* ✨ Implemented initial version of list mode dropdown
* ✨ Handling mode switching and expression support in list mode
* 🔨 Removing `sortedModes` references
* ⚡ Fixing list mode UI after latest mege
* 💄 Updating padding-right for input fields with suffix slots
* ✨ Minor fixes to validation, mode switching logic and styling
* update error
* 2 or more regex
* update regex to be more strict
* remove expr colors
* update hint
* 🚧 super basic version of the search endpoint
This version is built using a hacked up version of the Google Drive
node. I need to properly create a v2 for it but it's does work.
* 🚧 fixed up type errors and return urls
* begin list impl
* ✨ add v3 of Google Drive node with RLC
* fix ts issue
* introduce dropdown
* add more behavior
* update design
* show search
* add filtering
* push up selected
* add keyboard nav
* add loading
* add caching
* remove console
* fix build issues
* add debounce
* fix click
* keep event on focus
* fix input size bug
* add resource locator type
* update type
* update interface
* update resource locator types
* ✨ add search to Trello boards
* ✨ add RLC to Google Drive Shared Drive operations
* update
* update name
* add package
* use stringify pckg
* handle long vals
* fix bug in url id modes
* remove console log
* add lazy loading
* add lazy loading on filtering
* clean up
* make search clearable
* add error state
* ✨ add RLC to Trello cards
* ♻️ address some small changes requested in review
* ♻️ use new versioning system for Trello v2
* refactor a bit
* fix how loading happens
* clear after blur
* update api
* comment out test code
* update api
* relaod in case of error
* update endpoint
* 🐛 move list search out of /nodes/ and add check for required param
* 🐛 move list search out of /nodes/ and add check for required param
* update req handling
* update endpoint
* ✨ re-add trello search methods
* 🥅 throw error if RLC search isn't sent a method name
This will likely be removed when the declarative style of search has
been added.
* get api to work
* update scroll handling
* ✨ google drive folder search
* ✨ add requires filter field to RLC search
* ✨ google drive search sort by name
* remove console
* ✨ add searchable flag for RLC
* ✨ add searchable flag to Trello searches
* update searchable
* ✨ add RLC for cardId and boardId on all operations
* ✨ add ID and URL RLC to Airtable
* fix up search
* remove extra padding
* add link button
* update popper pos
* format
* fix formating
* update mode change
* add name urls
* update regex and errors
* upate error
* update errors
* update airtable regex
* update trello regex rules
* udpate param name
* update
* update param
* update param
* update drive node
* update params
* add keyboard nav
* fix bug
* update airtable default mode
* fix default value issue
* hide long selected value
* update duplicate reqs
* update node
* clean up impl
* dedupe resources
* fix up nv
* resort params
* update icon
* set placeholders
* default to id mode
* add telemetry
* add refresh opt
* clean up tmp val
* revert test change
* make placeholder optional
* update validation
* remove description as param hint
* support more general values
* fix links on long names
* update resource item styles
* update pos
* update icon color
* update link alt
* check if required
* move validation to workflow
* update naming
* only show warning at param level
* show right border on focus
* fix hover on all item
* fix long names bug
* ♻️ refactor extractValue to allow multiple props with same name
* ♻️ use correct import for displayParameterPath
* fix expr bug
* add expr
* update legacy mode
* fix up impl
* clean up node types
* clean up types
* ♻️ remove new version of google drive node
* ♻️ removed versioned Trello node for RLC
* remove unnessary type
* ♻️ remove versioned Airtable not for RLC
* clean up types
* clean up types
* clean up types
* clea n up localizaiton
* remove unused key
* clean up helpers
* clean up paraminput
* clean up paraminputfull
* refactor into one loop
* update component
* update class names
* update prop types
* update name cases
* update casing
* clean up classes
* 💬 updated RLC URL regex error wording
* clean up resource locator
* update drop handling
* update mode
* 💬 reword value extractor errors
* 🚨 remove unneeded eslint ignores for RLC modes
* 💬 update Trello 400 error message
* 🚨 re-add removed types in editor-ui
Also ts-ignore something that was clean up in another commit. I've added
a comment to fix after someone else can look at it.
* 💬 remove hints from Google Drive RLCs
* 🥅 rethrow correct errors in Trello node
* ✨ add url for id mode on Google Drive
* 🔥 remove unused Google Drive file
* 🔊 change console.error to use logger instead
* 🔀 fix bad merges
* ♻️ small changes from review
* ♻️ remove ts-ignore
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Mutasem <mutdmour@gmail.com>
* fix build
* update tests
* fix bug with credential card
* update popover component
* fix expressions url
* fix type issue
* format
* update alt
* fix lint issues
* fix eslint issues
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com>
Co-authored-by: Valya <68596159+valya@users.noreply.github.com>
Co-authored-by: Valya Bullions <valya@n8n.io>
* 🎉 starting feature development
* ✨ sharing/unsharing a credential (#3601)
* 🎉 initial design
* ✨ sharing/unsharing of credentials
* ✅ add tests for EE credentials controller
* 💪 implement review comments
* 🛠 refactor agent creation and credential role locking
* 👕 linting adjustments (#3691)
* 👕 Adjust rule `naming-convention`
* 👕 Fix `naming-convention` config value
* 👕 Disregard casing for EE-prefixed vars
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 🛠 refactor authAgents in tests (#3725)
* 🛠 refactor authAgent
* 🛠 refactor authAgent
* 🛠 refactor authAgent
* 🛠 refactor authAgent
* 👕 fix ts issue
* 🐘 add migration for mysql and postgres + add AuthAgent type
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* ⚡️ refactor existing credentials routes (#3672)
* 🎉 initial design
* ✨ sharing/unsharing of credentials
* ♻️ split credential update route into controller and service
* 🔥 remove credentials test that is no longer applicable
* ♻️ split credential creation route into controller and service
* ♻️ split single credential get
* ♻️ split delete credentials route
* ♻️ split get all credentials route
* 🔥 remove unused imports in credentials contoller
* 🔥 remove console.log
* :refactor: changes to credentials controller and service from review
- removed credentials from service function names
- made relations list optional
- put allowGlobalOwner in options objects
- check length of relations array so join doesn't happen if empty
- update some comments to further explain rationale
- remove unneeded `Object.assign`
- remove non-null assertion from test
* ♻️ move filtered credentials selected fields to variable
* ♻️ remove unneeded merges in credentials service
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
* ✅ fix test
* 🐛 fix imports
* 👕 fix lint issue
* User Management: switch over to decorators to define routes (#3827)
* Add permissions details to credentials for User Management (#3863)
* ⚡ Open `GET /users`
* ⚡ Add permissions to cred service
* 🚚 Rename method
* ⚡ Refactor cred controller
* 🧪 Adjust test
* ✏️ Improve comment
* ✏️ Improve another comment
* ⚡ Account for multiple sharings
* 🐛 Fix access when user is editor
* 📘 Expand interface
* 📘 Relocate types
* 📘 Exempt cred entity with service-injected fields
* 📘 Adjust interface
* ♻️ Add permissions only in `GET /credentials`
* 🧪 Add expectations for `ownedBy`
* 🧪 Add sharing details test
* 🧪 Make `ownedBy` checks more granular
* 📘 Adjust interface
* 🚚 Rename cred getter
* ♻️ Refactor cred getter
* 🧪 Expand tests
* ♻️ Refactor to use guard
* 👕 Remove unneeded lint exception
* 🔥 Remove unneeded relation
* 🚚 Move relation to `GET /credentials/:id`
* 📘 Consolidate typings
* 🎨 Add multiline for readability
* 🔥 Remove unneeded type
* ✏️ Clarity comment
* ✏️ Make comments consistent
* 👕 Add exception to fix build
* 👕 Add more lint exceptions to fix build
* 🐛 Check for non-owner
* 📘 Improve typings
* 🧪 Temporarily skip tests
* 🔥 Remove `@ts-ignore`
* 👕 Move lint exceptions
* ♻️ Refactor cred service and controller
* ⚡ Simplify check
* ✏️ adjust naming to experimental
* ⚡️ add credentialsSharing flag to settings
* 🛠 add helper to check if UM is also enabled as dependency for CredentialsSharing
* 👕 fix lint error
* 🐘 change name of credential role
* 🚧 WIP batch sharing
* 🚧 WIP use put for sharing
* ✅ add tests for batch sharing, 🛠 implement review suggestions
* ✅ expand credential sharing tests for User Management (#3931)
* 🧪 Expand cred sharing tests
* ⚡ Add recently added flags
* ✅ fix and adjust tests for /credentials
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
* ✨ User management v2 Front End (#3795)
* feat: Added responsive generic page view layout.
* feat: Added empty state.
* feat: Added credentials view empty state.
* test: Added unit tests for N8nActionBox
* feat: Added credentials list initial design.
* feat: Added credential actions. Started working on filters.
* feat: Updated InfoTip markup, added tests and changed stories to typescript.
* feat: Added credentials filtering by type. Added support for apply/reset filters.
* feat: Added credential sharing user select and user list. Added paywall component.
* feat: Updated credentials view permissions.
* feat: Added support for temporary sharing config for unsaved credentials.
* test: Fixed broken snapshots.
* feat: Added overflow styles to page-view-layout list.
* feat: Handled sharee specific views.
* feat: Integration between FE and BE to support real-world credential sharing scenario.
* feat: Added front end permissions table.
* feat: Refactored credential sharing flow. Updated design elements.
* feat: Added margin and padding auto spacer utilities.
* feat: Rehauled permissions to support instanceOwner role and action inheritance.
* feat: Updated credentials view to apply filters automatically.
* feat: Removed apply filters button and added active button state.
* test: Updated component snapshots.
* refactor: Renamed ResourceSharee to ResourceReader.
* feat: Credential sharing error handling, permissions improvement.
* feat: Updated permissions and error handling.
* chore: Removed console.log.
* 🛠 refactor enabling of credentialsSharing
* feat: Removed owner menu selector from credentials when sharing is disabled.
* refactor: Moved EE features into ee store module file.
* 🛠 add sharing info to GET credentials/:id
* fix: Fixed initial credential data loading for sharing.
* chore: Removed console.log.
* 🐛 owner can fetch any credential
* 🛠 refactor users test
* 👕 fix build type issue
* fix: Removed owner tag when credential sharing is disabled. Fixed small reactivity issue.
* chore: Removed console.log.
* 🚧 separate fetching credentials between EE and open
* fix: Fixed empty dropdown in users list.
* fix: Fixed error message and initialization when credential gets unshared.
* ✅ add tests for fetching single credential
* Revert decorators based controllers
* ⚡️ adjust credentials test route to also allow testing for sharees (#3999)
* ⚡️ pull data if user is sharee
* fix: Removed sharedWith and ownedBy from credentialData on testing credentials.
Co-authored-by: Alex Grozav <alex@grozav.com>
* 📈 add BE analytics
* 💪 improve credential test
* ⚡️ adjust tracking properties
* ⚡️ removed roles from tracking
* 🐛 fix build by removing imports
* 🐛 fix missed merge conflict
* feat: User management P2 Front End bug bash and improvements (#4014)
* fix: Fixed type select size after reopening dropdown.
* fix: Fixed template cards.
* fix: Fixed card content size and copy input.
* fix: Fixed horizontal overflow.
* fix: Hiding el-tags scrollbar in select.
* fix: Added fallback credential icon. Added oAuth credential owner check.
* feat: Added disabled state to user select.
* feat: Added fallback scenario for non-existent credential types.
* feat: Adjusted credentials empty state to show that there are shared credentials.
* fix: Fixed time title.
* feat: Added actionable empty state when shared credentials are present.
* fix: Made action box x padding smaller
* feat: Repositioned owner tag for credential card.
* feat: Updated message box styling to use n8n css variables.
* feat: Added confirmation for deleting sharee.
* fix: Fixed deleted credential types. Fixed select in dropdown bug.
* fix: Various code improvements. Addressed PR review comments.
* fix: Fixed credential deletion errors.
* fix: Various code quality improvements.
* feat: N8N-4531 update cloud coming soon features (#4025)
* feat: Showing different upcoming feature messages and format for cloud.
* fix: Changed url format.
* fix: Updated how cloud deployment is determined.
* feat: N8N-4527 implementing credential sharing FE telemetry (#4023)
* feat: Added credential sharing telemetry.
* chore: Renamed computed function for consistency.
* refactor: Simplified subview telemetry sending.
* fix: Changed to callDebounced() helper.
* 📧 update email text
* fix: Adjusted feature coming soon margin.
* chore: Fixed type and line height for delete sharee confirmation modal.
* refactor(editor-ui): Update telemetry (#4040)
* 🔥 Remove `identify` from BE
* ⚡ Add `versionCli`
* ⚡ Add node creator ignore input
* ⚡ Move obfuscators to editor-ui
* ⚡ Refactor `ph-no-capture`
* ⚡ Pass `user_id` to manual exec props
* 🚚 Relocate class in `SettingsApiView`
* ⚡ Add `userId` to BE PH `identify` call
* ⏪ Revert "⚡ Add `userId` to BE PH `identify` call"
This reverts commit 895aaa45e5.
* Revert "⏪ Revert "⚡ Add `userId` to BE PH `identify` call""
This reverts commit b86a098c20.
* 🐛 Fix `Promise` handling in `track()` call
* ⏪ Restore `Db.collections` call
* ⚡ Set up PH payload to mirror RS
* 🔥 Remove excess `userId`
* 📘 Remove `userId` from interface
* 🔥 Remove unused ref and method
* fix: Fixed bug causing instanceOwner to become credential owner on update. (#4079)
* 🐛 fix test for credential shared with member
* 👕 fix lint issues
* delete conflicting migration. this data is already seeded in CreateUserManagement
* feat: Expand obfuscation to User Management credential sharing (#4070)
⚡ Expand obfuscation
* feat: Added credential sharing infotip for instance owner.
* bring back the migration. add a check to avoid conflicts on inserts
* fix(cli): use a non-env config flag to detect of enterprise features are enabled (#4105)
* chore: Changed ampersand to and in translation.
* refactor(telemetry): Obfuscate code and JSON editors (#4118)
⚡ Obfuscate code and JSON editors
* feat(editor): improve design and functionality of coming soon features (#4116)
* feat: Improved coming soon feature design and functionality.
* style: Removed empty line.
* chore: Removed unused translation.
* fix: fix telemetry for credential creates and updates (#4125)
fix telemetry for credential creates and updates
* feat: Display errors due to missing credentials in the correct node (#4124)
feat: Display errors due to invalid credentials in the correct node when missing permissions
* fix: remove duplicate header for coming soon features in cloud deployment
* telemetry: fix the payload for `User viewed credential tab`
* telemetry: add credential_id to 'User selected credential from node modal'
* feat: update empty states for coming soon features
* Update ActionBox.spec.ts.snap
* replace UserSharingsDetails with a subset of User properties
* rename the CreateCredentialsEditorRole to CreateCredentialsUserRole
* move IUser to the workflow package
* use IUser in the frontend as well
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Valya <68596159+valya@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* refactor(editor): removing output error reporting from input panel
* refactor(editor): input panel error notification with linking back to the errored node
* fix(editor): switching to the correct node after backlinking from the error in a further node
* fix(editor): input pane error message font size and translation keys
* fix(editor): output error message layout
* fix(editor-ui): update input panel node error title translation
* fix(editor-ui): achieve proper update when changing node from input error link
* fix(editor-ui): adding local utility class to not break output error layout
* feat(design-system): button as square shape
* refactor(editor-ui): drop n8n-square-button in favor of n8n-button
* refactor(design-system): remove obsolete n8n-square-button
* fix(design-system): icon only square button icon position
* fix(design-system): icon only square button icon position
* chore(design-system): update button test snapshot
* fix(design-system): overriding default square button styles
* fix(editor-ui): using tertiary button variant in survey without local style overrides
* refactor(design-system): simplifying and partially merging icon-button and button
* fix(design-system): remove unused prop from icon-button
* fix(design-system): square button should have the old dimensions
* fix(design-system): square button update test snapshots
* feat(editor): Implement HTML sanitization when using `dangerouslyUseHTMLString` option of Notification and Message components
* 🐛 Implement mechanism to allow for A href actions from locale strings
* 🐛 Prevent link action default
* ♻️ Use `xss` library instead of `sanitize-html` to handle sanitization
* 🔥 Remove `onLinkClick` functionality of `$showMessage`
* feat(editor): Show input number for multi-input nodes
* ✨ Added multiple inputs detection logic to input panel
* 🐛 Fix a case where Input 1 and Input 2 are identical, do not display nodeIndex for single input nodes
* 🔥 Delete unused `MERGE_NODE_TYPE` constant
* ♻️ Get input names dynamically for multi-input nodes
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
* feat(editor): Export i18n instance and bind it to Vue instance
* feat(editor): Audit usage of v-html and replace with alternatives where possible
* 🔀 Fix conflicted element in RunDataTable
* ♻️ Refactor issues elements with the new TitledList component
* 🐛 Fixing unknown node modal dialog content rendering
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
* 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
feat(editor): Added instance ID to about modal and restyled credentials docs link
* 💄 Use Notice component instead of Callout in CredentialConfig, remove unused imports
* 💄 Use css var for n8n-notice component and override it for credential configs to get rid of additional margins
* ✅ Update n8n-notice snapshots
Co-authored-by: Oleg Ivaniv <oleg@n8n.io>
* ✨ 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>
* update white color
* update white color
* update more whites
* update color
* update curr running
* update text color #555
* update white color
* set search bar colors
* update colors
* update node executing
* update text colors
* update light color
* update theme
* update theme
* update overlays carousel
* update theme vars
* add dark theme tokens
* update text
* update table colors
* fix conflict
* update colors
* ✨ 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>
* ⚡ Add OAuth2 client credentials grant type
* ⚡ Improvements
* 🐛 Fix linting issue
* 🐛 Fix typo
* 🐛 Fix small issue with type
* 🐛 When token expire get a new one instead of refreshing it
* ⚡ Fix issue that it did not display it correctly for OAuth1
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* ⚡ Implemented automatic position detection for credential fields.
* ✨ Updating automatic credentials position logic (removing `getParameterResolveOrder`call and fixing input spacing).
* 🔨 Using crednetial fileds displayOptions to determine the position relative to authentication fields.
* 👌 Handling credentials position detection edge-cases (no node type, no credentials)
* ✨ 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>
* 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