Commit graph

2672 commits

Author SHA1 Message Date
OlegIvaniv 79fe57dad8
feat(editor): Node creator actions (#4696)
* WIP: Node Actions List UI

* WIP: Recommended Actions and preseting of fields

* WIP: Resource category

* 🎨 Moved actions categorisation to the server

* 🏷️ Add missing INodeAction type

*  Improve SSR categorisation, fix adding of mixed actions

* ♻️ Refactor CategorizedItems to composition api, style fixes

* WIP: Adding multiple nodes

* ♻️ Refactor rest of the NodeCreator component to composition API, conver globalLinkActions to composable

*  Allow actions dragging, fix search and refactor passing of actions to categorized items

* 💄 Fix node actions title

* Migrate to the pinia store, add posthog feature and various fixes

* 🐛 Fix filtering of trigger actions when not merged

* fix: N8N-5439 — Do not use simple node item when at NodeHelperPanel root

* 🐛 Design review fixes

* 🐛 Fix disabling of merged actions

* Fix trigger root filtering

*  Allow for custom node actions parser, introduce hubspot parser

* 🐛 Fix initial node params validation, fix position of second added node

* 🐛 Introduce operations category, removed canvas node names overrride, fix API actions display and prevent dragging of action nodes

*  Prevent NDV auto-open feature flag

* 🐛 Inject recommened action for trigger nodes without actions

* Refactored NodeCreatorNode to Storybook, change filtering of merged nodes for the trigger helper panel, minor fixes

* Improve rendering of app nodes and animation

* Cleanup, any only enable accordion transition on triggerhelperpanel

* Hide node creator scrollbars in Firefox

* Minor styles fixes

* Do not copy the array in rendering method

* Removed unused props

* Fix memory leak

* Fix categorisation of regular nodes with a single resource

* Implement telemetry calls for node actions

* Move categorization to FE

* Fix client side actions categorisation

* Skip custom action show

* Only load tooltip for NodeIcon if necessary

* Fix lodash startCase import

* Remove lodash.startcase

* Cleanup

* Fix node creator autofocus on "tab"

* Prevent posthog getFeatureFlag from crashing

* Debugging preview env search issues

* Remove logs

* Make sure the pre-filled params are update not overwritten

* Get rid of transition in itemiterator

* WIP: Rough version of NodeActions keyboard navigation, replace nodeCreator composable with Pinia store module

* Rewrite to add support for ActionItem to ItemIterator and make CategorizedItems accept items props

* Fix category item counter & cleanup

* Add APIHint to actions search no-result, clean up NodeCreatorNode

* Improve node actions no results message

* Remove logging, fix filtering of recommended placeholder category

* Remove unused NodeActions component and node merging feature falg

* Do not show regular nodes without actions

* Make sure to add manual trigger when adding http node via actions hint

* Fixed api hint footer line height

* Prevent pointer-events od NodeIcon img and remove "this" from template

* Address PR points

* Fix e2e specs

* Make sure canvas ia loaded

* Make sure canvas ia loaded before opening nodeCreator in e2e spec

* Fix flaky workflows tags e2e getter

* Imrpove node creator click outside UX, add manual node to regular nodes added from trigger panel

* Add manual trigger node if dragging regular from trigger panel
2022-12-09 10:56:36 +01:00
Iván Ovejero fbb8611ae2
refactor: Deprecate alwaysOpenEditWindow for string (#4839)
* 🔥 Remove from client

* 📘 Update interface comment

* ✏️ Update docs

*  Update nodes

* ✏️ Fix typo

*  Restore misremoved property

* 🔥 Remove more instances
2022-12-07 15:29:45 +01:00
कारतोफ्फेलस्क्रिप्ट™ 8c9681e8ce
ci: Fix linting on master (no-changelog) (#4830) 2022-12-06 11:57:28 +01: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
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 67aad63343
fix(Gmail Trigger Node): Trigger node missing some emails 2022-12-05 16:12:26 +02: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
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
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
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
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
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
Jonathan Bennetts f3202ee0a8
refactor: Codex updates for Item Lists, Markdown and Date & Time (#4772) 2022-11-30 17:13:37 +00:00
कारतोफ्फेलस्क्रिप्ट™ 528439cb4d
fix(Microsoft Outlook Node): Fix binary attachment upload (#4766)
fix(Microsoft Outlook Node): fix binary attachment upload in file-system mode
2022-11-30 10:57:13 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0a7a2f3e41
fix: Lazy load nodes for credentials testing (#4760) 2022-11-30 10:28:18 +01:00
Marcus b319671fd0
feat(Google Calendar Node): Use resource locator component for calendar parameters (#4410)
* use calendar RLC for event resource
* use calendar RLC for calendar resource
* listSearch getCalendars support query filter
* improve RLC parameter descriptions to match standards
* stricter google calendar id email regex with optional trailing whitespace
* calendarId RLC for Google Calendar Trigger node
* Event -> Get : Timezone RLC option
* Event -> Get Many : Timezone RLC option
* Calendar -> Availability : Timezone RLC option
* Removed unused loadOptions getTimezones; Removed unused imports
* fix prettier linting errors
2022-11-29 17:11:49 +01:00
Jonathan Bennetts 09a48c51b6
feat(Todoist Node): Update to use latest api version (#4650) 2022-11-29 11:37:37 +00:00
Michael Kret 579f9c4d4e
fix(Google Sheets Node): Fix exception if no matching rows are found 2022-11-29 13:29:47 +02:00
Michael Kret d96d1610ba
fix(AWS SNS Node): Pagination Issue 2022-11-28 13:27:20 +02:00
कारतोफ्फेलस्क्रिप्ट™ 07e4743a3e
refactor(core): Reduce memory usage in the Webhook node (#4640)
use file streaming to pass webhook binaries around
2022-11-24 16:54:43 +01:00
agobrech 67983e8f94
fix: Remove redundant await in node's api request functions without try/catch (#4639)
* 🐛 Remove useless await for actionNetwork

* 🔥 Remove useless await

* 🔥 Remove useless await keyword to other generic functions
2022-11-22 17:57:17 +01:00
Iván Ovejero 740513b424
perf(Code Node): Improve n8n item key validation performance (#4669)
 Improve validator performance
2022-11-22 14:49:13 +01:00
Iván Ovejero eafef019d7
fix: Expand nodes-base formatting validation (no-changelog) (#4689)
*  Simplify `format` command

* 🎨 Format more deeply nested files
2022-11-22 13:43:28 +01:00
Iván Ovejero 60d66426ff
refactor: Validate formatting in nodes-base (no-changelog) (#4685)
* 🔥 Remove Prettier exceptions

* 👕 Start linting on formatting

*  Update `format` command

* 🎨 Apply formatting
2022-11-22 12:44:35 +01:00
Marcus 753f4c9a7d
fix(IF Node): Fix "Is Empty" and "Is Not Empty" operation fails for date objects (#4670)
* IF node isEmtpy and IsNotEmpty operation: ignore empty date objects
* IF node isEmtpy and IsNotEmpty operation: treat invalid dates as empty
2022-11-21 18:26:59 +01:00
agobrech 2fb8ed825b
fix(Schedule Trigger Node): Fixes inconsitent behavior with cron and weekly intervals (#4558)
* 🐛 Fixes weekly schedule trigger and inconsitent behavior from Cron

* 🐛  Explicitly check if number of items is undefined

* 🐛 Add flag for first time execution

* Fix merge issues

* 🎨 Decomplexise logic for week interval

* fix: account for periods longer than minimum interval and first executions

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2022-11-21 10:32:23 +01:00
Michael Kret a6df51b6e8
fix(core): Fix for unused imports 2022-11-21 09:27:48 +02:00
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