* ✨ 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>
* ⚡ Abstract into `getMany()`
* ⚡ Use `getMany()` from free controller
* ⚡ Use `getMany()` from paid controller
* 🧪 Add tests
* 🧪 Fix tests
* ⚡ Add credential usage info
* 🧪 Update tests
* ⚡ Add type and adjust test
* SIGTERM/SIGINT should only be handled once
* move error-handling initialization to commands
* create a new `sleep` function in workflow utils
* detect crashes and report them to Sentry
* ci: start supporting node.js 18
Node.js 18 becomes the active LTS on 2022-10-25, as Node.js 16 goes into maintenance mode.
https://github.com/nodejs/Release#release-schedule
* continue using node 16 for production images
* node 16 for debian and base images as well for now
* 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
* feat(cli): Setup error tracking using Sentry
* make error reporting available in the workflows package
* address some of the PR comments
* create a ErrorReporterProxy like LoggerProxy
* remove the `captureError` helper. use ErrorReporterProxy directly
* fix linting issues
* remove ErrorReporterProxy warnings in tests
* check for NODE_ENV === 'production' instead
* IErrorReporter -> ErrorReporter
* ErrorReporterProxy.getInstance() -> ErrorReporter
* allow capturing stacks in warnings as well
* make n8n debugging consistent with `npm start`
* IReportingOptions -> ReportingOptions
* use consistent signature for `error` and `warn`
* use Logger instead of console.log
* ✨ 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(core): make `deepCopy` backward compatible
`JSON.parse(JSON.stringify())` uses `.toJSON` when available. so should `deepCopy`
* fix(core): prevent double quotes on luxon datetimes (#4508)
* 🐛 Prevent double quotes on luxon datetimes
* ⚡ Generalize solution
* update the types in packages/workflow/src/utils.ts
* add `toJSON` check to NodeErrors.isTraversableObject as well
* move the toJSON check before the cyclic dependency check
* fix(core): keep backward compatibility in deepCopy by calling `toJSON` on objects that have it
* fix(core): updating deepCopy typings
* Revert "fix(core): updating deepCopy typings"
This reverts commit 100a0f1f3d.
* fix(core): temporarily removing Date cloning from deepCopy
* fix(core): updating deepCopy types
* fix(core): updating deepCopy
* fix(core): updating deepCopy get prototype of object
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
* 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
* 📘 Clear all `@ts-ignore` comments from workflow package
* 👕 Default to error with package-level overrides
* refactor(core): clear all `@ts-ignore` comments from core package (#4473)
👕 Clear all `@ts-ignore` comments from core package
* ✏️ Update comment
* 📘 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
Jan realized that this was logging way too much (as in, we have way too many circular references).
I've changed this to be reported to Sentry, which should hopefully get merged next week.
The cookie and the JWT refresh is already handled in `refreshExpiringCookie` middleware, which only updates the cookie 3 days before the expiration.
The middleware also uses `issueCookie`, which ensures that attributes like `sameSite` and `httpOnly` are correctly set on the cookie.
* 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
* typeorm queries with AND for filter, schema validation
* validate filters
* replace json.parse with jsonParse()
* limited fields further
* limited workflow fields further
* removes date filter fields and fix waitTill filter
* simplified filter name arrays
* ✨ 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
* 📦 Update `package-lock.json`
* 📦 Make versions consistent in design-system
* 📦 Make lib versions consistent in editor-ui
* 🔧 Make vite configs consistent
* fix(design-system): updating vue2-bring-avatars alias
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
* ⚡ 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
* http node headers and query JSON parameter options added
* Query and Header added to option processing
* remove old set headers.
* ⚡ Small improvements
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
* 🐛 Fix bug when response doesn't include content type
* ⚡ Improve autodetect response format
* ⚡ Make content-type match more specific
* ⚡ Improve list of content-types to download
* ⚡ 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
* ✨ Create Schedule node with MVP structure
* ✨ Add 24 increments for hours picker
* 🚨 Lintfix
* Add timestamp, add hour minute and cron expression
* Fix bug where there was one extra interval object
* Fix default value from fixedCollection
* 🐛 UI fixes
* 🎨 Changed logic to reflect UI fixes
* Fix auto intitialising
* Deprecated interval and cron in favor of schedule node
* 🐛 Ui fixes
* 🐛 Fix issue with week intervals
* 🚨 Lint fixes
* change order of days in the week to chronological order
* 🎨 change the order of the interval to chronological
* 🔥 delete schedule unused svg
* 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>
* ✨ Create Schedule node with MVP structure
* ✨ Add 24 increments for hours picker
* 🚨 Lintfix
* Add timestamp, add hour minute and cron expression
* Fix bug where there was one extra interval object
* Fix default value from fixedCollection
* 🐛 UI fixes
* 🎨 Changed logic to reflect UI fixes
* Fix auto intitialising
* Deprecated interval and cron in favor of schedule node
* 🐛 Ui fixes
* 🐛 Fix issue with week intervals
* 🚨 Lint fixes
* change order of days in the week to chronological order
* 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>
* add support for authenticate, test to RundeckApi Credentials
* ensure that the RunDeckApi note uses the authentication mechanism
defined incredentials
* 🐛 Fix `BASE_PATH` for Vite dev mode
* don't use the string `/{{BASE_PATH}}/` as it gets replaces in build
* fix the static urls on windows
* ffs node 14
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
* fix(editor-ui): fix axios baseUrl when hosted under a subfolder
* don't rewrite the favicon url twice
* setup a base href for all relative urls
* fix static urls
BREAKING CHANGE: The Merge node list of operations was rearranged.
Merge node: 'Combine' operation was added with 'Combine Mode' option, operations 'Merge By Fields', 'Merge By Position' and 'Multiplex' placed under 'Combine Mode' option.
To update -go to the workflows that use the Merge node, select 'Combine' operation and then choose an option from 'Combination Mode' that matches an operation that was previously used. If you want to continue even on error, you can set "Continue on Fail" to true.
* 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
* feat(core): Improve light versioning support in declarative node design
* refactor: add to other parameters
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* 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
* feat: base structure for whatsapp node with credentials
* feat: messages operation
* feat: create generic api call with credentials and test first operation
* fix: add missing template params
* fix: language code for template
* feat: media type and start of template components
* fix: remove provider name from media type
* lintfix
* fix: format
* feat: media operations w/o upload media type
* ♻️ Convert WhatsApp Business node to declarative style
* 🐛 form data not being sent with boundary in header
* ✨ add media operations to WhatsApp
* ✨ add credentials test to WhatsApp credentials
* ♻️ move preview url to optional collection in whatsapp message
* ♻️ renamed media operations in whatsapp node
* :refactor: move media file name to optional fields in whatsapp node
* ✨ add upload from n8n for whatsapp node message resource
* 🔥 remove other template component types in whatsapp node
* :speech_bubble: add specialised text for media types in WhatsApp node
* ⚡ Load dinamically phone number and template name
* ⚡ Add action property to all operations
* 🔥 Remove unnecessary imports
* ⚡ Use getBinaryDataBuffer helper
* ⚡ Add components property
* ✨ send components for whatsapp templates and template language
* 🏷️ fix WhatsApp node message function types
* 🏷️ fix any in whatsapp message functions
* 🔥 remove unused import
* ⚡ Improvements
* ⚡ Add send location
* ⚡ Add send contact
* ⚡ Small improvement
* ♻️ changes for review
* 🐛 fix presend error
* ♻️ change lat/long to numbers with proper clamping
* fix: bad merge
* refactor: changes for review
* update package-lock.json
* update package.-lock.json
* update
Co-authored-by: cxgarcia <schlaubitzcristobal@gmail.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
* ⚡ 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
* simplify static server setup
* use consistent ignoredEndpoints across all routes
* remove unnecessary lodash usage
* stop keeping generated assets in memory
* pre-generate all static assets
* feat: add support for unit testing using vitest in editor-ui
* fix(editor): update tsconfig types and typeRoots
* chore(editor): update package-lock.json
* 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>
* fix(node-dev): fix the custom node build command
also
* wait for the build command to finish before logging the success message
* use module relative paths for looking up `tsconfig` and `tsc` using `require.resolve`
* copy over svg files as well
* copy over the static files before the compilation step
this makes sure that these files are also copied over with `--watch`
* 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>
* refactor(editor-ui): remove unused interfaces
* refactor(editor-ui): add urlBaseEditor setting to application state
* fix(editor-ui): webhook urls for test and production
* fix(editor-ui): jsPlumb Anchor interface
fix(typescript): Use consistent typescript configs
make all packages inherit tsconfig from the root tsconfig
skips building tests. reformat all tsconfigs with prettier.
right now endpoints defined in `N8N_AUTH_EXCLUDE_ENDPOINTS` are skipping the JWT auth, and the history middleware is returning 404 on these urls. This change ensures that these endpoints skip all auth-related middlewares.
* 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
* reduce redundant code between the two alpine Dockerfiles
* reduce the docker image build times
* reduce the `n8n` image size from 1.17GB to 462MB
* reduce the `n8n-custom` image size from 671MB to 460MB
* reduce the size of npm tree by making all typing packages devDependencies
Partially resolves this ticket: N8N-3252
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>
* 📘 Fix type errors in design system
* 🔥 Remove unneeded `?`
* 🔧 Add design system to Vetur
* 📘 Improve typing of `$el`
* ♻️ Address feedback
* 📘 Type leftover `MouseEvent`
* 📘 Type `event.target` properly