Commit graph

7501 commits

Author SHA1 Message Date
Csaba Tuncsik 4528f34462
feat(editor): Schema view (#4615)
* 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>
2022-12-06 12:50:06 +01:00
कारतोफ्फेलस्क्रिप्ट™ 9485e2f12a
fix: Enable source-maps on WorkflowRunnerProcess in own mode (#4832) 2022-12-06 12:16:49 +01:00
कारतोफ्फेलस्क्रिप्ट™ 8c9681e8ce
ci: Fix linting on master (no-changelog) (#4830) 2022-12-06 11:57:28 +01:00
Alex Grozav eb112ffd23
feat: Add message for readonly nodes. Improve foreign credentials handling (#4759)
* feat: Add message for readonly nodes. Improve foreign credentials handling

* Copy fix

Co-authored-by: João Ramos <hello@joao.pt>
2022-12-06 12:15:07 +02:00
Yann Jouanique 37e580eb06
feat(KoBoToolbox Node): Add support for Media file API (#4578) 2022-12-06 10:00:53 +00:00
Marcel c3114241fd
fix(Local File Trigger Node): Fix issue that causes a crash if the ignore field is empty (#4824) (#4825) 2022-12-06 09:57:07 +00:00
Jonathan Bennetts 75ad3d168c
refactor: Codex updates for XML and HtmlExtract Nodes (#4801) 2022-12-06 09:49:36 +00:00
Omar Ajoue 4813da547d
refactor: Reactivate workflow locking (#4770)
* feat: Reenable workflow locking

Co-authored-by: freyamade <freya@n8n.io>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2022-12-06 09:25:39 +01:00
Iván Ovejero 915f1445c2
fix(Code Node): Restore pairedItem to required n8n item keys (#4821)
🐛 Restore `pairedItem`
2022-12-05 17:53:16 +01:00
Michael Kret 7aefed46dc
fix(core): OAuth2 scopes does not save 2022-12-05 18:28:34 +02:00
Michael Kret 67aad63343
fix(Gmail Trigger Node): Trigger node missing some emails 2022-12-05 16:12:26 +02:00
Milorad FIlipović e07e32f14d
test(editor): Add more workflow actions tests (#4799)
*  Making workflow actions tests skip setup, changing suite number
* 🔥 Removing unnecessary imports and vars
*  Adding workflow tags and copy/paste tests
*  Added tests for copying and pasting nodes
* Update cypress/support/commands.ts
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👌 Moving paste data to fixtures
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-12-05 14:31:14 +01:00
Alex Grozav 1b7952a516
feat: Fix checkbox line height and make checkbox label clickable (#4818)
* fix: Update checkbox design and make checkbox label clickable

* fix: Remove checkbox ids

* chore: remove unused imports
2022-12-05 14:48:56 +02:00
Alex Grozav af6ac42aa3
feat: Add prompt to overwrite changes when concurrent editing occurs (#4817)
* feat: Add prompt to overwrite changes when concurrent editing occurs

* chore: undo config schema update
2022-12-05 14:34:14 +02:00
कारतोफ्फेलस्क्रिप्ट™ 46c75b9fd2
fix: Stop using prefixed core modules from nodejs (no-changelog) (#4813)
fix: stop using prefixed core modules from nodejs (no-changelog)

Starting node 18, there are some core modules that only work with the `node:` prefix, like `node:test`. It's very likely that nodejs will switch to prefix-only core modules in the next versions as un-prefixed core modules are susceptible to supply-chain attacks.
2022-12-05 11:41:30 +01:00
Alex Grozav 184b3a3ea7
fix: Refresh credentials when re-entering workflows page (no-changelog) (#4815)
fix: refresh credentials when re-entering workflows page (no-changelog)
2022-12-05 12:31:18 +02:00
Mutasem Aldmour ac944bf666
ci: Update slack notification messages for e2e tests (no-changelog) (#4812)
* ci: update e2e slack message

* add link

* update link
2022-12-05 11:10:14 +01:00
Iván Ovejero 46d4c4d329
refactor(Code Node): Limit n8n item key check (#4737)
 Limit n8n item key check
2022-12-05 10:59:26 +01:00
Deborah 697efb2d31
docs: Update README (no-changelog) (#4636)
* (no-changelog)docs: update README

Update a link in the README

Should we consider directing the Docker and installation links to the docs? Or are we confident the READMEs they currently link to will stay up to date?

* add docs links
2022-12-05 09:55:46 +00:00
Iván Ovejero 5d75e6ceb3
fix(core): Fix partial execution with pinned data on child node run (#4764)
🐛 Fix partial execution with pinned data on child node run
2022-12-05 10:09:31 +01:00
OlegIvaniv 9e7a156532
fix(Execute Workflow Node): Update Execute Workflow node info notice text (#4809)
fix(ExecuteWorkflow node): Update Execute Workflow info notice text
2022-12-05 10:08:06 +01:00
Michael Kret 3bb3809eec
fix(core): Fix linter error (#4808) 2022-12-05 09:31:51 +02:00
Michael Kret 61e26804ba
refactor(core): Remove linting exceptions in nodes-base (#4794)
*  enabled array-type

*  await-thenable on

*  ban-types on

*  default-param-last on

*  dot-notation on

*  member-delimiter-style on

*  no-duplicate-imports on

*  no-empty-interface on

*  no-floating-promises on

*  no-for-in-array on

*  no-invalid-void-type on

*  no-loop-func on

*  no-shadow on

*  ban-ts-comment re enabled

*  @typescript-eslint/lines-between-class-members on

* address my own comment

* @typescript-eslint/return-await on

* @typescript-eslint/promise-function-async on

* @typescript-eslint/no-unnecessary-boolean-literal-compare on

* @typescript-eslint/no-unnecessary-type-assertion on

* prefer-const on

* @typescript-eslint/prefer-optional-chain on

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2022-12-02 21:54:28 +01:00
Mutasem Aldmour 8101c05d6f
ci: Add run name and start url for e2e tests and docker nighly command (no-changelog) (#4800)
* ci: add run name and start url

* update ref

* use branch as input

* add message for slack notifications

* add branch quotes

* remove @ from user

* make user not required
2022-12-02 19:56:29 +01:00
Iván Ovejero cfd32d2642
refactor: Phase out TSLint in nodes-base (no-changelog) (#4798)
* 🔥 Remove TSLint scripts

* 🔥 Remove TSLint config

* 🔥 Remove TSLint exceptions

* 👕 Adjust lint config

* ✏️ Add story numbers
2022-12-02 15:25:21 +01:00
Iván Ovejero 632f573021
refactor(core): Introduce overload for string-type node parameter (no-changelog) (#4797)
* 📘 Set up overload

* 🔥 Remove inferrable assertions
2022-12-02 12:53:59 +01:00
Jan Oberhauser 8ef675332d 📚 Update CHANGELOG.md and main package.json to 0.205.0 2022-12-02 10:23:01 +01:00
Jan Oberhauser bdeaab4f92 🔖 Release n8n@0.205.0 2022-12-02 09:16:59 +00:00
Jan Oberhauser d8b18750c1 ⬆️ Set n8n-core@0.145.0, n8n-editor-ui@0.171.0, n8n-nodes-base@0.203.0 and n8n-workflow@0.127.0 on n8n 2022-12-02 09:16:59 +00:00
Jan Oberhauser 7b7cb7e4af 🔖 Release n8n-editor-ui@0.171.0 2022-12-02 09:14:57 +00:00
Jan Oberhauser 4a8d83bdb3 ⬆️ Set n8n-design-system@0.45.0 and n8n-workflow@0.127.0 on n8n-editor-ui 2022-12-02 09:14:57 +00:00
Jan Oberhauser 01a6634eaa 🔖 Release n8n-design-system@0.45.0 2022-12-02 09:14:36 +00:00
Jan Oberhauser 0cd1fe06c0 🔖 Release n8n-nodes-base@0.203.0 2022-12-02 09:13:31 +00:00
Jan Oberhauser fcabb4231a ⬆️ Set n8n-core@0.145.0 and n8n-workflow@0.127.0 on n8n-nodes-base 2022-12-02 09:13:31 +00:00
Jan Oberhauser f2f782bd99 🔖 Release n8n-node-dev@0.84.0 2022-12-02 09:13:21 +00:00
Jan Oberhauser b9db04027f ⬆️ Set n8n-core@0.145.0 and n8n-workflow@0.127.0 on n8n-node-dev 2022-12-02 09:13:20 +00:00
Jan Oberhauser c6663bb899 🔖 Release n8n-core@0.145.0 2022-12-02 09:13:10 +00:00
Jan Oberhauser fab3860587 ⬆️ Set n8n-workflow@0.127.0 on n8n-core 2022-12-02 09:13:10 +00:00
Jan Oberhauser afc57c5397 🔖 Release n8n-workflow@0.127.0 2022-12-02 09:13:01 +00:00
कारतोफ्फेलस्क्रिप्ट™ 2ce62917da
fix: Credential overwrites should take precedence over credential default values (#4782)
fix: Credential overwrites should take precedence over default values
2022-12-02 09:46:19 +01:00
Bram Kn 0c759dc548
feat(Postmark Trigger Node): Update credentials so they can be used with the HTTP Request Node (#4790) 2022-12-01 17:42:33 +00:00
OlegIvaniv 23aa0353b6
fix(editor): Remove unnecessary closing tag in CanvasControls (no-changelog) (#4792)
fix(editor): Remove unnecessary closing tag in CanvasControls component (no-changelog)
2022-12-01 18:12:25 +01:00
Jonathan Bennetts 2a85af1bdb
feat(Facebook Graph API Node): Update to support api version 15 (#4791) 2022-12-01 17:07:54 +00:00
Michael Kret c853b8078e
fix(Pipedrive Node): Resolve properties not working 2022-12-01 18:01:32 +02:00
Iván Ovejero e1b3b4d05a
fix(editor): Remove excess isReadOnly prop (no-changelog) (#4786)
🔥 Remove excess `isReadOnly` prop
2022-12-01 15:20:36 +01:00
Michael Kret 7cb5dc2aa5
fix(core): OAuth2 scope saved to DB fix 2022-12-01 15:08:02 +02:00
Iván Ovejero 59771c80ea
feat(editor): Overhaul expression editor modal (#4631)
* feat(editor): Integrate CodeMirror into expression editor modal (#4563)

*  Initial setup

* 👕 Fix lint

*  Extract segments

*  Implement var insertion

* 👕 Ignore `.d.cts`

*  Refactor to simplify

*  Add brace handler

*  Fully replace input and output

* feat(editor): Adjust resolved expression to match parameter input hint (#4600)

*  Initial adjustments

* 🐛 Prevent empty decorations

*  Adjust resolved expression to match param input hint

* ✏️ Improve comment

* 👕 Remove lint rule

* ✏️ Fix typo

* ✏️ Fix closing brace

*  Clean up `displayableSegments()`

* feat(editor): Apply styling to expression editor modal (#4607)

🎨 Apply styling

* feat(core): Improve errors in evaluated expression (#4619)

* 🐛 Fix env var access for FE

* 🔥 Remove excess closing bracket

* 🚧 Set up TODO

* ✏️ Update copy

*  Deny env vars access to FE

* 👕 Remove unneeded lint exception

* 📘 Remove unneeded typing

* feat(editor): Dynamically delay evaluation resolution (#4625)

* ✏️ Update copy

*  Dynamically delay evaluation resolution

* 🔥 Remove unneeded computed property

* refactor(editor): Pre-review cleanup (#4627)

* 🔥 Remove `ExpressionInput` component

* 🔥 Remove Quill

* ✏️ Rename i18n key

* 🎨 Place border on correct element

* 🐛 Handle syntax errors

*  Add sample autocompletions

* 🐛 Fix auto-extending behavior

* feat(editor): Improve escaping behavior (#4641)

* 🎨 Hide hint on small screen

*  Improve escaping

* refactor(editor): Apply styling feedback to expression editor modal (#4660)

* 🎨 Restyle hint

* 🎨 Restyle param input hint

* 🔥 Remove `e.g.`

*  Tweak delay

* 🎨 Restyle output

* 🎨 Tweak theme

* ✏️ Tweak copy

* refactor(editor): Apply feedback 2022.11.22 (#4697)

* 🎨 Change background color

*  Focus on mount

*  Account for preexisting braces on injection

* 🐛 Fix `$workflow` showing as not saved

* ✏️ Tweak copy

* 🐛 Fix readonly focus

*  Focus input on paste

*  Sync inputs with modal

* ✏️ Tweak copy

* refactor(editor): Apply feedback 2022.11.23 (#4705)

*  Allow newlines

*  Set cursor at end of content

*  Do not defocus on paste on Chrome

*  Fix import

* 🧪 Add e2e tests

*  Cleanup

*  Add telemetry

* 🔥 Remove log

*  Expose error properties

* 🧪 Rename test

*  Move `getCurrentWorkflow()` call

*  Revert highlighting removal per feedback

*  Add i18n keys

* 🚚 Move computed property to local state

* 🎨 Use CSS vars

*  Update `pnpm-lock.yaml`

*  Apply readonly state

*  Use prop

*  Complete fix
2022-12-01 13:26:22 +01:00
OlegIvaniv 830bda5f55
test(editor): Intercept credentials save and test request and wait for them in e2e test (#4778)
test(editor): Intercept credentials save and test request and wait for them to complete before doing assertions
2022-12-01 10:01:03 +01:00
Michael Kret 741c7da8b1
fix(Google Sheets Node): Fix for append operation if no empty rows in sheet 2022-12-01 10:39:03 +02:00
Csaba Tuncsik 6d4e959884
fix(editor): JSON view values can be mapped like keys (#4702)
* fix(editor): JSON view values can be mapped like keys, resolving to the same expression

* fix(editor): JSON view list item draggable pill name
2022-12-01 09:33:34 +01:00