* ✨ Fixing autocomplete for expressions as function arguments
* ✅ Added more autocomplete tests
* ⚡ Improving autocomplete for complex expressions
* ⚡ Handling complex operation expressions in autocomplete
* feat(editor): Add support for schema view in the NDV output
* Make intercepts waiting optional in waitForLoad method
* Update RunDataSchema snapshots
* Do not reset output panel view on execution, properly key run RunDataSchemaItem to make sure they are unique across panels
* Update snapshot tests
* Make adding of schema view button option more readable
* feat(editor): Bring new users to empty canvas
* fix(editor): Revert empty /workflows redirect
* Provide `COMMIT_INFO_BRANCH` and uncomment demo experiment
* Only change redirect after set-up/sign-up to new canvas
* Fix failing specs
* Prevent redirect for demo experiment
* Fix workflows cards spacing
* feat(editor): Do not add manual trigger node if node creator trigger via canvas actions
* Add e2e tests
* Install cypress-plugin-tab, do not use cy.realPress as it hangs the tests
* Exclude tab tests
* feat(editor): Bring new users to empty canvas
* Fix failing e2e tests and revert CLI implementation
* Revert editor-ui Interface changes
* Try to mock /settings and /active
* Revert canvas test changes, reload after executions in 20-workflow-executions
* Make sure we include manual executiosn before running them in 20-workflow-executions
* Make sure to re-init node view when replacing empty workflows route, show phantom loader
* WIP: Cypress parallel CI run test
* Trigger action on branch push
* Change build artifacts path
* Make sure to checkout the repo for testing job
* Use Cypress action for installing
* Lock cypress action userd version
* Skip node install step since we're using cypress node16 container
* Let Cypress handle pnpm install
* Use setup-node action for caching pnpm
* Set CYPRESS_CACHE_FOLDER
* Set CYPRESS_CACHE_FOLDER
* Manually cache pnpm store
* Dont fix pnpm version
* Use caching action also in testing job
* Zip packages dist before uploading the artifacts and change caching key
* Use absolute build paths for zipping job
* Use zip command in action
* Use tar for zipping packages
* Debuggin directory ls
* Debugging caching of modules
* Attempt to fix permissions issue
* Porivde Cypress executable via `CYPRESS_RUN_BINARY`
* Cache /github/home
* Adjust caching keys
* Debug: search for cypress exec
* Debugging: List dirs
* Use pnpm install action to install node_modules
* Do not log /home/runner
* Use node_modules/.bin Cypress binary
* Use absolute path to nodue modules
* Run Cypress via custom command
* Try with patched cypress action
* Revert logging
* Manually specify cypress config file
* Use absolute paths
* Fix cypress config name
* Debug print cypress config
* Remove debugging, increase to 4 containers
* Increase amount of containers
* Add env-version matrix
* Replace node14 with node18 in testing matrix
* Remove debugging and add node 14
* Use just node14
* Use cypress:base and remove browser req
* Give more general timeouts
* Try with node16
* Change cache directive position
* Replace zip artifact upload with cache
* Cache full packages not just dist
* Test with variable inputs
* Add commit info message
* Remove wrongly commited code
* Allow WF API dispatch
* Try Chrome browser again for comparison
* Include Monaco in the build
* Make e2e workflow re-usable
* Comment out invalid reusable workflow args
* Use electron and add node 14 run
* Fix env arg
* Provide custom ci-build-id
* Refactor remaining e2e workflow to use reusable action
* Remove single matrix directive
* Refactor ci-pull-req
* Make lint job dependant on test jobs
* Disable debugging job
* Make containers dynamic
* Cleanup & install git for linting action
* Use regular buntu image for PR linting
* Debugging failing tests
* Remove fixed spec name
* Debug e2e env var
* Do not use realkeypress which crashes electron runner
* Debugging
* chore: remove console
* chore: remove console
* test: remove node 14 tests
* test: replace test branch with master
* test: use tests in current branch
* test: use relative path
* chore: clean up
* test: only trigger on approval
* ci: update test PR
* ci: use curr branch
* ci: only run 14 on schedule, not for slack command
* ci: only run test on approval
* ci: clean up branch, rename step
* ci: rename steps
* ci: clean up cancel
* ci: clean up env var
* ci: set var
* ci: use chromef
* ci: use electron
* chore: add console log
* chore: add console log
* ci: update to string
* ci: set all env options
* test: build
* ci: fix step issue
* Fix failing tests & upgrade to Cypress 12
* Allow WF dispatch of e2e reusable
* Fix wrong naming in e2e-tests workflow
* Redeploy
* Fix tests
* Fix NDV tests and remove skipping of webhooks execution tests
* Fix clipboard read command
* Fix execution failing tests
* Reset before each 15 and 3
* Fix flaky tests
* Cleanup and log envs
* Test fixes
* Default owner spec fixes
* Get rid of CYPRESS_RUN_ENV
* Increase amount of containers, cleanup and add mock for credentials test call
* Cleanup & fix PR tests unit tests
* Wait for WF to loade in sharing spec
* Do linting and unit tests first
* Use frozen lockfile
* Revert back ci pull request jobs order
* Refine credential input selector and move cy.waitForLoad to correct position in 15-scheduler spec
* test: build
* Wait for WF execution instead of arbitraty timeout in WF execution spec, change order of jobs for ci pull request
* Fix flaky 3-default owner spec and wait for execution list to load in 20-workflow-executions
* Use setup node action
* Remove caching for lint/unit tests
* Experiment with parallel test & lint on ci
* Provide cache key dynamically
* Run e2e in parallel on pr
* Only run node14 e2e on daily schedule
* Make sure to generate generate new ci-build-id on re-runs
* Remove debugging prints
* Address PR comments
* Rename custom onBeforeUnload handler
* Make sure 19-execution spec waits for wf to load properly before import fixtures
---------
Co-authored-by: Mutasem <mutdmour@gmail.com>
* fix: Fix mapping when appending to empty expression
* fix: refactor logic out
* test: add tests
* test: add tests
* fix: fix bug where value does not get updated when mapping
* test: add test for bug
* test: add test for bug
* ⚡ Added documentation for extension functions with arguments
* ⚡ Adding custom autocomplete item types. This enables us to show different items with same labels.
* 📚 Adding missing info for extensions autocomplete items
* ⚡ Added Luxon autocomplete docs
* 💡 Completing Luxon static methods autocomplete documentation
* ⚡ Refactoring Luxon autocomplete logic
* ⚡ Handling the case when autocomplete item doesn't have defined inline documentation
* ⚡ Added correct doc info to Luxon instance properties
* ✨ Added missing documentation and notice footer for autocomplete popup.
* 👕 Fixing lint error
* ✔️ Removing `Object.hasOwn` function, since it's not supported in node v14
* 🚀 Release 0.216.1
* fix(core): Do not allow arbitrary path traversal in the credential-translation endpoint (#5522)
* fix(core): Do not allow arbitrary path traversal in BinaryDataManager (#5523)
* fix(core): User update endpoint should only allow updating email, firstName, and lastName (#5526)
* fix(core): Do not explicitly bypass auth on urls containing `.svg` (#5525)
* 📚 Update CHANGELOG.md
---------
Co-authored-by: janober <janober@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* feat(editor): roll out schema view
* feat(editor): add posthog tracking
* refactor: use composables
* refactor: clean up console log
* refactor: clean up impl
* chore: clean up impl
* fix: fix demo var
* chore: add comment
* refactor: clean up
* chore: wrap error func
* refactor: clean up import
* refactor: make store
* feat: enable rudderstack usebeacon, move event to unload
* chore: clean up alert
* refactor: move tracking from hooks
* fix: reload flags on login
* fix: add func to setup
* fix: clear duplicate import
* chore: add console to tesT
* chore: add console to tesT
* fix: try reload
* chore: randomize instnace id for testing
* chore: randomize instnace id for testing
* chore: add console logs for testing
* chore: move random id to fe
* chore: use query param for testing
* feat: update PostHog api endpoint
* feat: update rs host
* feat: update rs host
* feat: update rs endpoints
* refactor: use api host for BE events as well
* refactor: refactor out posthog client
* feat: add feature flags to login
* feat: add feature flags to login
* feat: get feature flags to work
* feat: add created at to be events
* chore: add todos
* chore: clean up store
* chore: add created at to identify
* feat: add posthog config to settings
* feat: add bootstrapping
* chore: clean up
* chore: fix build
* fix: get dates to work
* fix: get posthog to recognize dates
* chore: refactor
* fix: update back to number
* fix: update key
* fix: get experiment evals to work
* feat: add posthog to signup router
* feat: add feature flags on sign up
* chore: clean up
* fix: fix import
* chore: clean up loading script
* feat: add timeout, fix: script loader
* fix: test timeout and get working on 8080
* refactor: move out posthog
* feat: add experiment tracking
* fix: clear tracked on reset
* fix: fix signup bug
* fix: handle errors when telmetry is disabled
* refactor: remove redundant await
* fix: add back posthog to telemetry
* test: fix test
* test: fix test
* test: add tests for posthog client
* lint: fix
* fix: fix issue with slow decide endpoint
* lint: fix
* lint: fix
* lint: fix
* lint: fix
* chore: address PR feedback
* chore: address PR feedback
* feat: add onboarding experiment
* adds ExecutionEvents view modal to ExecutionList
* fix time rendering and remove wf column
* checks for unfinished executions and fails them
* prevent re-setting stoppedAt for execution
* some cleanup / manually create rundata after crash
* quicksave
* remove Threads lib, log worker rewrite
* cleanup comment
* fix sentry destination return value
* test for tests...
* run tests with single worker
* fix tests
* remove console log
* add endpoint for execution data recovery
* lint cleanup and some refactoring
* fix accidental recursion
* remove cyclic imports
* add rundata recovery to Workflowrunner
* remove comments
* cleanup and refactor
* adds a status field to executions
* setExecutionStatus on queued worker
* fix onWorkflowPostExecute
* set waiting from worker
* get crashed status into frontend
* remove comment
* merge fix
* cleanup
* catch empty rundata in recovery
* refactor IExecutionsSummary and inject nodeExecution Errors
* reduce default event log size to 10mb from 100mb
* add per node execution status
* lint fix
* merge and lint fix
* phrasing change
* improve preview rendering and messaging
* remove debug
* Improve partial rundata recovery
* fix labels
* fix line through
* send manual rundata to ui at crash
* some type and msg push fixes
* improve recovered item rendering in preview
* update workflowStatistics on recover
* merge fix
* review fixes
* merge fix
* notify eventbus when ui is back up
* add a small timeout to make sure the UI is back up
* increase reconnect timeout to 30s
* adjust recover timeout and ui connection lost msg
* do not stop execution in editor after x reconnects
* add executionRecovered push event
* fix recovered connection not green
* remove reconnect toast and merge existing rundata
* merge editor and recovered data for own mode
* feat: update PostHog api endpoint
* feat: update rs host
* feat: update rs host
* feat: update rs endpoints
* refactor: use api host for BE events as well
* ⚡ Implemented support for documentation links in autocomplete tooltips
* ⚡ Added support for arguments and code stying in autocomplete documentation. Added build-in string functions docs.
* ⚡ Added support for args without types in autocomplete, Added array native functions.
* ⚡ Added native Number and Object methods to autocomplete
* ⚡ Added support for native properties in autocomplete
* 📚 Added comment for next phase
* ✔️ Updating tests to account for native autocomplete options. Fixing lint errros.
* 👌 Addressing design review comments
* 🎨 Using design-system tokens instead of colors for autocomplete
* test(editor): Execution testing from UI perspective
* test(editor): Execution testing from UI perspective
* test(editor): Execution test rename
* test(editor): Execution test rename and add stop test
* test(editor): Execution test with webhook
* test(editor): Execution test with webhook
* feat(editor): update to personalization survey v4
* refactor: rename role other key for consistency
* feat: add reported source to survey
* test: add unit tests for personalization modal
because of the updated dev tooling in https://github.com/n8n-io/n8n/pull/5454, vite dev mode is crashing because of the `util` package looking for `process.env`.
* fix(editor): Prevent creation of input connections for nodes without input
* WIP: Workflow checks service and controller
* fix: Created SQLite migration to remove broken connections
* Cleanup & add mysql/posgres migrations
* Linter fixes
* Unify the migration scripts
* Escape migration workflow_entity
* Wrap the migration in try/catch and do not parse nodes and connection if mysql/postgres
* Do migration changes also fro mysql
* refactor: Wrap only the necessary call in try catch block
---------
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* fix(editor): Prevent creation of input connections for nodes without input
* WIP: Workflow checks service and controller
* fix: Created SQLite migration to remove broken connections
* Cleanup & add mysql/posgres migrations
* Linter fixes
* Unify the migration scripts
* Escape migration workflow_entity
* Wrap the migration in try/catch and do not parse nodes and connection if mysql/postgres
* Do migration changes also fro mysql
* refactor: Wrap only the necessary call in try catch block
---------
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* refactor: Hide prompt for desktop
* feat: add email field to personalization modal
* fix: update survey interfaces
* chore: enable personalization survey email key display condition
* feat: add users page upsell for desktop client
* feat: disable UM on desktop where possible
* refactor: Have a single function to decide whether UM is enabled
* feat: update community nodes upsell link
---------
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: krynble <omar@n8n.io>
Co-authored-by: freyamade <freya@n8n.io>
* ⚡ Adding source and target test data to connection HTML elements
* ⚡ Using new action to add node on the connection
* 🔥 Removing leftover log
* 🔥 Removing leftover test action
* 👌 Refactoring to address PR feedback
* test: add tests for pinning
* test: add test for value
* test: add pinned data tests
* test: refactor into ndv
* refactor: move to ndv
* refactor: rename node
* test: fix test
* test: fix refactor
* test: remove unused id
* test: update test
* test: chain rename input
* test: refactor invoking text
* test: fix ndv tests
* test: move test id
* test: add tests for mapping
* test: update selectors
* test: add mapping
* test: remove wait
* test: add back line removed by mistake
* test: refactor to support both in/output displays
* test: add display mode switching
* test: fix drop
* chore: clean up change
* refactor: add draganddrop
* fix: fix drag and drop
* test: add mapping test for second value
* test: update text
* test: update param
* feat(core): Fix populating of node custom api call options
* lint fixes
* Adress PR comments
* Add e2e test and only inject custom API options for latest version
* Make sure to injectCustomApiCallOption for the latest version of node
* feat(cli): Move apiCallOption injection to LoadNodesAndCredentials and add e2e tests to check for custom nodes credentials
* Load nodes and credentials fixtures from a single place
* Console warning if credential is invalid during customApiOptions injection
* feat(core): Fix populating of node custom api call options
* lint fixes
* Adress PR comments
* Add e2e test and only inject custom API options for latest version
* Make sure to injectCustomApiCallOption for the latest version of node
* refactor(editor): Fix duplicate NodeView keys when navigating between routes (no-changelog)
* Prettier fixes
* Use computed to export jsPlumb instance from canvas
* Force jsPlumb computed instance type
* feat: Continue to show mapping tooltip after dismiss
* feat(editor): Append expressions in fixed values when mapping
* Revert "feat(editor): Append expressions in fixed values when mapping"
f0d395876c
* feat: add data path flag
* chore: update types
* feat: use path for data
* feat: add support for multiple values
* fix: handle if not prev node
* fix: update node
* fix: handle multi part path
* feat: add support for multiple vals for field
* feat: add support for table transforms
* feat: use dot notation
* feat: fix bug where brackets removed
* fix: handle dots, fix unit tests
* test: update snapshot
* test: fix tests
* test: add test for edge case
* ⚡ Removing authentication parameter from NDV
* ⚡ Added auth type selector to credentials modal
* 🔨 Extracting reusable logic to util functions
* ⚡ Updating credentials position, adding label for radio buttons
* ⚡ Using first node credentials for nodes with single auth options and hiding auth selector UI in that case
* ⚡ Fixing credentials modal when opened from credentials page
* ⚡ Showing all available credentials in NDV credentials dropdown
* ⚡ Updating node credentials dropdown component to show credentials description. Disabling `Credentials of type not found` error in node
* ⚡ Moving auth related fields from NDV to credentials modal. Added support for multiple auth fileds
* ⚡ Moving NDV fields that authentication depends on to credentials modal
* ⚡ Keeping old auth/credentials UI in NDV for HTTP Request and Webhook nodes. Pre-populating credential type for HTTP request node when selected from 'app action' menu
* 💄 Use old label and field position for nodes that use old credentials UI in NDV
* ⚡ Implementing more generic way to find node's auth fileds
* 📚 Adding comments on parameter hiding logic
* ⚡ Fixing node auth options logic for multiple auth fields
* 👕 Fixing lint errors
* 💄 Addressing design review comments
* ⚡ Not selecting first auth option when opening new credential dialog
* ⚡ Using default credentials name and icon if authentication type is not selected
* ⚡ Updating credential data when auth type is changed
* ⚡ Setting new credentials type for HTTP Request and Webhook nodes
* ⚡ Setting nodes with access when changing auth type
* 👕 Fixing lint error
* ⚡ Updating active node auth type from credentials modal
* ⚡ Syncronizing credentials modal and dropdown
* 👕 Fixing linter error
* ⚡ Handling credential dropdown UI for multiple credentials
* 👕 Removing unused imports
* ⚡ Handling auth selection when default auth type is the first option
* ⚡ Updating credentials change listening logic
* ⚡ Resetting credential data when deleting a credential, disabling 'Details' and 'Sharing' tabs if auth type is not selected
* 🐛 Skipping credentials type check when showing mixed credentials in the dropdown and switching credentials type
* ⚡ Showing credential modal tabs for saved credentials
* ⚡ Preventing renaming credentials when no auth type is selected
* 🐛 Fixing credentials modal when opened from credentials page
* ⚡ Keeping auth radio buttons selected when switching tabs
* ✅ Adding initial batch of credentials NDV tests
* ⚡ Updating node auth filed value when new credential type is selected
* ⚡ Using all available credential types for current node to sync credential dropdown with modal
* ⚡ Sorting mixed credentials by date, simplifying credential dropdown option logic
* 🔨 Extracting some reusable logic to utils
* ⚡ Improving required vs optional credentials detection and using it to show auth radio buttons
* 👕 Fixing lint errors
* ✅ Adding more credentials tests
* ⚡ Filtering credential options based on authentication type
* 🔨 Refactoring credentials and auth utils
* ⚡ Updated handling of auth options in credentials modal to work with new logic
* 🔨 Getting the terminology in line
* 📚 Removing leftover comment
* ⚡ Updating node auth filed detection logic to account for different edge-cases
* ⚡ Adding Wait node as an exception for new UI
* ⚡ Updating NDV display when auth type changes
* ⚡ Updating default credentials name when auth type changes
* ⚡ Hiding auth settings after credentials are saved
* ⚡ Always showing credentials modal menu tabs
* ⚡ Improving main auth field detection logic so it doesn't account for authentication fields which can have `none` value
* ⚡ Restoring accidentally deleted not existing credential issue logic
* ⚡ Updating other nodes when deleted credentials have been updated
* ⚡ Using filtered auth type list to show or hide radio buttons section in credentials modal
* 👕 Addressing lint error
* 👌 Addressing PR review feedback
* 👕 Fixing lint issues
* ⚡ Updating main auth filed detection logic so it checks full dependency path to determine if the field is required or optional
* 👌 Addressing the rest of PR feedback
* ✅ Updating credential tests
* ⚡ Resetting credential data on authentication type change
* ⚡ Created AuthTypeSelector component
* 👌 Addressing PR comments
* ⚡ Not resetting overwritten credential properties when changing auth type
* ⚡ Hiding auth selector section if there are no options to show
* feat(editor): Add Google auth button focus, active, disabled states
* Add reconnect label to google reconnect button slot
* Increase size of Google Auth button and fix centering of n8n-banner icon
* Increase size of Google Auth button to 46px
* feat(editor): Supress validation errors when node is added from node creator
* Supress initial errors also for resource locator inputs
* Use nodeMetadata prop to store node's `pristine` state
* Revert `setNodeParameters` check for `nodeMetadata`
* Rename getIsNodePristine to isNodePristine
* fix(editor): Global exec list adding tooltips
* fix(editor): Global exec list fix indefinite waiting status display
* fix(editor): Global exec list fix indefinite waiting status display
* fix(editor): Global exec list remove ellipsis menu from running execs
* adds ExecutionEvents view modal to ExecutionList
* fix time rendering and remove wf column
* checks for unfinished executions and fails them
* prevent re-setting stoppedAt for execution
* removing UI changes but keeping eventbus fixes
* remove comment
* fix(editor): Create executions page
* fix(editor): lint fix
* fix(editor): Reuse execution list in both modal and page
* fix(editor): fix ts issues
* fix(editor): Reorganizing exec list components for easier redesign (everything is in its new place now)
* fix(editor): Exec list item restyling
* fix(editor): Exec list add back stripes
* fix(editor): Exec list formatting dates and times
* fix(editor): Exec list revert accidental searc and replace
* fix(editor): Exec list translations and execution IDs
* fix(editor): Exec list playing with table cell sizing
* fix(editor): Exec list playing with table cell sizing
* fix(editor): Exec list drop Element UI Table
* fix(editor): Exec list adding sticky header and View button on row hover
* fix(editor): Exec list open execution in new tab, add ellipsis menu to all rows with Delete action
* fix(editor): Global exec list update translations snd fix tabindex
* fix(editor): Global exec list redesign selection
* fix(editor): Global exec list fix scrolling container
* fix(editor): Global exec list fix running status
* fix(editor): Global exec list fix waiting status
* feat(Telegram Trigger node, Shopify Trigger node): Change display name of Telegram and Shopify trigger nodes
* Remove trigger on tooltips for Telegram and Shopify trigger nodes
* Add telegram action override and make sure recommended category actions are overwritable
* fix: Disable data pinning on Compare Datasets node
* feat: update pin data mixin to automatically determine if multiple outputs node
* fix: remove unused node type constant
* feat: update n8n-users-list to no longer use preset list of actions
* feat: prepared users settings for invite links feature
* refactor: Return invite link URLs when inviting users (#5079)
* refactor: Return invite link URLs when inviting users
* test: Refactor and add tests to mailer
* feat: Add FE inviteAcceptUrl integration (#5085)
* feat: update n8n-users-list to no longer use preset list of actions
* feat: prepared users settings for invite links feature
* feat: add integration with new inviteAcceptUrl changes
* feat: Add inviteAcceptUrl to user list for pending users
Co-authored-by: Alex Grozav <alex@grozav.com>
* fix conflicts
* fix lint issue
* test: Make sure inviteAcceptUrl is defined
* feat: update smtp setup suggestion
* feat: add invite link summary when inviting multiple users
* refactor: Add telemetry flag for when email is sent
* fix: add email_sent correctly to telemetry event
* feat: move SMTP info-tip to invite modal
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* refactor: Load swagger and openapi dependencies conditionally
* disable public api in tests to reduce heal usage
* update the link and text in SettingsApiView when swagger ui is disabled
* ✨ Create rule `no-interpolation-in-regular-string`
* 👕 Enable rule
* ⚡ Run rule (no issues) and add exception
* ⚡ Simplify regex
To account for expressions and to make it less expensive
* ✨ Create rule `no-unneeded-backticks`
* 👕 Enable rule
* ⚡ Run rule on `cli`
* ⚡ Run rule on `core`
* ⚡ Run rule on `workflow`
* ⚡ Rule rule on `design-system`
* ⚡ Run rule on `node-dev`
* ⚡ Run rule on `editor-ui`
* ⚡ Run rule on `nodes-base`
* fix(editor): fixed executions list scroll not working on large screens
* ⚡ Use limit to only load necessary number of additional executions
* 🐛 Fixing loading execution that is not on the current execution list
* ✔️ Fixing lint error
* ⚡ Fixing more executions count logic
* 📚 Updating comments
* 🔥 Removing leftover `console.log`
* add or update documentation URLs for all credentials
* add UTM params to documentation urls even when they are absolute urls
* Setup a CI job to validate documentation urls after every release
* Fix FacebookGraphApi documentation URL
* also validate node documentation urls
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* 🐛 Only add current workflow executions to to store when loading executions from global list
* 🐛 Fixing infinite scroll on executions list
* 🐛 Fixing global and current executions list sync
* ⚡ Resetting executions list when opening new workflow
* 🐛 Handling opening execution from global list before opening a workflow
* ⚡ Scrolling to active execution card if out of view, keeping selected execution after workflow load
* Setup stricter linting for typescript
* make `import/no-unresolved` an error everywhere
* use prettier to format `.vscode/settings.default.json`
* address PR comments
* fix: Prevent workflows with only manual trigger from being activated
* fix: Fix workflow id when sharing from workflows list
* fix: Update sharing modal translations
* fix: Allow sharees to disable workflows and fix issue with unique key when removing a user
* refactor: Improve error messages and change logging level to be less verbose
* fix: Broken user removal transfer issue
* feat: Implement workflow sharing BE telemetry
* chore: temporarily add sharing env vars
* feat: Implement BE telemetry for workflow sharing
* fix: Prevent issues with possibly missing workflow id
* feat: Replace WorkflowSharing flag references (no-changelog) (#4918)
* ci: Block all external network calls in tests (no-changelog) (#4930)
* setup nock to prevent tests from making any external requests
* mock all calls to posthog sdk
* feat: Replace WorkflowSharing flag references (no-changelog)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
* refactor: Remove temporary feature flag for workflow sharing
* refactor: add sharing_role to both manual and node executions
* refactor: Allow changing name, position and disabled of read only nodes
* feat: Overhaul dynamic translations for local and cloud (#4943)
* feat: Overhaul dynamic translations for local and cloud
* fix: remove type casting
* chore: remove unused translations
* fix: fix workflow sharing translation
* test: Fix broken test
* refactor: remove unnecessary import
* refactor: Minor code improvements
* refactor: rename dynamicTranslations to contextBasedTranslationKeys
* fix: fix type imports
* refactor: Consolidate sharing feature check
* feat: update cred sharing unavailable translations
* feat: update upgrade message when user management not available
* fix: rename plan names to Pro and Power
* feat: update translations to no longer contain plan names
* wip: subworkflow permissions
* feat: add workflowsFromSameOwner caller policy
* feat: Fix subworkflow permissions
* shared entites should check for role when deleting users
* refactor: remove circular dependency
* role filter shouldn't be an array
* fixed role issue
* fix: Corrected behavior when removing users
* feat: show instance owner credential sharing message only if isnt sharee
* feat: update workflow caller policy caller ids labels
* feat: update upgrade plan links to contain instance ids
* fix: show check errors below creds message only to owner
* fix(editor): Hide usage page on cloud
* fix: update credential validation error message for sharee
* fix(core): Remove duplicate import
* fix(editor): Extending deployment types
* feat: Overhaul contextual translations (#4992)
feat: update how contextual translations work
* refactor: improve messageing for subworkflow permissions
* test: Fix issue with user deletion and transfer
* fix: Explicitly throw error message so it can be displayed in UI
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: freyamade <freya@n8n.io>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
* delete unused code
* fix: Do not set the `Content-Disposition` header when viewing binary files
* remove the duplicate styles.
these already exist in BinaryDataDisplayEmbed.vue
* 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
* upgrade ts-node
* move tslint and typescript to a single place
* source-map-support should be loaded in the `n8n` bin script, and not in core
* upgrade jest
* Support only node.js 14, 16, or 18
* ✨ 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>
* 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
* ✨ 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
* 📘 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
* 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
* 📦 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
* ⚡ 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>
* 🐛 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
* 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
* 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>