Commit graph

2639 commits

Author SHA1 Message Date
Iván Ovejero 0d9eeea024
refactor(core): Introduce overload for record-type node parameter (no-changelog) (#4648)
* 📘 Set up overload

* 🔥 Remove inferrable record assertions

* 👕 Fix semicolon

* 👕 Fix another semicolon
2022-11-18 16:29:44 +01:00
Iván Ovejero 0565194473
refactor(core): Introduce overload for number-type node parameter (no-changelog) (#4644)
* 📘 Set up overloads

* 📘 Add temporary assertion

* 🔥 Remove inferrable number assertions

* ✏️ Add ticket ref
2022-11-18 15:26:22 +01:00
Iván Ovejero 6757c9a2ea
refactor(core): Introduce overload for boolean-type node parameter (no-changelog) (#4647)
* 📘 Set up overloads

* 📘 Add temporary assertion

* 🔥 Remove inferrable boolean assertions

*  Undo autoformatting
2022-11-18 14:31:38 +01:00
Michael Kret 4e66672df2
fix(Google Sheets Node): Versioning fix 2022-11-18 14:33:54 +02:00
Michael Kret 423ee81e33
feat(Compare Datasets Node): Node tweaks 2022-11-16 16:37:55 +02:00
Jonathan Bennetts d96d6f11db
feat(Google Sheets Node): Overhaul of node 2022-11-15 15:57:07 +02:00
Iván Ovejero 52f38df867
refactor: Remove unused vars to fix build (no-changelog) (#4584)
* 🔥 Remove unused vars to fix build

* 👕 Make unused vars severity conditional
2022-11-11 16:07:50 +01:00
Marcus 277b6b73c3
feat(Notion (Beta) Node): Use resource locator component for database and page parameters (#4340)
* use resource locator component for database -> get (Notion V1/V2)

* getDatabases search function for V1/V2 with url

* updated database get list placeholder

* get database RLC by url - regex support optional workspace domain names

* fixed linting error

* listSearch getDatabases support filter query

* support extractValue in getCurrentNodeParameter for RLC

* RLC for database page create/getAll operation

* RLC for database get operation support "By ID" with optional v param.

* use RLC in append blocks operation

* use RLC in NotionTrigger.nodes.ts

* removed unused loadOptions getDatabases

* support database RLC in createPage/createDbPage operation

* page create operation use RLC for parent page param

* page archive operation use RLC for page param

* removed unused imports

* fixed missing extractPageId in NotionV1.node.ts

* database page get operation use RLC for page param

* database page update operation use RLC for page param

* block getAll children operation use RLC for page param

* block append operation use RLC for block param

* support databaseId with optional '-' characters

* support blockId with optional '-' characters

* support pageId with optional '-' characters

* improved RLC descriptions and hints

* NotionTrigger node support databseId with optional '-' characters

* stricter RLC by ID regex rules for uuids

* stricter RLC by URL regex rules for uuids

* stricter RLC by ID regex rules for uuids (support max length)

* RLC regex from URL allow both http and https

* RLC by ID only allow uuid v4 with optional dash

* removed RLC from URL hint "Use Notion's copy link..."

* RLC from URL only allow uuid v4

* DB Status Column: Support Simplify Properties

* Notion Credentials: Support custom Notion-Version header

Use latest Notion-Version 2022-02-22 if not set

* DB Status Column: Support DB Page Create/Update

* DB Status Column: Support DB Page GetMany Filters

* removed unused paginationToken args

* Database Get: RLC by URL improve validation error message
2022-11-11 13:37:52 +01:00
agobrech c7133ecd3f
fix(core): Deduplicate error handling in nodes (#4319)
* Fix issue with isAxios property

* 🥅 Deduplicate errors handeling improve errors for credentials

* 🎨 correctly throws error
2022-11-11 11:32:43 +01:00
agobrech 9e457d614c
refactor(Schedule Trigger Node): Deduplicate the cron interface (#4525)
🎨 deduplicate Cron Interface
2022-11-10 17:19:13 +01:00
Iván Ovejero 9582a0f1c0
refactor(editor): Reintroduce item and items to CodeNodeEditor (#4553)
*  Alias legacy refs to new syntax

* 📘 Adjust types

* 👕 Switch `item` lint error to warning

*  Add completions for legacy vars

* ✏️ Add descriptions to completions

*  Add lintings

* 📘 Skip `any` for now

*  Expand regex
2022-11-10 16:29:41 +01:00
Ugo Bataillard 3b3405089d
fix(Notion Trigger (Beta) Node): Fix Notion trigger polling strategy 2022-11-09 12:26:13 +02:00
कारतोफ्फेलस्क्रिप्ट™ 2425c10b2b
feat(API): Report unhandled app crashes to Sentry (#4548)
* 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
2022-11-08 17:06:00 +01:00
feelgood-interface 5d852f9230
fix(SendInBlue Trigger Node): fix typo in credential name (#4357) 2022-11-08 15:42:04 +00:00
Michael Kret 479644a499
refactor(core): Update rule typescript-eslint/no-unused-vars to not error when variable starts with _ (#4523)
*  rule and fixes

*  clean up
2022-11-08 15:28:21 +01:00
Ricardo Espinoza 39d4bb2639
fix(HTTP Request Node): use the data in "Put Output in Field" field (#4487)
🐛 Use the data in "Put Output in Field" field
;
2022-11-04 10:50:38 -04:00
कारतोफ्फेलस्क्रिप्ट™ b282c7e5d9
fix(core): make deepCopy backward compatible (#4505)
* fix(core): make `deepCopy` backward compatible

`JSON.parse(JSON.stringify())`  uses `.toJSON` when available. so should `deepCopy`

* fix(core): prevent double quotes on luxon datetimes (#4508)

* 🐛 Prevent double quotes on luxon datetimes

*  Generalize solution

* update the types in packages/workflow/src/utils.ts

* add `toJSON` check to NodeErrors.isTraversableObject as well

* move the toJSON check before the cyclic dependency check

* fix(core): keep backward compatibility in deepCopy by calling `toJSON` on objects that have it

* fix(core): updating deepCopy typings

* Revert "fix(core): updating deepCopy typings"

This reverts commit 100a0f1f3d.

* fix(core): temporarily removing Date cloning from deepCopy

* fix(core): updating deepCopy types

* fix(core): updating deepCopy

* fix(core): updating deepCopy get prototype of object

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2022-11-02 17:44:12 +01:00
Ricardo Espinoza d1d1288ba9
feat(Venafi TLS Protect Cloud Node): make issuing template depend on application (#4476)
*  Make issuing template depending on application

*  Make validity period type string

*  Reorder certificateRequest:create fields semantically
2022-11-01 09:56:00 -04:00
कारतोफ्फेलस्क्रिप्ट™ e6ec134cf3
fix(AWS SNS Trigger Node): add missing jsonParse import (#4463)
* fix(AwsSnsTrigger): add missing jsonParse import

* add clear typings for req.rawBody and getHeaderData()
2022-10-28 11:24:11 +02:00
Jan Oberhauser 02fe545967 fix(HTTP Request Node): Fix sending previously selected credentials also on V2 (#4457) 2022-10-27 14:40:14 +02:00
Jan Oberhauser 44ad249827
fix(HTTP Request Node): Fix sending previously selected credentials (#4457) 2022-10-27 13:55:04 +02:00
Marcus 227212c928
feat(Airtable Trigger Node): use resource locator component for base and table parameters (#4391)
add base and table RLC to AirtableTrigger.node.ts
2022-10-27 10:51:32 +02:00
कारतोफ्फेलस्क्रिप्ट™ 5c9b40117a
refactor: rename NodeVersionedType to VersionedNodeType and move it to the workflow package (#4443) 2022-10-25 21:33:12 +02:00
Michael Auerswald b296fb06f3
fix(Email Trigger (IMAP) Node): backport V2 mark-seen-after-processing to V1 (#4435)
backport V2 mark-seen-after-processing to V1
2022-10-25 12:53:06 +02:00
Iván Ovejero d2b97c0713
refactor(core): apply lint rule node-class-description-non-core-color-present (#4426)
* 👕 Enable rule `node-class-description-non-core-color-present`

* 👕 Apply rule to remove deprecated `color`

* ✏️ Fix unrelated typos

* ✏️ Fix another unrelated typo

Co-authored-by: Michael Kret <michael.k@radency.com>
2022-10-25 09:06:54 +02:00
Iván Ovejero 5745027cee
fix(core): fix single-node execution failing in main mode (#4421)
* 🐛 Fix Manual Trigger group

* 🐛 Account for single-node execution
2022-10-24 15:03:41 +02:00
Nicholas Penree d7c8fefe19
docs(Execute Workflow Trigger Node): correct documentation link (no-changelog) (#4404) 2022-10-24 10:49:58 +01:00
Nicholas Penree 66037d57bf
docs(Manual Trigger Node): correct documentation link (no-changelog) (#4405) 2022-10-24 10:45:42 +01:00
Jonathan Bennetts 4b13b3398d
feat(Write Binary File Node): add option to append to a file (#4386) 2022-10-24 10:41:43 +01:00
Deborah 1d9d02b887
docs(Compare Datasets Node): fix docs link (no-changelog) (#4422) 2022-10-24 10:39:59 +01:00
Deborah b5403d99f2
docs(Schedule Trigger Node): fix docs link (no-changelog) (#4419) 2022-10-24 10:35:44 +01:00
Michael Auerswald 1a37f0003f
fix(Email Trigger (IMAP) Node): improve connection handling and credentials (#4393)
* adds EmailReadImapV2 with fixes
2022-10-24 11:06:43 +02:00
Michael Kret 1d57b10942
refactor(core): fix for no-uncaught-json-parse warnings 2022-10-21 21:52:43 +03:00
Michael Kret ca9eca9ae9
fix(TheHive Node): fixes for node issues 2022-10-21 19:46:31 +03:00
Michael Kret 2f4649cdf4
fix(InvoiceNinja Node): added support for v5 2022-10-21 19:45:54 +03:00
Bram Kn 8f25da52b1
feat(HTTP Request Node): add option for raw json header & query (#4408)
* http node headers and query JSON parameter options added

* Query and Header added to option processing

* remove old set headers.

*  Small improvements

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2022-10-21 12:29:20 -04:00
Michael Kret 9d6a2c32d7
refactor(core): fixes n8n-local-rules/no-json-parse-json-stringify warnings (#4407)
* 🔨 fixes

* 🔨 set rule to error
2022-10-21 17:24:58 +02:00
Deborah ef1198324d
docs: update credential doc links for google nodes (#4381) 2022-10-20 16:52:03 +01:00
Ricardo Espinoza 61b9909ac3
fix(HTTP Request Node): avoid error when response doesn't include content-type (#4365)
* 🐛 Fix bug when response doesn't include content type

*  Improve autodetect response format

*  Make content-type match more specific

*  Improve list of content-types to download
2022-10-20 11:42:55 -04:00
Nicholas Penree 4ce0fed0ab
fix(Google Drive Node): fix drive hint typo in resource locator (#4387) 2022-10-19 20:15:22 +01:00
Jonathan Bennetts ed4dcbb5dd
fix(n8n Node): fix resource locator not returning all items (#4248) 2022-10-19 16:51:09 +01:00
agobrech 971c2c0aed
fix(Shedule Node): fixes multiple intervals, fixes week interval (#4376)
* 🐛 fix bug where adding multiple intervals would remove the previous one

* 🐛 swap hour logic with week logic, change sunday to 0 value

* 🔥 remove console.logs

* 🔥 remove unused variable

* 🔥 remove unused imports
2022-10-19 17:28:41 +02:00
Michael Kret 263794ce40
fix(CompareDatasets Node): removed quotes from branch names 2022-10-19 13:37:55 +03:00
Iván Ovejero 6a1838d8c1
refactor: lint for inefficient deep clones (#4378)
* 👕 Create rule `no-json-parse-json-stringify`

* 🧪 Add tests

* 👕 Enable new rule

* 👕 FIx unrelated lint issue
2022-10-19 09:36:25 +02:00
Michael Kret a02e92d664
fix(Elasticsearch Node): fix pagination issue 2022-10-18 22:09:36 +03:00
agobrech db46f07e5d
fix(Schedule trigger Node): fix the interval order chronologically (#4373)
*  Create Schedule node with MVP structure

*  Add 24 increments for hours picker

* 🚨  Lintfix

* Add timestamp, add hour minute and cron expression

* Fix bug where there was one extra interval object

* Fix default value from fixedCollection

* 🐛 UI fixes

* 🎨 Changed logic to reflect UI fixes

* Fix auto intitialising

* Deprecated interval and cron in favor of schedule node

* 🐛 Ui fixes

* 🐛 Fix issue with week intervals

* 🚨 Lint fixes

* change order of days in the week to chronological order

* 🎨 change the order of the interval to chronological

* 🔥 delete schedule unused svg
2022-10-18 17:47:26 +02:00
Mutasem Aldmour 161cca9494
fix(editor): replace cron node with schedule node (#4371)
* replace cron with schedule

* update col
2022-10-18 15:45:55 +02:00
OlegIvaniv dae01f3abe
feat(editor, core, cli): implement new workflow experience (#4358)
* 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>
2022-10-18 14:23:22 +02:00
agobrech 128c3b83df
feat(Node): add the Scheduler Node (#4223)
*  Create Schedule node with MVP structure

*  Add 24 increments for hours picker

* 🚨  Lintfix

* Add timestamp, add hour minute and cron expression

* Fix bug where there was one extra interval object

* Fix default value from fixedCollection

* 🐛 UI fixes

* 🎨 Changed logic to reflect UI fixes

* Fix auto intitialising

* Deprecated interval and cron in favor of schedule node

* 🐛 Ui fixes

* 🐛 Fix issue with week intervals

* 🚨 Lint fixes

* change order of days in the week to chronological order
2022-10-18 13:59:17 +02:00
Michael Kret 638d6f60d3
feat(Compare Node): new node to compare two inputs 2022-10-18 14:10:18 +03:00