* feat: Reduce initial memory spike at server startup (no-changelog)
This changes the frontend types generation to generate less garbage for the GC to collect.
* switch to stream pipelines for writing all the static files
and, move all static file generation before the server starts
* fix: Avoid hashing workflows in the listing page
* stop returning full nodes data on the listings page when sharing is enabled
* fix the relations array for workflow listing
* add a comment explaining the hash skipping hack
* Mark binary data to be deleted when pruning executions
* eslint
* make pruneExecutionData async
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
* 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>
* use user-folder override consistently everywhere, including for the `.cache` folder
* use consistent config for e2e tesing, skipping config loading from env and config files
* simplify all the cypress commands, and run all e2e tests on master
fix: invalid credentials should throw 401 and not 500
I missed to add these in https://github.com/n8n-io/n8n/pull/4691
I've checked not that there are no other cases of http errors that aren't using error classes. This was the last one.
* 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
* ⚡ Abstract into `getMany()`
* ⚡ Use `getMany()` from free controller
* ⚡ Use `getMany()` from paid controller
* 🧪 Add tests
* 🧪 Fix tests
* ⚡ Add credential usage info
* 🧪 Update tests
* ⚡ Add type and adjust test
* SIGTERM/SIGINT should only be handled once
* move error-handling initialization to commands
* create a new `sleep` function in workflow utils
* detect crashes and report them to Sentry
* feat(cli): Setup error tracking using Sentry
* make error reporting available in the workflows package
* address some of the PR comments
* create a ErrorReporterProxy like LoggerProxy
* remove the `captureError` helper. use ErrorReporterProxy directly
* fix linting issues
* remove ErrorReporterProxy warnings in tests
* check for NODE_ENV === 'production' instead
* IErrorReporter -> ErrorReporter
* ErrorReporterProxy.getInstance() -> ErrorReporter
* allow capturing stacks in warnings as well
* make n8n debugging consistent with `npm start`
* IReportingOptions -> ReportingOptions
* use consistent signature for `error` and `warn`
* use Logger instead of console.log
* 📘 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
The cookie and the JWT refresh is already handled in `refreshExpiringCookie` middleware, which only updates the cookie 3 days before the expiration.
The middleware also uses `issueCookie`, which ensures that attributes like `sameSite` and `httpOnly` are correctly set on the cookie.
* typeorm queries with AND for filter, schema validation
* validate filters
* replace json.parse with jsonParse()
* limited fields further
* limited workflow fields further
* removes date filter fields and fix waitTill filter
* simplified filter name arrays
* ⚡ 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(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
* 🐛 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
* ⚡ Remove duplicate and old string
* ⚡ Add telemetry
* ⚡ Futher improvements
* ⚡ Change error message and display only name of last parameter
* 👕 Fix lint issue
* ⚡ Remove not needed comments
* ⚡ Rename properties, add new ones and improve error messages
* ⚡ Add support for $execution, $prevNode and make it possible to use proxies as object
* ⚡ Some small improvements
* 🐛 Fix error message
* ⚡ Improve some error messages
* ⚡ Change resumeUrl variable and display in editor
* ⚡ Fix and extend tests
* ⚡ Multiple pairedItem improvements
* ⚡ Display "More Info" link with error messages if user can fix issue
* ⚡ Display different errors in Function Nodes
* fix(nodes-base): fix and harmonize all primaryDocumentation links
* feat(workflow, cli): expose documentation links to UI via node codex
* fix(editor-ui): link to correct node and credential documentation URLs
* config(nodes-base): update 'format' script to also format node descriptor json
* chore: fix outdated links to node reference documentation
* simplify static server setup
* use consistent ignoredEndpoints across all routes
* remove unnecessary lodash usage
* stop keeping generated assets in memory
* pre-generate all static assets
* ✨ Added resource locator interfaces to `n8n-workflow` package
* ✅ Updating Trello node to use resource locator property type
* ✨ Added resource locator prop to Delete Board` Trello operation
* ✔️ Fiixing linting errors in Trello node
* ✨ Added list mode to Trello test node
* ⚡ Updating resource locator modes interface
* ⚡ Updating Trello test node validation messages and placeholders
* N8N-4175 resource locator component (#3812)
* ✨ Implemented initial version of resource locator component
* ✨ Implemented front-end validation for resource locator component. Improved responsiveness. Minor refactoring.
* ⚡ Setting resource locator default state to list. Updating hover states and expand icon.
* 🔨 Moving resource locator component to `ParameterInput` from `ParameterInputFull
* 🔨 Moving `ResourceLocator` to a separate Vue component
* 🔨 Implementing expression and drag'n'drop support in ResourceLocator` component
* 🔨 Cleaning up `ResourceLocator` component code
* ✨ Implemented resource locator selected mode persistance
* 💄 Minor refactoring and fixes in `ResourceLocator`
* 🔨 Updating `ResourceLocator` front-end validation logic
* ⚡ Saving resource locator mode in node parameters
* 💄 Updating the `ResourceLocator` component based on the design review
* 🐛 Fixing resource locator mode parameters handling when loading node parameter values on front-end
* 💄 Removing leftover unused CSS
* ⚡ Updating interfaces to support resource locator value types
* ⚡ Updating `ResourceLocator` component to work with object parameter values
* 🔨 Cleaning up `ResourceLocator` and related components code
* ⚡ Preventing `DraggableTarget` to be sticky if disabled
* 🐛 Fixing a bug with resource locator value parameter
* 👌 Adding new type alias for all possible node parameter value types
* 👌 Updating `ResourceLocator` and related components based on PR review feedback
* ⚡ Adding disabled mode to `ResourceLocator` component, fixing expression handling, minor refactoring.
* 💄 Updating disabled state styling in `ResourceLocator` component
* ⚡ Setting correct default value for test node and removing unnecessary logic
* 💄 Added regex URL validation to Trello test node
* ✨ Updating Trello test node with another (list mode only) test case
* ✔️ Fixing linting error in Trello node
* 🔨 Removing hardcoded custom modes and modes order
* Add value extractor to routing node (#3777)
* ✨ add value extractor to routing node
* ✨ add value extractor to property modes
* 🔊 improve error logging for value extractor
* 🔥 remove old extractValue methods from RoutingNode
* ⚡ extractValue inside getNodeParameter
* 🔥 remove extract value test from RoutingNode
* ✨ make value extraction optional
* 🥅 move extract value so proper error messages are sent
* 🚨 readd accidentally removed eslint-disable
* ✨ add resource locator support extractValue
* 🚨 remove unused import
* 🐛 fix getting value of resource locator
* 💄 Updating resource locator component styling and handling reset value action
* ✨ create v2 of Trello node for resource locator
* 💄 Updating ResourceLocator droppable & activeDrop classes and removing input padding-right
* ⚡ Updating Trello test node with single-mode test case
* ⚡ Updating field names in Trello node to avoid name clash
* 💄 Updating test Trello node mode order and board:update parameter name
* 💄 Updating test node parameter names and display options
* List mode search endpoint (#3936)
* 🚧 super basic version of the search endpoint
This version is built using a hacked up version of the Google Drive
node. I need to properly create a v2 for it but it's does work.
* 🚧 fixed up type errors and return urls
* ✨ add v3 of Google Drive node with RLC
* ✨ add RLC to Google Drive Shared Drive operations
* ♻️ address some small changes requested in review
* 🐛 move list search out of /nodes/ and add check for required param
* ✨ google drive folder search
* ✨ google drive search sort by name
* ✨ add searchable flag for RLC
* ✏️ fix google drive wording for v3
* Trello and Airtable search backend (#3974)
* ✨ add search to Trello boards
* ✨ add RLC to Trello cards
* ♻️ use new versioning system for Trello v2
* 🐛 move list search out of /nodes/ and add check for required param
* ✨ re-add trello search methods
* 🥅 throw error if RLC search isn't sent a method name
This will likely be removed when the declarative style of search has
been added.
* ✨ add requires filter field to RLC search
* ✨ add searchable flag to Trello searches
* ✨ add RLC for cardId and boardId on all operations
* ✨ add ID and URL RLC to Airtable
* N8 n 4179 resource locator list mode (#3933)
* ✨ Implemented initial version of list mode dropdown
* ✨ Handling mode switching and expression support in list mode
* 🔨 Removing `sortedModes` references
* ⚡ Fixing list mode UI after latest mege
* 💄 Updating padding-right for input fields with suffix slots
* ✨ Minor fixes to validation, mode switching logic and styling
* update error
* 2 or more regex
* update regex to be more strict
* remove expr colors
* update hint
* 🚧 super basic version of the search endpoint
This version is built using a hacked up version of the Google Drive
node. I need to properly create a v2 for it but it's does work.
* 🚧 fixed up type errors and return urls
* begin list impl
* ✨ add v3 of Google Drive node with RLC
* fix ts issue
* introduce dropdown
* add more behavior
* update design
* show search
* add filtering
* push up selected
* add keyboard nav
* add loading
* add caching
* remove console
* fix build issues
* add debounce
* fix click
* keep event on focus
* fix input size bug
* add resource locator type
* update type
* update interface
* update resource locator types
* ✨ add search to Trello boards
* ✨ add RLC to Google Drive Shared Drive operations
* update
* update name
* add package
* use stringify pckg
* handle long vals
* fix bug in url id modes
* remove console log
* add lazy loading
* add lazy loading on filtering
* clean up
* make search clearable
* add error state
* ✨ add RLC to Trello cards
* ♻️ address some small changes requested in review
* ♻️ use new versioning system for Trello v2
* refactor a bit
* fix how loading happens
* clear after blur
* update api
* comment out test code
* update api
* relaod in case of error
* update endpoint
* 🐛 move list search out of /nodes/ and add check for required param
* 🐛 move list search out of /nodes/ and add check for required param
* update req handling
* update endpoint
* ✨ re-add trello search methods
* 🥅 throw error if RLC search isn't sent a method name
This will likely be removed when the declarative style of search has
been added.
* get api to work
* update scroll handling
* ✨ google drive folder search
* ✨ add requires filter field to RLC search
* ✨ google drive search sort by name
* remove console
* ✨ add searchable flag for RLC
* ✨ add searchable flag to Trello searches
* update searchable
* ✨ add RLC for cardId and boardId on all operations
* ✨ add ID and URL RLC to Airtable
* fix up search
* remove extra padding
* add link button
* update popper pos
* format
* fix formating
* update mode change
* add name urls
* update regex and errors
* upate error
* update errors
* update airtable regex
* update trello regex rules
* udpate param name
* update
* update param
* update param
* update drive node
* update params
* add keyboard nav
* fix bug
* update airtable default mode
* fix default value issue
* hide long selected value
* update duplicate reqs
* update node
* clean up impl
* dedupe resources
* fix up nv
* resort params
* update icon
* set placeholders
* default to id mode
* add telemetry
* add refresh opt
* clean up tmp val
* revert test change
* make placeholder optional
* update validation
* remove description as param hint
* support more general values
* fix links on long names
* update resource item styles
* update pos
* update icon color
* update link alt
* check if required
* move validation to workflow
* update naming
* only show warning at param level
* show right border on focus
* fix hover on all item
* fix long names bug
* fix expr bug
* add expr
* update legacy mode
* fix up impl
* clean up node types
* clean up types
* remove unnessary type
* clean up types
* clean up types
* clean up types
* clea n up localizaiton
* remove unused key
* clean up helpers
* clean up paraminput
* clean up paraminputfull
* refactor into one loop
* update component
* update class names
* update prop types
* update name cases
* update casing
* clean up classes
* clean up resource locator
* update drop handling
* update mode
* add url for link mode
* clear value by default
* add placeholder
* remove legacy hint
* handle expr in legacy
* fix typos
* revert padding change
* fix up spacing
* update to link component
* support urls for id
* fix replacement
* build
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Valya Bullions <valya@n8n.io>
* refactor: Resource locator review changes (#4109)
* ✨ Implemented initial version of list mode dropdown
* ✨ Handling mode switching and expression support in list mode
* 🔨 Removing `sortedModes` references
* ⚡ Fixing list mode UI after latest mege
* 💄 Updating padding-right for input fields with suffix slots
* ✨ Minor fixes to validation, mode switching logic and styling
* update error
* 2 or more regex
* update regex to be more strict
* remove expr colors
* update hint
* 🚧 super basic version of the search endpoint
This version is built using a hacked up version of the Google Drive
node. I need to properly create a v2 for it but it's does work.
* 🚧 fixed up type errors and return urls
* begin list impl
* ✨ add v3 of Google Drive node with RLC
* fix ts issue
* introduce dropdown
* add more behavior
* update design
* show search
* add filtering
* push up selected
* add keyboard nav
* add loading
* add caching
* remove console
* fix build issues
* add debounce
* fix click
* keep event on focus
* fix input size bug
* add resource locator type
* update type
* update interface
* update resource locator types
* ✨ add search to Trello boards
* ✨ add RLC to Google Drive Shared Drive operations
* update
* update name
* add package
* use stringify pckg
* handle long vals
* fix bug in url id modes
* remove console log
* add lazy loading
* add lazy loading on filtering
* clean up
* make search clearable
* add error state
* ✨ add RLC to Trello cards
* ♻️ address some small changes requested in review
* ♻️ use new versioning system for Trello v2
* refactor a bit
* fix how loading happens
* clear after blur
* update api
* comment out test code
* update api
* relaod in case of error
* update endpoint
* 🐛 move list search out of /nodes/ and add check for required param
* 🐛 move list search out of /nodes/ and add check for required param
* update req handling
* update endpoint
* ✨ re-add trello search methods
* 🥅 throw error if RLC search isn't sent a method name
This will likely be removed when the declarative style of search has
been added.
* get api to work
* update scroll handling
* ✨ google drive folder search
* ✨ add requires filter field to RLC search
* ✨ google drive search sort by name
* remove console
* ✨ add searchable flag for RLC
* ✨ add searchable flag to Trello searches
* update searchable
* ✨ add RLC for cardId and boardId on all operations
* ✨ add ID and URL RLC to Airtable
* fix up search
* remove extra padding
* add link button
* update popper pos
* format
* fix formating
* update mode change
* add name urls
* update regex and errors
* upate error
* update errors
* update airtable regex
* update trello regex rules
* udpate param name
* update
* update param
* update param
* update drive node
* update params
* add keyboard nav
* fix bug
* update airtable default mode
* fix default value issue
* hide long selected value
* update duplicate reqs
* update node
* clean up impl
* dedupe resources
* fix up nv
* resort params
* update icon
* set placeholders
* default to id mode
* add telemetry
* add refresh opt
* clean up tmp val
* revert test change
* make placeholder optional
* update validation
* remove description as param hint
* support more general values
* fix links on long names
* update resource item styles
* update pos
* update icon color
* update link alt
* check if required
* move validation to workflow
* update naming
* only show warning at param level
* show right border on focus
* fix hover on all item
* fix long names bug
* ♻️ refactor extractValue to allow multiple props with same name
* ♻️ use correct import for displayParameterPath
* fix expr bug
* add expr
* update legacy mode
* fix up impl
* clean up node types
* clean up types
* ♻️ remove new version of google drive node
* ♻️ removed versioned Trello node for RLC
* remove unnessary type
* ♻️ remove versioned Airtable not for RLC
* clean up types
* clean up types
* clean up types
* clea n up localizaiton
* remove unused key
* clean up helpers
* clean up paraminput
* clean up paraminputfull
* refactor into one loop
* update component
* update class names
* update prop types
* update name cases
* update casing
* clean up classes
* 💬 updated RLC URL regex error wording
* clean up resource locator
* update drop handling
* update mode
* 💬 reword value extractor errors
* 🚨 remove unneeded eslint ignores for RLC modes
* 💬 update Trello 400 error message
* 🚨 re-add removed types in editor-ui
Also ts-ignore something that was clean up in another commit. I've added
a comment to fix after someone else can look at it.
* 💬 remove hints from Google Drive RLCs
* 🥅 rethrow correct errors in Trello node
* ✨ add url for id mode on Google Drive
* 🔥 remove unused Google Drive file
* 🔊 change console.error to use logger instead
* 🔀 fix bad merges
* ♻️ small changes from review
* ♻️ remove ts-ignore
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Mutasem <mutdmour@gmail.com>
* fix build
* update tests
* fix bug with credential card
* update popover component
* fix expressions url
* fix type issue
* format
* update alt
* fix lint issues
* fix eslint issues
Co-authored-by: Milorad Filipovic <milorad@n8n.io>
Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com>
Co-authored-by: Valya <68596159+valya@users.noreply.github.com>
Co-authored-by: Valya Bullions <valya@n8n.io>
* 🎉 starting feature development
* ✨ sharing/unsharing a credential (#3601)
* 🎉 initial design
* ✨ sharing/unsharing of credentials
* ✅ add tests for EE credentials controller
* 💪 implement review comments
* 🛠 refactor agent creation and credential role locking
* 👕 linting adjustments (#3691)
* 👕 Adjust rule `naming-convention`
* 👕 Fix `naming-convention` config value
* 👕 Disregard casing for EE-prefixed vars
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 🛠 refactor authAgents in tests (#3725)
* 🛠 refactor authAgent
* 🛠 refactor authAgent
* 🛠 refactor authAgent
* 🛠 refactor authAgent
* 👕 fix ts issue
* 🐘 add migration for mysql and postgres + add AuthAgent type
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* ⚡️ refactor existing credentials routes (#3672)
* 🎉 initial design
* ✨ sharing/unsharing of credentials
* ♻️ split credential update route into controller and service
* 🔥 remove credentials test that is no longer applicable
* ♻️ split credential creation route into controller and service
* ♻️ split single credential get
* ♻️ split delete credentials route
* ♻️ split get all credentials route
* 🔥 remove unused imports in credentials contoller
* 🔥 remove console.log
* :refactor: changes to credentials controller and service from review
- removed credentials from service function names
- made relations list optional
- put allowGlobalOwner in options objects
- check length of relations array so join doesn't happen if empty
- update some comments to further explain rationale
- remove unneeded `Object.assign`
- remove non-null assertion from test
* ♻️ move filtered credentials selected fields to variable
* ♻️ remove unneeded merges in credentials service
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
* ✅ fix test
* 🐛 fix imports
* 👕 fix lint issue
* User Management: switch over to decorators to define routes (#3827)
* Add permissions details to credentials for User Management (#3863)
* ⚡ Open `GET /users`
* ⚡ Add permissions to cred service
* 🚚 Rename method
* ⚡ Refactor cred controller
* 🧪 Adjust test
* ✏️ Improve comment
* ✏️ Improve another comment
* ⚡ Account for multiple sharings
* 🐛 Fix access when user is editor
* 📘 Expand interface
* 📘 Relocate types
* 📘 Exempt cred entity with service-injected fields
* 📘 Adjust interface
* ♻️ Add permissions only in `GET /credentials`
* 🧪 Add expectations for `ownedBy`
* 🧪 Add sharing details test
* 🧪 Make `ownedBy` checks more granular
* 📘 Adjust interface
* 🚚 Rename cred getter
* ♻️ Refactor cred getter
* 🧪 Expand tests
* ♻️ Refactor to use guard
* 👕 Remove unneeded lint exception
* 🔥 Remove unneeded relation
* 🚚 Move relation to `GET /credentials/:id`
* 📘 Consolidate typings
* 🎨 Add multiline for readability
* 🔥 Remove unneeded type
* ✏️ Clarity comment
* ✏️ Make comments consistent
* 👕 Add exception to fix build
* 👕 Add more lint exceptions to fix build
* 🐛 Check for non-owner
* 📘 Improve typings
* 🧪 Temporarily skip tests
* 🔥 Remove `@ts-ignore`
* 👕 Move lint exceptions
* ♻️ Refactor cred service and controller
* ⚡ Simplify check
* ✏️ adjust naming to experimental
* ⚡️ add credentialsSharing flag to settings
* 🛠 add helper to check if UM is also enabled as dependency for CredentialsSharing
* 👕 fix lint error
* 🐘 change name of credential role
* 🚧 WIP batch sharing
* 🚧 WIP use put for sharing
* ✅ add tests for batch sharing, 🛠 implement review suggestions
* ✅ expand credential sharing tests for User Management (#3931)
* 🧪 Expand cred sharing tests
* ⚡ Add recently added flags
* ✅ fix and adjust tests for /credentials
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
* ✨ User management v2 Front End (#3795)
* feat: Added responsive generic page view layout.
* feat: Added empty state.
* feat: Added credentials view empty state.
* test: Added unit tests for N8nActionBox
* feat: Added credentials list initial design.
* feat: Added credential actions. Started working on filters.
* feat: Updated InfoTip markup, added tests and changed stories to typescript.
* feat: Added credentials filtering by type. Added support for apply/reset filters.
* feat: Added credential sharing user select and user list. Added paywall component.
* feat: Updated credentials view permissions.
* feat: Added support for temporary sharing config for unsaved credentials.
* test: Fixed broken snapshots.
* feat: Added overflow styles to page-view-layout list.
* feat: Handled sharee specific views.
* feat: Integration between FE and BE to support real-world credential sharing scenario.
* feat: Added front end permissions table.
* feat: Refactored credential sharing flow. Updated design elements.
* feat: Added margin and padding auto spacer utilities.
* feat: Rehauled permissions to support instanceOwner role and action inheritance.
* feat: Updated credentials view to apply filters automatically.
* feat: Removed apply filters button and added active button state.
* test: Updated component snapshots.
* refactor: Renamed ResourceSharee to ResourceReader.
* feat: Credential sharing error handling, permissions improvement.
* feat: Updated permissions and error handling.
* chore: Removed console.log.
* 🛠 refactor enabling of credentialsSharing
* feat: Removed owner menu selector from credentials when sharing is disabled.
* refactor: Moved EE features into ee store module file.
* 🛠 add sharing info to GET credentials/:id
* fix: Fixed initial credential data loading for sharing.
* chore: Removed console.log.
* 🐛 owner can fetch any credential
* 🛠 refactor users test
* 👕 fix build type issue
* fix: Removed owner tag when credential sharing is disabled. Fixed small reactivity issue.
* chore: Removed console.log.
* 🚧 separate fetching credentials between EE and open
* fix: Fixed empty dropdown in users list.
* fix: Fixed error message and initialization when credential gets unshared.
* ✅ add tests for fetching single credential
* Revert decorators based controllers
* ⚡️ adjust credentials test route to also allow testing for sharees (#3999)
* ⚡️ pull data if user is sharee
* fix: Removed sharedWith and ownedBy from credentialData on testing credentials.
Co-authored-by: Alex Grozav <alex@grozav.com>
* 📈 add BE analytics
* 💪 improve credential test
* ⚡️ adjust tracking properties
* ⚡️ removed roles from tracking
* 🐛 fix build by removing imports
* 🐛 fix missed merge conflict
* feat: User management P2 Front End bug bash and improvements (#4014)
* fix: Fixed type select size after reopening dropdown.
* fix: Fixed template cards.
* fix: Fixed card content size and copy input.
* fix: Fixed horizontal overflow.
* fix: Hiding el-tags scrollbar in select.
* fix: Added fallback credential icon. Added oAuth credential owner check.
* feat: Added disabled state to user select.
* feat: Added fallback scenario for non-existent credential types.
* feat: Adjusted credentials empty state to show that there are shared credentials.
* fix: Fixed time title.
* feat: Added actionable empty state when shared credentials are present.
* fix: Made action box x padding smaller
* feat: Repositioned owner tag for credential card.
* feat: Updated message box styling to use n8n css variables.
* feat: Added confirmation for deleting sharee.
* fix: Fixed deleted credential types. Fixed select in dropdown bug.
* fix: Various code improvements. Addressed PR review comments.
* fix: Fixed credential deletion errors.
* fix: Various code quality improvements.
* feat: N8N-4531 update cloud coming soon features (#4025)
* feat: Showing different upcoming feature messages and format for cloud.
* fix: Changed url format.
* fix: Updated how cloud deployment is determined.
* feat: N8N-4527 implementing credential sharing FE telemetry (#4023)
* feat: Added credential sharing telemetry.
* chore: Renamed computed function for consistency.
* refactor: Simplified subview telemetry sending.
* fix: Changed to callDebounced() helper.
* 📧 update email text
* fix: Adjusted feature coming soon margin.
* chore: Fixed type and line height for delete sharee confirmation modal.
* refactor(editor-ui): Update telemetry (#4040)
* 🔥 Remove `identify` from BE
* ⚡ Add `versionCli`
* ⚡ Add node creator ignore input
* ⚡ Move obfuscators to editor-ui
* ⚡ Refactor `ph-no-capture`
* ⚡ Pass `user_id` to manual exec props
* 🚚 Relocate class in `SettingsApiView`
* ⚡ Add `userId` to BE PH `identify` call
* ⏪ Revert "⚡ Add `userId` to BE PH `identify` call"
This reverts commit 895aaa45e5.
* Revert "⏪ Revert "⚡ Add `userId` to BE PH `identify` call""
This reverts commit b86a098c20.
* 🐛 Fix `Promise` handling in `track()` call
* ⏪ Restore `Db.collections` call
* ⚡ Set up PH payload to mirror RS
* 🔥 Remove excess `userId`
* 📘 Remove `userId` from interface
* 🔥 Remove unused ref and method
* fix: Fixed bug causing instanceOwner to become credential owner on update. (#4079)
* 🐛 fix test for credential shared with member
* 👕 fix lint issues
* delete conflicting migration. this data is already seeded in CreateUserManagement
* feat: Expand obfuscation to User Management credential sharing (#4070)
⚡ Expand obfuscation
* feat: Added credential sharing infotip for instance owner.
* bring back the migration. add a check to avoid conflicts on inserts
* fix(cli): use a non-env config flag to detect of enterprise features are enabled (#4105)
* chore: Changed ampersand to and in translation.
* refactor(telemetry): Obfuscate code and JSON editors (#4118)
⚡ Obfuscate code and JSON editors
* feat(editor): improve design and functionality of coming soon features (#4116)
* feat: Improved coming soon feature design and functionality.
* style: Removed empty line.
* chore: Removed unused translation.
* fix: fix telemetry for credential creates and updates (#4125)
fix telemetry for credential creates and updates
* feat: Display errors due to missing credentials in the correct node (#4124)
feat: Display errors due to invalid credentials in the correct node when missing permissions
* fix: remove duplicate header for coming soon features in cloud deployment
* telemetry: fix the payload for `User viewed credential tab`
* telemetry: add credential_id to 'User selected credential from node modal'
* feat: update empty states for coming soon features
* Update ActionBox.spec.ts.snap
* replace UserSharingsDetails with a subset of User properties
* rename the CreateCredentialsEditorRole to CreateCredentialsUserRole
* move IUser to the workflow package
* use IUser in the frontend as well
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Valya <68596159+valya@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
right now endpoints defined in `N8N_AUTH_EXCLUDE_ENDPOINTS` are skipping the JWT auth, and the history middleware is returning 404 on these urls. This change ensures that these endpoints skip all auth-related middlewares.
* Improve code health
Fix TS typos in local variables
Fix CSS typos in local styles
Fix typos in comments
Fix typos in strings
* Fix order of n8n setup sections in CONTRIBUTING.md