Commit graph

1458 commits

Author SHA1 Message Date
OlegIvaniv 018f8a3510
fix(editor): Prevent creation of input connections for nodes without input slot (#5425)
* 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>
2023-02-09 16:04:26 +01:00
Milorad FIlipović d9a4c2c66d
test(editor): Add user management e2e tests (#5438)
*  Added initial UM test using new commands
*  Added rest of the UM tests
2023-02-09 16:00:55 +01:00
Mutasem Aldmour b8980f6118
test: Add more data mapping tests (#5389)
* test: Add more data mapping tests

* test: add tests for preview mapping

* test: update wording

* test: add more tests

* test: fix up prev node test

* test: stop popup

* test: add mapping test for paths

* test: revert back param changes

* test: fix mapping tests

* test: reset db

* test: fix up mapping tests

* test: fix up mapping tests

* test: update tests to be more stable

* chore: clean up unused command

* fix: fix up before unload bug

* fix: fix data transformation tests

* test: fix up flaky webhook tests

* test: fix up flaky webhook tests

* test: fix up flaky dt tests
2023-02-09 17:59:01 +03:00
कारतोफ्फेलस्क्रिप्ट™ 00befbc75a
ci(editor): Faster builds on the CI (no-changelog) (#5422) 2023-02-09 15:47:34 +01:00
Iván Ovejero e0c4c25227
test: Add e2e workflow tags (no-changelog) (#5411)
* 🧪 Add workflow tags tests

*  Create `openTagManagerModal`

*  Add wait to prevent detached DOM element

*  Add wait to mirror other tests
2023-02-09 10:04:12 +01:00
Iván Ovejero a07de049a2
feat(editor): Bring completions to HTML editor (#5382)
 Bring completions to HTML editor
2023-02-09 09:41:07 +01:00
Alex Grozav e059caf993
feat: Add e2e user invite test suite (no-changelog) (#5412) 2023-02-08 22:41:35 +02:00
Valya 9c1f827dad
feat(core): Live reload node/credential descriptions in development (no-changelog) (#4939) 2023-02-08 19:26:07 +01:00
OlegIvaniv 14d1743595
test(editor): Add canvas dragging tests (no-changelog) (#5406)
* WIP

* Fix undo/redo tests and add canvas tests

* Cleanup

* Cleanup

* Use drag and draganddrop commands

* Fix hanging CI run

* Undo redo spec
2023-02-08 14:48:28 +01:00
Iván Ovejero d7b3923c2f
feat(editor): Add Object global completions (#5407)
* ✏️ Add i18n info

*  Mount i18n keys

* ✏️ Fix typos in tests

*  Add `Object` global completion

*  Add `Object` global options completions

* 🧪 Add tests
2023-02-08 12:41:33 +01:00
Cornelius Suermann d469a98073
feat: Add tracking code to hiring link (no-changelog) (#3530) 2023-02-08 11:48:38 +01:00
Omar Ajoue 5e3e70b83b
feat: Change desktop UM experience (#5312)
* 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>
2023-02-08 11:42:22 +02:00
Milorad FIlipović d05203db30
test(editor): Enable adding nodes in between any two nodes on canvas in e2e tests (no-changelog) (#5393)
*  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
2023-02-07 16:34:08 +01:00
Mutasem Aldmour db49f052bc
test: Add data mapping test (#5372)
* 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
2023-02-07 07:47:37 +03:00
Jan Oberhauser 85391629dc 🔖 Release n8n-editor-ui@0.180.2 2023-02-06 17:57:07 +00:00
OlegIvaniv 6482688ee0
fix(editor): Correctly show OAuth reconnect button (#5384) 2023-02-06 18:33:59 +01:00
Iván Ovejero 31130d5257
fix(editor): Fix resolvable highlighting for HTML editor (#5379)
🐛 Fix resolvable highlighting for HTML editor
2023-02-06 16:29:10 +01:00
Jan Oberhauser c006b7617e 🔖 Release n8n-editor-ui@0.180.1 2023-02-06 13:14:13 +00:00
Iván Ovejero e4458b48e0
fix(editor): Fix mapping to empty expression input (#5367)
🐛 Fix mapping to empty expression input
2023-02-06 10:26:12 +01:00
OlegIvaniv 9b628ddc34
fix(editor): Fix multiple-output endpoints success style after connection is detached (#5366) 2023-02-06 10:22:57 +01:00
OlegIvaniv 20356ba8c8
fix(editor): Fix merge node connectors (#5364)
* fix(editor): Fix merge node connectors

* Set `stateIsDirty` from `EVENT_CONNECTION` hook
2023-02-06 09:49:18 +01:00
Jan Oberhauser 3d100df9e7 🔖 Release n8n-editor-ui@0.180.0 2023-02-03 14:36:26 +00:00
Jan Oberhauser c01182f13f ⬆️ Set n8n-workflow@0.135.0 on n8n-editor-ui 2023-02-03 14:36:25 +00:00
Csaba Tuncsik 338b354ef1
fix(editor): Change executions title to match menu (#5349)
* fix(editor): Prevent content moving between pages

* fix(editor): Change execution page title
2023-02-03 14:00:22 +01:00
Csaba Tuncsik 50cb75706b
fix(editor): Workflow executions view is broken (#5341)
fix(editor): WF level execution layout
2023-02-03 13:57:50 +01:00
OlegIvaniv 6985500a7d
fix(core): Fix populating of node custom api call options (#5347)
* 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
2023-02-03 13:14:59 +01:00
OlegIvaniv 616074158c
fix(core): Revert custom API option injecting (#5345)
Revert "feat(core): Fix populating of node custom api call options (#5303)"

This reverts commit e58bc41d24.
2023-02-02 20:03:45 +01:00
OlegIvaniv e58bc41d24
feat(core): Fix populating of node custom api call options (#5303)
* 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
2023-02-02 14:53:08 +01:00
Iván Ovejero 8b09e98654
feat(editor): Adjust HTML editor component for use in params (#5285)
*  Adjust HTML editor component

* ♻️ Apply feedback

* ♻️ Apply feedback

* 🔥 Remove unused ndv store refs
2023-02-02 14:00:16 +01:00
Iván Ovejero 6d811f0d9f
feat(editor): Completions for extensions in expression editor (#5130)
* 🔥 Remove test extensions

* 🚧 Add test description

* 📘 Expand types

*  Export extensions

*  Export collection

*  Mark all proxies

* ✏️ Rename for clarity

*  Export from barrel

*  Create datatype completions

*  Mount datatype completions

* 🧪 Adjust tests

*  Add `path` prop

* 🔥 Remove `()` from completion labels

*  Filter out completions for pseudo-proxies

* 🐛 Fix method error

*  Add metrics

* ✏️ Improve naming

*  Start completion on empty resolvable

*  Implement completion previews

*  Break out completion manager

*  Implement in expression editor modal

* ✏️ Improve naming

*  Filter out irrelevant completions

*  Add preview hint

* ✏️ Improve comments

* 🎨 Style preview hint

*  Expand `hasNoParams`

*  Add spacing for readability

*  Add error codes

* ✏️ Add comment

* 🐛 Fix Esc behavior

*  Parse Unicode

*  Throw on invalid `DateTime`

*  Fix second root completion detection

*  Switch message at completable prefix position

* 🐛 Fix function names for non-dev build

* 🐛 Fix `json` handling

* 🔥 Comment out previews

* ♻️ Apply feedback

* 🔥 Remove extensions

* 🚚 Rename extensions

*  Adjust some implementations

* 🔥 Remove dummy extensions

* 🐛 Fix object regex

* ♻️ Apply feedback

* ✏️ Fix typos

* ✏️ Add `fn is not a function` message

* 🔥 Remove check

*  Add `isNotEmpty` for objects

* 🚚 Rename `global` to `alpha`

* 🔥 Remove `encrypt`

*  Restore `is not a function` error

*  Support `week` on `extract()`

* 🧪 Fix tests

*  Add validation to some string extensions

*  Validate number arrays in some extensions

* 🧪 Fix tests

* ✏️ Improve error message

*  Revert extensions framework changes

* 🧹 Previews cleanup

*  Condense blank completions

*  Refactor dollar completions

*  Refactor non-dollar completions

*  Refactor Luxon completions

*  Refactor datatype completions

*  Use `DATETIMEUNIT_MAP`

* ✏️ Update test description

*  Revert "Use `DATETIMEUNIT_MAP`"

This reverts commit 472a77df5c.

* 🧪 Add tests

* ♻️ Restore generic extensions

* 🔥 Remove logs

* 🧪 Expand tests

*  Add `Math` completions

* ✏️ List breaking change

*  Add doc tooltips

* 🐛 Fix node selector regex

* 🐛 Fix `context` resolution

* 🐛 Allow dollar completions in args

*  Make numeric array methods context-dependent

* 📝 Adjust docs

* 🐛 Fix selector ref

*  Surface error for valid URL

* 🐛 Disallow whitespace in `isEmail` check

* 🧪 Fix test for `isUrl`

*  Add comma validator in `toFloat`

*  Add validation to `$jmespath()`

*  Revert valid URL error

*  Adjust `$jmespath()` validation

* 🧪 Adjust `isUrl` test

*  Remove `{}` and `[]` from compact

* ✏️ Update docs

* 🚚 Rename `stripTags` to `removeTags`

*  Do not inject whitespace inside resolvable

*  Make completions aware of `()`

* ✏️ Add note

*  Update sorting

*  Hide active node name from node selector

* 🔥 Remove `length()` and its aliases

*  Validate non-zero for `chunk`

* ✏️ Reword all error messages

* 🐛 Fix `$now` and `$today`

*  Simplify with `stripExcessParens`

*  Fold luxon into datatype

* 🧪 Clean up tests

* 🔥 Remove tests for removed methods

* 👕 Fix type

* ⬆️ Upgrade lang pack

*  Undo change to `vitest` command

* 🔥 Remove unused method

*  Separate `return` line

* ✏️ Improve description

* 🧪 Expand tests for initial-only completions

* 🧪 Add bracket-aware completions

*  Make check for `all()` stricter

* ✏️ Adjust explanatory comments

* 🔥 Remove unneded copy

* 🔥 Remove outdated comment

*  Make naming consistent

* ✏️ Update comments

*  Improve URL scheme check

* ✏️ Add comment

* 🚚 Move extension

* ✏️ Update `BREAKING-CHANGES.md`

* ✏️ Update upcoming version

* ✏️ Fix grammar

* ✏️ Shorten message

* 🐛 Fix `Esc` behavior

* 🐛 Fix `isNumeric`

*  Support native methods

* 🧪 Skip Pinia tests

* ✏️ Shorten description

* 🔥 Remove outdated comment

* 🧪 Unskip Pinia tests

* ✏️ Add comments

* 🧪 Expand tests to natives

* ✏️ Add clarifying comments

*  Use `setTimeout` to make telemetry non-blocking

* 🐛 Account for no active node in cred modal

*  Resolve without workflow

* 🔥 Remove `Esc` handling on NDV

*  Use `isDateTime`

* 🚚 Move `unique` to next phase

This array extension takes optional args.

*  Merge export

* 🧪 Fix tests

*  Restore check

* ✏️ Make breaking change description more accurate

* 🧪 Fix e2e tests
2023-02-02 12:35:38 +01:00
Csaba Tuncsik 52dea08003
fix(editor): Set max width for executions list (#5302) 2023-02-02 12:08:17 +01:00
OlegIvaniv 96ec5bc880
refactor(editor): Fix duplicate NodeView keys when navigating between routes (no-changelog) (#5325)
* 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
2023-02-02 09:05:14 +01:00
Csaba Tuncsik 6a93aed3a2
fix(editor): Stop unsaved changes popup display when navigating away from an untouched workflow (#5259)
* fix(editor): Stop unsaved changes popup showing up after loading a workflow

* fix(editor): Fix unsaved change confirmation display
2023-02-01 16:50:35 +01:00
Mutasem Aldmour 2b1f15150f
feat(editor): Roll out schema view (#5310)
feat(editor): roll out schema view
2023-01-31 17:20:33 +03:00
Iván Ovejero 07b941a043
fix(editor): Fix json field completions while typing (#5309)
🐛 Fix `json` field completions while typing
2023-01-31 15:19:43 +01:00
Mutasem Aldmour 88c7ef29c8
feat(editor): Append expressions in fixed values when mapping to string/json inputs (#5300)
feat(editor): Append expressions in fixed values when mapping
2023-01-31 16:26:19 +03:00
Milorad FIlipović 1d85e232e5
refactor(core): Luxon dependency update (#5301)
* ⬆️ Updating Luxon version to 3.1
* ⬆️ Updating `pnpm-lock` file
2023-01-31 10:44:45 +01:00
Mutasem Aldmour c6bc57b4cb
feat(editor): Continue to show mapping tooltip after dismiss (#5289)
* 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
2023-01-31 10:12:38 +03:00
OlegIvaniv 766501723b
refactor(editor): Upgrade to jsPlumb 5 (#4989)
* WIP: Nodeview

* Replace types

* Finish N8nPlus endpoint type

* Working on connector

* Apply prettier

* Fixed prettier issues

* Debugging rendering

* Fixed connectorrs position recalc

* Fix snapping and output labels, WIP dragging

* Fix N8nPlus endpoint rendering issues

* Cleanup

* Fix undo/redo and canvas add button position, cleanup

* Cleanup

* Revert accidental CLI changes

* Fix pnpm-lock

* Address bugs that came up during review

* Reset CLI package from master

* Various fixes

* Fix run items label toggling

* Linter fixes

* Fix stalk size for larger run items label

* Remove comment

* Correctly reset workspace after renaming the node

* Fix canvas e2e tests

* Fix undo/redo tests

* Fix stalk positioning and triggering of endpoint overlays

* Repaint connections on pin removal

* Limit repaintings

* Unbind jsPlumb events on deactivation

* Fix jsPlumb managment of Sticky and minor memort managment improvments

* Address rest of PR points

* Lint fix

* Copy patches folder to docker

* Fix e2e tests

* set allowNonAppliedPatches to allow build

* fix(editor): Handling router errors when navigation is canceled by user (#5271)

* 🔨 Handling router errors in main sidebar, removing unused code
* 🔨 Handling router errors in modals

* ci(core): Fix docker nightly/custom image build (no-changelog) (#5284)

* ci(core): Copy patches dir to Docker (no-changelog)

* Update patch

* Update package-lock

* reapply the patch

* skip patchedDependencies after the frontend is built

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>

* Fix connector hover state on success

* Remove allowNonAppliedPatches from package.json

---------

Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-01-30 18:20:50 +01:00
Alex Grozav c93664a57c
fix(editor): Add SMTP info translation link slot (#5288) 2023-01-30 15:57:36 +02:00
कारतोफ्फेलस्क्रिप्ट™ ae998ea123
ci(editor): Update RunDataSchema test (no-changelog) (#5287)
ci(editor-ui): Update RunDataSchema test (no-changelog)
2023-01-30 13:05:54 +01:00
Mutasem Aldmour 6092f6c41e
feat(editor): Add mapping support for data paths (#5191)
* 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
2023-01-30 14:42:08 +03:00
Milorad FIlipović 911d656f99
fix(editor): Handling router errors when navigation is canceled by user (#5271)
* 🔨 Handling router errors in main sidebar, removing unused code
* 🔨 Handling router errors in modals
2023-01-30 09:32:04 +01:00
Jan Oberhauser 966abdc37f 🔖 Release n8n-editor-ui@0.179.0 2023-01-27 15:29:00 +00:00
Jan Oberhauser 3906346dc9 ⬆️ Set n8n-design-system@0.52.0 and n8n-workflow@0.134.0 on n8n-editor-ui 2023-01-27 15:28:59 +00:00
Milorad FIlipović 7d7418140e
fix(editor): Fix node authentication options ordering and hiding options based on node version (#5268)
* 🐛 Fixing auth options order and hiding options that are not valid for current node version
* 🔨 Minor refactoring
2023-01-27 13:20:08 +01:00
कारतोफ्फेलस्क्रिप्ट™ 92ae9885ce
ci: Use the same version of prettier across the repo (no-changelog) (#5269) 2023-01-27 12:44:31 +01:00
Alex Grozav 1c3dcd9dbe
fix: Fix baseUrl assignment (no-changelog) (#5266)
fix: fix baseUrl assignment (no-changelog)
2023-01-27 12:16:34 +02:00
कारतोफ्फेलस्क्रिप्ट™ 277bed2a5c
ci: Run pnpm format and pnpm lintfix (no-changelog) (#5265) 2023-01-27 11:01:31 +01:00
Milorad FIlipović b321c5e4ec
feat(editor): Simplify NDV by moving authentication details to credentials modal (#5067)
*  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
2023-01-27 09:05:43 +01:00