Commit graph

3076 commits

Author SHA1 Message Date
Iván Ovejero 7d52419d6f
refactor(core): Remove dead utils (no-changelog) (#8947) 2024-03-25 17:59:42 +01:00
Iván Ovejero 69807a5efb
refactor(core): Unify failed and error execution status (no-changelog) (#8943) 2024-03-25 17:52:07 +01:00
Iván Ovejero 079a1147d4
fix(core): Ensure the generic OAuth2 API credential uses the OAuth2 credential test (#8941) 2024-03-21 13:49:34 +01:00
कारतोफ्फेलस्क्रिप्ट™ 669bd830e9
feat(editor): Block the frontend when trying to access n8n from another host over http (#8906) 2024-03-18 18:34:41 +01:00
कारतोफ्फेलस्क्रिप्ट™ c4c319d7cf
feat(core): Add support for SQLite connection pooling (#8722) 2024-03-14 13:45:16 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5201484d7a
fix(core): Update xml2js to address CVE-2023-0842 (no-changelog) (#8881) 2024-03-13 17:50:18 +01:00
कारतोफ्फेलस्क्रिप्ट™ 6e99e26f69
feat(core): Update ws and handlebars to match langchain peer-dependencies (no-changelog) (#8882) 2024-03-13 17:11:20 +01:00
Alex Grozav 948c383999
feat: Add AI Error Debugging using OpenAI (#8805) 2024-03-13 16:48:00 +02:00
कारतोफ्फेलस्क्रिप्ट™ e3dd353ea7 Merge tag 'n8n@1.33.0' 2024-03-13 14:56:43 +01:00
github-actions[bot] 77adcf171f
🚀 Release 1.33.0 (#8879)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2024-03-13 14:36:33 +01:00
कारतोफ्फेलस्क्रिप्ट™ a6f7d23ce1
feat(Microsoft SQL Node): Upgrade mssql package (no-changelog) (#8873)
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-03-13 14:27:12 +01:00
कारतोफ्फेलस्क्रिप्ट™ 71f1b23771
feat(core): Update some packages to address CVE-2022-29622 (no-changelog) (#8877) 2024-03-13 12:47:36 +01:00
कारतोफ्फेलस्क्रिप्ट™ b8424fdd98 Merge tag 'n8n@1.32.0' 2024-03-12 19:05:51 +01:00
कारतोफ्फेलस्क्रिप्ट™ c9b3fa1d0f
fix(core): Remove jwks-rsa/jose to address CVE-2024-28176 (no-changelog) (#8868) 2024-03-12 17:22:31 +01:00
Danny Martini 11173a0114
fix: Ignore semver range when upgrading comunity packages (#8863) 2024-03-11 17:12:20 +00:00
Giulio Andreini 5301323906
feat(editor): Improve errors in output panel (#8644)
Co-authored-by: Michael Kret <michael.k@radency.com>
2024-03-07 18:08:01 +02:00
Omar Ajoue c6f6254c0e
fix: Always register webhooks on startup (#8830) 2024-03-07 09:25:12 +00:00
github-actions[bot] 9abc0f0f0a
🚀 Release 1.32.0 (#8826)
Co-authored-by: krynble <krynble@users.noreply.github.com>
2024-03-06 12:42:39 +00:00
Val 0e037add71
fix: PermissionChecker integration tests (no-changelog) (#8776) 2024-03-05 19:18:34 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0818824a72
feat(core)!: Set the secure flag on issued cookies (#8812) 2024-03-05 18:57:41 +01:00
कारतोफ्फेलस्क्रिप्ट™ 2b0e14e936
fix(core): Refactor push sessionid validation, and add unit tests (no-changelog) (#8815) 2024-03-05 18:57:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ 4af907fba8
feat(core): Upgrade expressjs (no-changelog) (#8811) 2024-03-05 17:12:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ 62282c2bde
fix(core): Disable CollaborationService (no-changelog) (#8813) 2024-03-05 16:34:43 +01:00
कारतोफ्फेलस्क्रिप्ट™ cdec7c9334
feat(core): Update hashing strategy for JWTs (#8810) 2024-03-05 15:06:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ d1b48ddcac
fix(core): Remove sensitive data from User entity during serialization (no-changelog) (#8773) 2024-02-29 14:20:39 +01:00
कारतोफ्फेलस्क्रिप्ट™ db4a419c8d
refactor(core): Enforce authorization by default on all routes (no-changelog) (#8762) 2024-02-28 17:02:18 +01:00
कारतोफ्फेलस्क्रिप्ट™ 2811f77798
refactor(core): Rename RequireGlobalScope to GlobalScope (no-changelog) (#8760) 2024-02-28 14:40:02 +01:00
कारतोफ्फेलस्क्रिप्ट™ 56c8791aff
refactor(core): Remove all legacy auth middleware code (no-changelog) (#8755) 2024-02-28 13:12:28 +01:00
github-actions[bot] 2e84684f04
🚀 Release 1.31.0 (#8759)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2024-02-28 12:18:12 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5f6da7b84e
fix(core): Do not report generic webhook execution errors (no-changelog) (#8749) 2024-02-27 12:36:49 +01:00
Omar Ajoue 737170893d
feat: Allow instance owners and admins to edit all credentials (#8716)
Co-authored-by: Danny Martini <despair.blue@gmail.com>
2024-02-27 08:26:36 +00:00
Alex Grozav 4b01335aa4
feat: Add env variables to support exposing /workflows/demo route and /nodes.json route (#8506)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-23 18:20:12 +02:00
कारतोफ्फेलस्क्रिप्ट™ 35fb7102cb
refactor(core): Update auth related typings (no-changelog) (#8686) 2024-02-23 15:08:18 +01:00
Jan Oberhauser a29b41ec55
fix(core): Fix pairedItem issue with partial manual executions (#8575)
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-23 11:43:08 +01:00
github-actions[bot] 8b67dfbed9
🚀 Release 1.30.0 (#8702)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2024-02-21 15:43:44 +01:00
कारतोफ्फेलस्क्रिप्ट™ 059d281fd1
feat(core): Move execution permission checks earlier in the lifecycle (#8677) 2024-02-21 14:47:02 +01:00
Iván Ovejero 5304b320c8
refactor(core): Enrich inaccessible credential error (#8574)
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-21 13:04:30 +01:00
Tomi Turtiainen 05e13a68ea
fix: Fix typeorm .save usage (no-changelog) (#8678) 2024-02-20 17:34:54 +02:00
कारतोफ्फेलस्क्रिप्ट™ afd2eb1f4a
fix(core): Report all sqlite transaction rollback errors to Sentry (no-changelog) (#8680) 2024-02-20 15:28:12 +01:00
कारतोफ्फेलस्क्रिप्ट™ b6c8a0c413
refactor(core): Reduce code duplication in DB config (no-changelog) (#8679) 2024-02-20 14:28:53 +01:00
github-actions[bot] c4e259bcfc
🚀 Release 1.29.0 (#8643)
Co-authored-by: krynble <krynble@users.noreply.github.com>
2024-02-15 11:08:48 +00:00
Omar Ajoue 540a80e9f9
test: Fix broken workflow tag tests (#8641)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-02-15 10:51:59 +00:00
Danny Martini 24859cfef5
docs: Document own mode removal in BREAKING-CHANGES.md (no-changelog) (#8632) 2024-02-14 16:26:01 +01:00
कारतोफ्फेलस्क्रिप्ट™ a2a3ca160f
fix(core): Improve the startup error when EXECUTIONS_PROCESS is set (#8630)
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2024-02-14 15:35:42 +01:00
कारतोफ्फेलस्क्रिप्ट™ 68498cb72a
fix(core): Upgrade @n8n/typeorm to address postgres timestamp issues (#8627) 2024-02-14 14:17:57 +01:00
Danny Martini cd8ca8412d
fix(core): Give better error message if executions.process is still used in the configs (#8618) 2024-02-13 12:40:50 +00:00
Danny Martini ee81015231
docs: Update cursor description in the public api documentation (#8602) 2024-02-09 16:36:57 +01:00
Cornelius Suermann 5a613d4a8b
build: Update License-SDK to v2.10.0 (no-changelog) (#8537) 2024-02-09 16:10:50 +01:00
Omar Ajoue a743a40376
feat(API): Add tag support to public API (#8588)
Co-authored-by: Jesús Burgers <jesus.burgers@chakray.co.uk>
Co-authored-by: Jesús Burgers <43568066+jburgers-chakray@users.noreply.github.com>
2024-02-09 15:10:03 +00:00
Cornelius Suermann cd151f1ba9
feat: Include totalUsers in usage metrics during license renewal (no-changelog) (#8598) 2024-02-09 14:15:05 +01:00
oleg 5ab34fe335
fix(API): Fire workflowExecuteBefore hook in runMainProcess (no-changelog) (#8601) 2024-02-09 13:23:00 +01:00
Omar Ajoue 7501ad8f3c
feat: Add support for AI log streaming (#8526)
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2024-02-09 09:41:01 +00:00
कारतोफ्फेलस्क्रिप्ट™ 8e392cfc1d
feat(core): Migrate to n8n's typeorm fork (#8590) 2024-02-08 15:13:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ 7826bd842a
feat: Upgrade typeorm, sqlite3, and pg/pg-promise (#8579) 2024-02-08 10:40:18 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5750e8e88e
fix(core): Upgrade rudderstack sdk to address npm postInstall issues (#8568) 2024-02-08 10:40:10 +01:00
कारतोफ्फेलस्क्रिप्ट™ 40eee3aa49
ci(core): Avoid slow bcrypt calls in tests (no-changelog) (#8570) 2024-02-07 17:56:02 +01:00
github-actions[bot] 1b7ebe463e
🚀 Release 1.28.0 (#8569)
Co-authored-by: ivov <ivov@users.noreply.github.com>
2024-02-07 15:39:40 +01:00
कारतोफ्फेलस्क्रिप्ट™ c04f92f7fd
refactor(core): Couple of refactors on WorkflowRunner and ActiveExecutions (no-changelog) (#8487) 2024-02-06 18:09:50 +01:00
Iván Ovejero dc068ce2e6
build: Fix outdated import to fix build (no-changelog) (#8558) 2024-02-06 10:45:30 +01:00
Iván Ovejero abddbb6227
fix(core): Use trx manager instead of repository for tags overwrite (#8557) 2024-02-06 10:40:32 +01:00
Iván Ovejero c4e39451db
refactor(core): Continue breaking dependency cycles (no-changelog) (#8545) 2024-02-06 10:08:46 +01:00
Iván Ovejero 28aee7c425
refactor(core): Lock webhook process out of multi-main setup (no-changelog) (#8549) 2024-02-05 18:06:54 +01:00
Iván Ovejero dca50dcc68
docs: Add encryption key check to breaking changes list (#8551) 2024-02-05 16:39:59 +01:00
Danny Martini b62c1d7c41
fix: Remove ts-node from overrides and typeorm script (no-changelog) (#8547) 2024-02-05 14:09:22 +01:00
Iván Ovejero dc5ec8f946
refactor(core): Streamline flows in multi-main mode (no-changelog) (#8446) 2024-02-05 09:26:55 +01:00
कारतोफ्फेलस्क्रिप्ट™ ee5e422094
fix(core): Upgrade nodemailer to address an exploit (#8535) 2024-02-02 14:12:18 +01:00
Iván Ovejero 92f939f827
fix(core): Fix workflow tagging failure due to unique constraint check (#8505) 2024-02-02 12:36:55 +01:00
कारतोफ्फेलस्क्रिप्ट™ 4fed68ee34
fix(core): Fix DropRoleMapping migration (#8521) 2024-02-02 12:22:09 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5832d3ca46
fix(core): Fix PermissionChecker.check, and add additional unit tests (#8528) 2024-02-02 12:21:53 +01:00
Iván Ovejero 528c07134a
fix(core): Fix test runs of triggers that rely on static data (#8524) 2024-02-01 18:05:23 +01:00
Iván Ovejero cc41fc7c80
fix(core): Fix new graceful shutdown env being always overridden by deprecated env (#8503) 2024-02-01 11:10:40 +01:00
कारतोफ्फेलस्क्रिप्ट™ 88cf1823d3 Merge tag 'n8n@1.27.0' 2024-01-31 20:33:25 +01:00
कारतोफ्फेलस्क्रिप्ट™ d2d0ae6c5d
ci: Fix DB tests (no-changelog) (#8513) 2024-01-31 17:36:50 +01:00
github-actions[bot] 7aa3ef7168
🚀 Release 1.27.0 (#8512)
Co-authored-by: ivov <ivov@users.noreply.github.com>
2024-01-31 16:08:37 +01:00
कारतोफ्फेलस्क्रिप्ट™ 033fd344b5
fix(core): Handle possibly invalid updatedAt timestamps in source-control (#8485) 2024-01-31 14:25:03 +01:00
कारतोफ्फेलस्क्रिप्ट™ 839dd96c7d
refactor(core): Move all code related to onServerStarted into InternalHooks (no-changelog) (#8500) 2024-01-31 13:29:17 +01:00
Danny Martini 39e8754784
fix(core): Don't report executions that have been paused as failed to rudderstack and log streams (#8501) 2024-01-31 11:21:15 +01:00
Iván Ovejero dac511b710
refactor(core): Modernize credentials controllers and services (no-changelog) (#8488)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-31 09:48:48 +01:00
कारतोफ्फेलस्क्रिप्ट™ 121a55b691
feat(core): Remove own execution-process mode (#8490) 2024-01-30 12:51:40 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5cb55270b7
refactor(core): Replace promisify-d node calls with native promises (no-changelog) (#8464) 2024-01-30 09:49:23 +01:00
Iván Ovejero 238b54c77b
fix(core): Fix stopping and retrying failed executions (#8480) 2024-01-29 16:34:58 +01:00
Iván Ovejero 9e93980957
fix(core): Prevent calling internal hook email event if emailing is disabled (#8462)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-29 16:15:30 +01:00
Iván Ovejero db48bdd6d1
fix(core): Handle zero execution statistics on metrics collection during license renewal (#8463) 2024-01-26 17:50:19 +01:00
कारतोफ्फेलस्क्रिप्ट™ 2fba0e8d58
feat(core): Upgrade Rudderstack SDK to address CVE-2023-45857 (#8368) 2024-01-26 16:58:44 +01:00
Danny Martini 9f11eba0a4
fix(core): Point users to the official documentation when they use n8n --help (#8440) 2024-01-26 15:16:53 +01:00
कारतोफ्फेलस्क्रिप्ट™ c70fa66e76
refactor(core): Use DI for WorkflowRunner (no-changelog) (#8372) 2024-01-26 13:49:39 +01:00
कारतोफ्फेलस्क्रिप्ट™ 7c49004018
refactor(core): Use DI for eventBus code - Part 1 (no-changelog) (#8434) 2024-01-26 12:21:15 +01:00
कारतोफ्फेलस्क्रिप्ट™ ef4507c821 Merge tag 'n8n@1.26.0' 2024-01-25 16:49:18 +01:00
कारतोफ्फेलस्क्रिप्ट™ cc2f0ada76
ci: Enforce noUnusedLocals on all backend and nodes packages (no-changelog) (#8428) 2024-01-25 14:33:35 +01:00
कारतोफ्फेलस्क्रिप्ट™ f438082442
fix(core): Run the down migration correctly when transaction: false is set (no-changelog) (#8432) 2024-01-24 19:07:47 +01:00
Michael Kret ed7d6b7b3a
feat(core): Display conditions in displayOptions (no-changelog) (#7888) 2024-01-24 18:04:46 +02:00
कारतोफ्फेलस्क्रिप्ट™ d6deceacde
refactor(core): Remove roleId indirection (no-changelog) (#8413) 2024-01-24 13:38:57 +01:00
github-actions[bot] 111d2ebe68
🚀 Release 1.26.0 (#8427)
Co-authored-by: ivov <ivov@users.noreply.github.com>
2024-01-24 13:28:47 +01:00
कारतोफ्फेलस्क्रिप्ट™ 1affebd85e
refactor(core): Remove unused code from Server.ts (no-changelog) (#8426) 2024-01-24 12:55:43 +01:00
Cornelius Suermann a8b4684192
build: Bump license-sdk to v2.9.1 (no-changelog) (#8420) 2024-01-23 14:44:46 +01:00
Iván Ovejero c0bc94c78f
refactor(core): Finish removing UserManagementHelper (no-changelog) (#8418) 2024-01-23 13:58:31 +01:00
Iván Ovejero a0a1830696
feat(core): Email recipients on resource shared (#8408) 2024-01-23 12:03:59 +01:00
Danny Martini ae06fdeb62
fix(core): Fix update workflow cli command being unable to activate all workflows (#8412)
Co-authored-by: Daniel Schröder <daniel.schroeder@skriptfabrik.com>
2024-01-23 10:59:06 +01:00
Iván Ovejero 49b52c4f1d
refactor(core): Bring active executions into executions controller (no-changelog) (#8371) 2024-01-23 09:48:50 +01:00
कारतोफ्फेलस्क्रिप्ट™ 913c8c6b0c
feat(core): Upgrade oclif (no-changelog) (#8381) 2024-01-22 18:25:36 +01:00
Cornelius Suermann d597c2ab29
feat: Extend collection of usage metrics during license renewal (no-changelog) (#8369)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2024-01-22 12:29:28 +01:00
Iván Ovejero f35d4fcbd8
refactor(core): Simplify OrchestrationService (no-changelog) (#8364) 2024-01-22 11:16:29 +01:00
Danny Martini 07e6705256
feat(core): Custom session timeout and refresh configuration (#8342) 2024-01-22 09:54:13 +01:00
Giulio Andreini f4f496ae85
docs(editor): All buttons to sentence case (no-changelog) (#8399) 2024-01-22 09:20:02 +01:00
Jon 9883eda42e
fix: Fix openapi generation (no-changelog) (#8398) 2024-01-19 18:15:33 +01:00
Iván Ovejero 749ac2b407
fix(core): Adjust starter node priority for manual executions with pinned activators (#8386) 2024-01-19 10:18:04 +01:00
कारतोफ्फेलस्क्रिप्ट™ c7c4ae4514
feat(core): Upgrade swagger (no-changelog) (#8384) 2024-01-18 14:16:14 +01:00
Tomi Turtiainen f31cc0743f
fix: Force posthog recording to be disabled outside cloud (#8374) 2024-01-18 14:44:27 +02:00
Jon fc94377036
fix: Fix issue preventing secrets with a - in the path from being imported (#8378) 2024-01-18 09:24:58 +00:00
Tomi Turtiainen 99457019f7
feat: Nudge users to become template creators if eligible (#8357) 2024-01-17 19:07:34 +02:00
कारतोफ्फेलस्क्रिप्ट™ 3912c5e7ab
feat(core): Upgrade axios and follow-redirects to address CVE-2023-26159 (#8366) 2024-01-17 16:41:01 +01:00
कारतोफ्फेलस्क्रिप्ट™ 639d34769e
feat(core): Upgrade bull and ioredis to address CVE-2023-52079 (#8365) 2024-01-17 16:33:54 +01:00
Tomi Turtiainen 9a1cc56806
fix: Set '@typescript-eslint/return-await' rule to 'always' for node code (no-changelog) (#8363)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-17 17:08:50 +02:00
Iván Ovejero 2eb829a6b4
refactor(core): Use DI in execution services (no-changelog) (#8358) 2024-01-17 15:42:19 +01:00
github-actions[bot] 7268d24259
🚀 Release 1.25.0 (#8362)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2024-01-17 14:20:55 +01:00
Iván Ovejero 771d2fa341
test(core): Fix cleanup in test teardown script (no-changelog) (#8361) 2024-01-17 14:01:56 +01:00
Omar Ajoue d5455d7acc
fix(core): Report when waitTill is invalid and handle it (#8356) 2024-01-17 13:08:20 +01:00
कारतोफ्फेलस्क्रिप्ट™ 7cdbb424e3
refactor(core): Move methods from WorkflowHelpers into various workflow services (no-changelog) (#8348) 2024-01-17 10:16:13 +01:00
Iván Ovejero d4c93b1607
fix(core): Prevent issues with missing or mismatching encryption key (#8332) 2024-01-16 18:25:53 +01:00
Iván Ovejero 7bb2d1799e
refactor(core): Consolidate executions controllers (no-changelog) (#8349) 2024-01-16 16:52:21 +01:00
कारतोफ्फेलस्क्रिप्ट™ 64ceb16af6
refactor(core): Use DI in PermissionChecker (no-changelog) (#8344) 2024-01-16 14:15:29 +01:00
Iván Ovejero 420b4271a9
refactor(core): Move typeorm operators from Public API (no-changelog) (#8319) 2024-01-16 13:35:43 +01:00
Omar Ajoue e1acb5911a
refactor: Make execution IDs mandatory in BE (#8299)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2024-01-16 09:53:17 +00:00
Iván Ovejero 0f4f472a72
refactor(core): Eliminate dead Redis code (no-changelog) (#8292) 2024-01-16 09:31:45 +01:00
Iván Ovejero 5fbd7971e0
fix(core): Account for immediate confirmation request during test webhook creation (#8329) 2024-01-16 09:17:41 +01:00
Ricardo Espinoza 3c2a4000ae
refactor(core): Use DI for LDAP code (no-changelog) (#8248)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-15 09:01:48 -05:00
Iván Ovejero 1a0e285553
feat(core): Implement inter-main communication for test webhooks in multi-main setup (#8267) 2024-01-12 11:48:58 +01:00
oleg 884396ea0d
fix(API): Fix manual chat trigger execution (#8300)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2024-01-11 14:01:07 +01:00
Omar Ajoue 8c7f39907f
fix: Properly output saml validation errors (#8284) 2024-01-10 16:56:04 +01:00
github-actions[bot] 8a4231e9f6
🚀 Release 1.24.0 (#8290)
Co-authored-by: ivov <ivov@users.noreply.github.com>
2024-01-10 16:16:25 +01:00
Omar Ajoue 8a7c629ea1
fix: Store workflow settings when saving an execution (#8288) 2024-01-10 14:20:37 +00:00
Michael Kret ccde38a8a8
fix(Monday.com Node): Migrate to api 2023-10 (#8254) 2024-01-10 11:17:00 +02:00
Iván Ovejero 5032bf0e34
fix(core): Fix test webhook deregistration (#8247) 2024-01-09 16:02:32 +01:00
Iván Ovejero 0dabe5c74e
fix: Fix user reinvites on FE and BE (#8261) 2024-01-09 13:52:34 +01:00
Tomi Turtiainen 3b996a7da0
feat(core): Validate shutdown handlers on startup (#8260) 2024-01-08 17:46:45 +02:00
Tomi Turtiainen 8affdf680d
fix: Hide cred setup button from canvas (no-changelog) (#8255) 2024-01-08 13:59:04 +02:00
Iván Ovejero 90c065e999
refactor(core): Convert workflows controller to DI (no-changelog) (#8253) 2024-01-08 12:54:23 +01:00
कारतोफ्फेलस्क्रिप्ट™ ac1c642fdd
fix(core): Do not add Authentication header when authentication type is body (#8201) 2024-01-08 12:38:24 +01:00
Jan Oberhauser ccb2b076f8
fix: Resolve expressions in credentials following paired item (#8250)
## Summary
Fixes the issue that pairedItem information was not available in
expressions that got used in credentials


## Related tickets and issues

[PAY-1207](https://linear.app/n8n/issue/PAY-1207/paireditem-expressions-not-working-correctly-in-credentials)


## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again.
   > A feature is not complete without tests.

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2024-01-08 09:48:20 +00:00
Iván Ovejero f2939568cf
perf(core): Optimize workflow activation errors (#8242)
At https://github.com/n8n-io/n8n/pull/8213 we introduced Redis hashes
for workflow ownership and manual webhooks...

- to remove clutter from multiple related keys at the top level,
- to improve performance by preventing serializing-deserializing, and
- to guarantee atomicity during concurrent updates in multi-main setup.

Workflow activation errors can also benefit from this. Added test
coverage as well.

To test manually, create a workflow with a trigger with an invalid
credential, edit the workflow's `active` column to `true`, and restart.
The activation error should show as a red triangle on canvas and in the
workflow list.
2024-01-05 13:06:42 +01:00
Iván Ovejero 23a4ac96c0
refactor(core): Continue moving typeorm operators to repositories (no-changelog) (#8212)
Follow-up to: https://github.com/n8n-io/n8n/pull/8186
2024-01-05 13:06:24 +01:00
Iván Ovejero f53c482939
perf(core): Improve caching service (#8213)
Story: https://linear.app/n8n/issue/PAY-1188

- Implement Redis hashes on the caching service, based on Micha's work
in #7747, adapted from `node-cache-manager-ioredis-yet`. Optimize
workflow ownership lookups and manual webhook lookups with Redis hashes.
- Simplify the caching service by removing all currently unused methods
and options: `enable`, `disable`, `getCache`, `keys`, `keyValues`,
`refreshFunctionEach`, `refreshFunctionMany`, `refreshTtl`, etc.
- Remove the flag `N8N_CACHE_ENABLED`. Currently some features on
`master` are broken with caching disabled, and test webhooks now rely
entirely on caching, for multi-main setup support. We originally
introduced this flag to protect against excessive memory usage, but
total cache usage is low enough that we decided to drop this setting.
Apparently this flag was also never documented.
- Overall caching service refactor: use generics, reduce branching, add
discriminants for cache kinds for better type safety, type caching
events, improve readability, remove outdated docs, etc. Also refactor
and expand caching service tests.

Follow-up to: https://github.com/n8n-io/n8n/pull/8176

---------

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
2024-01-05 11:52:44 +01:00
Iván Ovejero 22a5f5258d
feat(core): Cache test webhook registrations (#8176)
In a multi-main setup, we have the following issue. The user's client
connects to main A and runs a test webhook, so main A starts listening
for a webhook call. A third-party service sends a request to the test
webhook URL. The request is forwarded by the load balancer to main B,
who is not listening for this webhook call. Therefore, the webhook call
is unhandled.

To start addressing this, cache test webhook registrations, using Redis
for queue mode and in-memory for regular mode. When the third-party
service sends a request to the test webhook URL, the request is
forwarded by the load balancer to main B, who fetches test webhooks from
the cache and, if it finds a match, executes the test webhook. This
should be transparent - test webhook behavior should remain the same as
so far.

Notes:
- Test webhook timeouts are not cached. A timeout is only relevant to
the process it was created in, so another process retrieving from Redis
a "foreign" timeout will be unable to act on it. A timeout also has
circular references, so `cache-manager-ioredis-yet` is unable to
serialize it.
- In a single-main scenario, the timeout remains in the single process
and is cleared on test webhook expiration, successful execution, and
manual cancellation - all as usual.
- In a multi-main scenario, we will need to have the process who
received the webhook call send a message to the process who created the
webhook directing this originating process to clear the timeout. This
will likely be implemented via execution lifecycle hooks and Redis
channel messages checking session ID. This implementation is out of
scope for this PR and will come next.
- Additional data in test webhooks is not cached. From what I can tell,
additional data is not needed for test webhooks to be executed.
Additional data also has circular references, so
`cache-manager-ioredis-yet` is unable to serialize it.

Follow-up to: #8155
2024-01-03 16:58:33 +01:00
github-actions[bot] 053503531f
🚀 Release 1.23.0 (#8205)
#
[1.23.0](https://github.com/n8n-io/n8n/compare/n8n@1.22.0...n8n@1.23.0)
(2024-01-03)


### Bug Fixes

* **Asana Node:** Omit body from GET, HEAD, and DELETE requests
([#8057](https://github.com/n8n-io/n8n/issues/8057))
([15ffd4f](15ffd4fb9f))
* **core:** Better input validation for the changeRole endpoint
([#8189](https://github.com/n8n-io/n8n/issues/8189))
([cfe9525](cfe9525dd4))
* **core:** Fix issue that pinnedData is not used with Test-Webhooks
([#8123](https://github.com/n8n-io/n8n/issues/8123))
([fa8bd8b](fa8bd8b9eb))
* **core:** Handle empty executions table in pruning in migrations
([#8121](https://github.com/n8n-io/n8n/issues/8121))
([ffaa30d](ffaa30ddc4))
* **core:** Remove circular dependency in WorkflowService and
ActiveWorkflowRunner
([#8128](https://github.com/n8n-io/n8n/issues/8128))
([21788d9](21788d9153))
* **core:** Use pinned data only for manual mode
([#8164](https://github.com/n8n-io/n8n/issues/8164))
([ea7e76f](ea7e76fa3b))
* **Discord Node:** Remove unnecessary requirement on parameters
([#8060](https://github.com/n8n-io/n8n/issues/8060))
([ef3a577](ef3a57719e))
* **editor:** Avoid sanitizing output to search node data
([#8126](https://github.com/n8n-io/n8n/issues/8126))
([c83d9f4](c83d9f45ba))
* **editor:** Enable explicit undo keyboard shortcut across all code
editors ([#8178](https://github.com/n8n-io/n8n/issues/8178))
([cf7f668](cf7f6688ba))
* **editor:** Fix operation change failing in certain conditions
([#8114](https://github.com/n8n-io/n8n/issues/8114))
([711fa2b](711fa2b925))
* **editor:** Fix templates view layout
([#8196](https://github.com/n8n-io/n8n/issues/8196))
([d01e42a](d01e42a2aa))
* **editor:** Fix UI urls when hosted behind a path prefix
([#8198](https://github.com/n8n-io/n8n/issues/8198))
([5c078f1](5c078f1b3d))
* **editor:** Prevent browser zoom when scrolling inside sticky edit
mode ([#8116](https://github.com/n8n-io/n8n/issues/8116))
([e928210](e928210ccd))
* **editor:** Prevent canvas undo/redo when NDV is open
([#8118](https://github.com/n8n-io/n8n/issues/8118))
([39e45d8](39e45d8b92))
* **editor:** Prevent storing pairedItem data inside of pinData
([#8173](https://github.com/n8n-io/n8n/issues/8173))
([405e267](405e26757e))
* **GitHub Node:** Fix issue that File->Get did not run once per item
([#8190](https://github.com/n8n-io/n8n/issues/8190))
([11cda41](11cda41214))
* **Invoice Ninja Node:** Fix issue with custom invoice numbers not
working with v5 ([#8200](https://github.com/n8n-io/n8n/issues/8200))
([3b6ae2d](3b6ae2d0a5))
* **Microsoft Excel 365 Node:** Ensure arg is string during worksheet
table search ([#8154](https://github.com/n8n-io/n8n/issues/8154))
([8e873ca](8e873ca2f3))
* **Notion Node:** Ensure arg is string during page ID extraction
([#8153](https://github.com/n8n-io/n8n/issues/8153))
([e94b8a6](e94b8a6c30))
* **Redis Trigger Node:** Activating a workflow with a Redis trigger
fails ([#8129](https://github.com/n8n-io/n8n/issues/8129))
([a169b74](a169b74062))
* **Schedule Trigger Node:** Use the correct `moment` import
([#8185](https://github.com/n8n-io/n8n/issues/8185))
([17a4e2e](17a4e2ea80))
* Show public API upgrade CTA when feature is not enabled
([#8109](https://github.com/n8n-io/n8n/issues/8109))
([e9c7fd7](e9c7fd7397))


### Features

* **core:** Add closeFunction support to Sub-Nodes
([#7708](https://github.com/n8n-io/n8n/issues/7708))
([bec0fae](bec0faed9e))
* **core:** Add user.profile.beforeUpdate hook
([#8144](https://github.com/n8n-io/n8n/issues/8144))
([e126ed7](e126ed74f3))
* **core:** Improvements/overhaul for nodes working with binary data
([#7651](https://github.com/n8n-io/n8n/issues/7651))
([5e16dd4](5e16dd4ab4))
* **core:** Remove discontinued crypto-js
([#8104](https://github.com/n8n-io/n8n/issues/8104))
([01e9a79](01e9a79238))
* **core:** Unify application components shutdown
([#8097](https://github.com/n8n-io/n8n/issues/8097))
([3a881be](3a881be6c2))
* **editor:** Add node execution status indicator to output panel
([#8124](https://github.com/n8n-io/n8n/issues/8124))
([ab74bad](ab74bade05))
* **editor:** Add template Id to workflow metadata
([#8088](https://github.com/n8n-io/n8n/issues/8088))
([517b050](517b050d0a))
* **Home Assistant Node:** Use the new Home Assistant logo
([#8150](https://github.com/n8n-io/n8n/issues/8150))
([518a99e](518a99e528))
* **Qdrant Vector Store Node:** Qdrant vector store support
([#8080](https://github.com/n8n-io/n8n/issues/8080))
([66460f6](66460f66b0))
* **Wordpress Node:** Add option to ignore error when using self signed
certificates ([#8199](https://github.com/n8n-io/n8n/issues/8199))
([65c8e12](65c8e12b96))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2024-01-03 13:41:28 +01:00
कारतोफ्फेलस्क्रिप्ट™ cfe9525dd4
fix(core): Better input validation for the changeRole endpoint (#8189)
also refactored the code to
1. stop passing around `scope === 'global'`, since this code can be used
only for changing globalRole.
2. leak less details when input validation fails.

## Review / Merge checklist
- [x] PR title and summary are descriptive
- [x] Tests included
2024-01-03 09:33:35 +01:00
Iván Ovejero 40c1eeeddd
refactor(core): Continue moving typeorm operators to repositories (no-changelog) (#8186)
Follow-up to: #8163
2024-01-02 17:53:24 +01:00
Tomi Turtiainen e126ed74f3
feat(core): Add user.profile.beforeUpdate hook (#8144)
Add `user.profile.beforeUpdate` hook so we can prevent user email change
if it overlaps with other users email.
2024-01-02 10:15:12 +02:00
Iván Ovejero ece48d6a13
refactor(core): Unify workflow controllers (no-changelog) (#8175)
Combine EE workflows controller into main workflows controller,
protecting paid functionality behind feature flag checks.
2023-12-29 14:23:58 +01:00
Iván Ovejero 4bad43dd66
refactor(core): Move typeorm operators from WaitTracker to ExecutionRepository (no-changelog) (#8163)
Follow-up to: #8145

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-28 19:22:09 +01:00
Iván Ovejero e418d42450
refactor(core): Move typeorm operators from various sources into repositories (no-changelog) (#8174)
Follow-up to: #8165
2023-12-28 13:14:10 +01:00
कारतोफ्फेलस्क्रिप्ट™ c84d3c3bbf
refactor(core): Extract ActiveWebhooks out of ActiveWorkflowRunner (no-changelog) (#8171)
## Summary
This PR continues refactoring webhooks code for better modularity.
Continued from #8069 to bring back `ActiveWebhooks`, but this time
actually handling active webhook calls in this class.

## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-28 10:04:32 +01:00
Iván Ovejero 639afcd7a5
refactor(core): Simplify state in test webhooks (no-changelog) (#8155)
This PR simplifies state in test webhooks so that it can be cached
easily. Caching this state will allow us to start using Redis for manual
webhooks, to support manual webhooks to work in multi-main setup.

- [x] Convert `workflowWebhooks` to a getter - no need to optimize for
deactivation
- [x] Remove array from value in `TestWebhooks.webhookUrls`
- [x] Consolidate `webhookUrls` and `registeredWebhooks`
2023-12-28 09:28:12 +01:00
Iván Ovejero 0e582594ea
refactor(core): Move more typeorm operators to UserRepository (no-changelog) (#8165)
Follow-up to: #8163
2023-12-28 09:27:47 +01:00
Iván Ovejero 5aee7a1d48
refactor(core): Move typeorm operators from SourceControlExportService to repositories (no-changelog) (#8168)
Follow-up to: #8165
2023-12-28 09:27:38 +01:00
Jan Oberhauser ea7e76fa3b
fix(core): Use pinned data only for manual mode (#8164)
## Summary
Fixes the issue that pinned data gets also used for production executions.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-27 18:22:33 +01:00
Iván Ovejero 2c6ffb0153
fix(core): Minor improvements to multi-main setup (no-changelog) (#8012)
- Move webhook, poller and trigger activation logs closer to activation
event
- Enrich response of `/debug/multi-main-setup`
- Ensure workflow updates broadcast activation state changes only if
state changed
- Fix bug on workflow activation after leadership change
- Ensure debug controller is not available in production

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-12-27 16:55:01 +01:00
कारतोफ्फेलस्क्रिप्ट™ f69ddcd796
refactor(core): Use Dependency Injection for all Controller classes (no-changelog) (#8146)
## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-27 11:50:43 +01:00
Jan Oberhauser fa8bd8b9eb
fix(core): Fix issue that pinnedData is not used with Test-Webhooks (#8123)
## Summary
When a workflow gets started via a Test-Webhook the pinned data does get
ignored and the nodes executed anyway.



## Related tickets and issues
> Include links to **Linear ticket** or Github issue or Community forum
post. Important in order to close *automatically* and provide context to
reviewers.



## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [X] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again.
   > A feature is not complete without tests.

---------

Co-authored-by: Mutasem Aldmour <mutasem@n8n.io>
2023-12-27 10:51:53 +01:00
Iván Ovejero 7b26a7a621
refactor(core): Move typeorm operators from PruningService to ExecutionRepository (no-changelog) (#8145)
Follow-up to https://github.com/n8n-io/n8n/pull/8143
2023-12-22 17:49:15 +01:00
Iván Ovejero a59d78de18
refactor(core): Move more typeorm operators to repositories (no-changelog) (#8143)
Follow-up to #8139
2023-12-22 16:20:30 +01:00
कारतोफ्फेलस्क्रिप्ट™ 4007163651
refactor(core): Delete unused code, and fix typings in tests (no-changelog) (#8142) 2023-12-22 15:41:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ baee47a276
refactor(core): Move all base URLs to UrlService (no-changelog) (#8141)
This change kept coming up in #6713, #7773, and #8135. 
So this PR moves the existing code without actually changing anything,
to help get rid of some of the circular dependencies.


## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-22 15:19:50 +01:00
Iván Ovejero c6dd935895
refactor(core): Move some typeorm operators to repositories (no-changelog) (#8139)
Moving some persistence logic to repositories to reduce circular
dependencies.
2023-12-22 13:35:23 +01:00
Tomi Turtiainen 3a881be6c2
feat(core): Unify application components shutdown (#8097)
## Summary

Add `ShutdownService` and `OnShutdown` decorator for more unified way to
shutdown different components. Use this new way in the following
components:

- HTTP(S) server
- Pruning service
- Push connection
- License

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-22 12:39:58 +02:00
कारतोफ्फेलस्क्रिप्ट™ c158ca2471
refactor(core): Upgrade more dependencies to remove axios 0.x (no-changelog) (#8105)
Had to [fork localtunnel](https://github.com/n8n-io/localtunnel) to get
the axios upgrade, since localtunnel doesn't seem to be actively maintained.
2023-12-22 11:39:20 +01:00
कारतोफ्फेलस्क्रिप्ट™ 021add0f39
refactor(core): Move active workflows endpoints to a decorated controller class (no-changelog) (#8101)
This is a continuation of migrating all rest endpoints to decorated controller classes
2023-12-22 11:28:42 +01:00
कारतोफ्फेलस्क्रिप्ट™ 21788d9153
fix(core): Remove circular dependency in WorkflowService and ActiveWorkflowRunner (#8128)
## Summary
A circular dependency between `WorkflowService` and
`ActiveWorkflowRunner` is sometimes causing `this.activeWorkflowRunner`
to be `undefined` in `WorkflowService`.
Breaking this circular dependency should hopefully fix this issue.

## Related tickets and issues
#8122


## Review / Merge checklist
- [x] PR title and summary are descriptive
- [ ] Tests included
2023-12-21 17:37:08 +01:00
कारतोफ्फेलस्क्रिप्ट™ ffaa30ddc4
fix(core): Handle empty executions table in pruning in migrations (#8121)
In case someone manually prunes their executions table before upgrading
to 1.x, `MigrateIntegerKeysToString` should gracefully handle that,
instead of crashing the application.

## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-21 14:52:42 +01:00
Iván Ovejero 9ac8825a67
refactor(core): Move error execution creation to execution service (no-changelog) (#8006)
Continue breaking down legacy helpers.

Note: `getUserById` is unused.
2023-12-21 14:15:46 +01:00
Iván Ovejero d1b2affd2c
ci: Add lint rule no-dynamic-import-template (no-changelog) (#8089)
Follow-up to: https://github.com/n8n-io/n8n/pull/8086

`tsc-alias` as of 1.8.7 is unable to resolve template strings in dynamic
imports. Since the module name mapper in Jest is able to, this issue is
hard to detect, hence the new lint rule `no-dynamic-import-template`.
This is for now specific to `@/` in the `cli` package - we can
generalize later if needed. Ideally we should contribute a fix upstream
when we have more time.

<img width="940" alt="Capture 2023-12-19 at 12 39 55@2x"
src="https://github.com/n8n-io/n8n/assets/44588767/78d4a277-ccff-455c-8610-d1bba39d93f2">
2023-12-21 14:15:37 +01:00
कारतोफ्फेलस्क्रिप्ट™ 01e9a79238
feat(core): Remove discontinued crypto-js (#8104)
Since crypto-js was
[discontinued](1da3dabf93),
[we migrated all our backend encryption to native
crypto](https://github.com/n8n-io/n8n/pull/7556).
However I decided back then to not remove crypto-js just yet in
expressions, as I wanted to use `SubtleCrypto`. Unfortunately for that
to work, we'd need to make expressions async.
So, to get rid of `crypto-js`, I propose this interim solution. 

## Related tickets and issues
N8N-7020

## Review / Merge checklist
- [x] PR title and summary are descriptive
- [x] Tests included
2023-12-21 14:13:02 +01:00
github-actions[bot] b67b5ae6b2
🚀 Release 1.22.0 (#8115)
#
[1.22.0](https://github.com/n8n-io/n8n/compare/n8n@1.21.0...n8n@1.22.0)
(2023-12-21)


### Bug Fixes

* **core:** Close db connection gracefully when exiting
([#8045](https://github.com/n8n-io/n8n/pull/8045))
([e69707e](e69707efd4))
* **core:** Consider timeout in shutdown an error
([#8050](https://github.com/n8n-io/n8n/pull/8050))
([4cae976](4cae976a3b))
* **core:** Do not display error when stopping jobless execution in
queue mode ([#8007](https://github.com/n8n-io/n8n/pull/8007))
([8e6b951](8e6b951a76))
* **core:** Fix shutdown if terminating before hooks are initialized
([#8047](https://github.com/n8n-io/n8n/pull/8047))
([6ae2f5e](6ae2f5efea))
* **core:** Handle multiple termination signals correctly
([#8046](https://github.com/n8n-io/n8n/pull/8046))
([67bd8ad](67bd8ad698))
* **core:** Initialize queue once in queue mode
([#8025](https://github.com/n8n-io/n8n/pull/8025))
([53c0b49](53c0b49d15))
* **core:** Prevent axios from force setting a form-urlencoded
content-type ([#8117](https://github.com/n8n-io/n8n/pull/8117))
([bba9576](bba95761e2))
* **core:** Remove circular references before serializing executions in
public API ([#8043](https://github.com/n8n-io/n8n/pull/8043))
([989888d](989888d9bc))
* **core:** Restore workflow ID during execution creation
([#8031](https://github.com/n8n-io/n8n/pull/8031))
([c5e6ba8](c5e6ba8cdd))
* **core:** Use relative imports for dynamic imports in
SecurityAuditService ([#8086](https://github.com/n8n-io/n8n/pull/8086))
([785bf99](785bf9974e))
* **core:** Stop binary data restoration from preventing execution from
finishing ([#8082](https://github.com/n8n-io/n8n/pull/8082))
([5ffff1b](5ffff1bb22))
* **editor:** Add back credential `use` permission
([#8023](https://github.com/n8n-io/n8n/pull/8023))
([329e5bf](329e5bf9ee))
* **editor:** Cleanup Executions page component
([#8053](https://github.com/n8n-io/n8n/pull/8053))
([2689c37](2689c37e87))
* **editor:** Disable auto scroll and list size check when clicking on
executions ([#7983](https://github.com/n8n-io/n8n/pull/7983))
([fcb8b91](fcb8b91f37))
* **editor:** Ensure execution data overrides pinned data when copying
in executions view ([#8009](https://github.com/n8n-io/n8n/pull/8009))
([1d1cb0d](1d1cb0d3c5))
* **editor:** Fix copy/paste issue when switch node is in workflow
([#8103](https://github.com/n8n-io/n8n/pull/8103))
([4b86926](4b86926752))
* **editor:** Make keyboard shortcuts more strict; don't accept extra
Ctrl/Alt/Shift keys ([#8024](https://github.com/n8n-io/n8n/pull/8024))
([8df49e1](8df49e134d))
* **editor:** Show credential share info only to appropriate users
([#8020](https://github.com/n8n-io/n8n/pull/8020))
([b29b4d4](b29b4d442b))
* **editor:** Turn off executions list auto-refresh after leaving the
page ([#8005](https://github.com/n8n-io/n8n/pull/8005))
([e3c363d](e3c363d72c))
* **editor:** Update image sizes in template description not to be full
width always ([#8037](https://github.com/n8n-io/n8n/pull/8037))
([63a6e7e](63a6e7e034))
* **ActiveCampaign Node:** Fix pagination issue when loading tags
([#8017](https://github.com/n8n-io/n8n/pull/8017))
([1943857](1943857231))
* **HTTP Request Node:** Do not create circular references in HTTP
request node output ([#8030](https://github.com/n8n-io/n8n/pull/8030))
([5b7ea16](5b7ea16d9a))
* Upgrade axios to address CVE-2023-45857
([#7713](https://github.com/n8n-io/n8n/pull/7713))
([64eb9bb](64eb9bbc36))


### Features

* Add option to `returnIntermediateSteps` for AI agents
([#8113](https://github.com/n8n-io/n8n/pull/8113))
([7806a65](7806a65229))
* **core:** Add config option to prefer GET request over LIST when using
Hashicorp Vault ([#8049](https://github.com/n8n-io/n8n/pull/8049))
([439a22d](439a22d68f))
* **core:** Add N8N_GRACEFUL_SHUTDOWN_TIMEOUT env var
([#8068](https://github.com/n8n-io/n8n/pull/8068))
([614f488](614f488386))
* **editor:** Add lead enrichment suggestions to workflow list
([#8042](https://github.com/n8n-io/n8n/pull/8042))
([36a923c](36a923cf7b))
* **editor:** Finalize workers view
([#8052](https://github.com/n8n-io/n8n/pull/8052))
([edfa784](edfa78414d))
* **editor:** Gracefully ignore invalid payloads in postMessage handler
([#8096](https://github.com/n8n-io/n8n/pull/8096))
([9d22c7a](9d22c7a278))
* **editor:** Upgrade frontend tooling to address a few vulnerabilities
([#8100](https://github.com/n8n-io/n8n/pull/8100))
([19b7f1f](19b7f1ffb1))
* **Filter Node:** Overhaul UI by adding the new filter component
([#8016](https://github.com/n8n-io/n8n/pull/8016))
([3d53052](3d530522f8))
* **Respond to Webhook Node:** Overhaul with improvements like returning
all items ([#8093](https://github.com/n8n-io/n8n/pull/8093))
([32d397e](32d397eff3))


### Performance Improvements

* **editor:** Improve canvas rendering performance
([#8022](https://github.com/n8n-io/n8n/pull/8022))
([b780436](b780436a6b))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2023-12-21 13:51:24 +01:00
Omar Ajoue 5ffff1bb22
fix: Stop binary data restoration from preventing execution from finishing (#8082)
In the case of a filesystem failure to rename the binary files as part
of the execution's cleanup process, the execution would fail to be saved
and would never finish. This catch prevents it.

## Summary
Whenever an execution is wrapping u to save the data, if it uses binary
data n8n will try to find possibly misallocated files and place them in
the right folder. If this process fails, the execution fails to finish.

Given the execution has already finished at this point, and we cannot
handle the binary data errors more gracefully, all we can do at this
point is log the message as it's a filesystem issue. The rest of the
execution saving process should remain as normal.



## Related tickets and issues
https://linear.app/n8n/issue/HELP-430



## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again.
   > A feature is not complete without tests.

---------

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-12-21 09:40:39 +00:00
Iván Ovejero edfa78414d
feat(editor): Finalize workers view (#8052)
https://linear.app/n8n/issue/PAY-1065
2023-12-20 17:49:14 +01:00
Iván Ovejero 97aa38e783
ci: Fix Postgres and MySQL tests (no-changelog) (#8106)
This role query works for sqlite but [fails for Postgres and
MySQL](https://github.com/n8n-io/n8n/actions/runs/7269009778/job/19805986017),
so generalize by adding alias and accounting for count possibly being
`string` in the resulting rows.

Run in progress: https://github.com/n8n-io/n8n/actions/runs/7275986797
2023-12-20 15:14:31 +01:00
कारतोफ्फेलस्क्रिप्ट™ 81994ce13d
fix(core): Downgrade Rudderstack SDK (no-changelog) (#8107)
This reverts commit a895ee87fc (#8090)

Our telemetry backend is throwing 500s with the updated rudderstack sdk.
Until that is resolved, we need to downgrade.

## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-20 11:59:44 +01:00
Iván Ovejero 9dc491c3a5
refactor(core): Improve test-webhooks (no-changelog) (#8069)
Remove duplication, improve readability, and expand tests for
`TestWebhooks.ts` - in anticipation for storing test webhooks in Redis.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-19 17:32:02 +01:00
Iván Ovejero 38d1336fa7
refactor: Add telemetry for RBAC (no-changelog) (#8056)
https://linear.app/n8n/issue/PAY-1142
2023-12-19 17:02:52 +01:00
कारतोफ्फेलस्क्रिप्ट™ a895ee87fc
feat(core): Upgrade Rudderstack SDK (no-changelog) (#8090)
This helps remove some of the older versions of transient dependencies,
like axios 0.x and ioredis 4.x.

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-19 16:53:12 +01:00
कारतोफ्फेलस्क्रिप्ट™ 64eb9bbc36
fix: Upgrade axios to address CVE-2023-45857 (#7713)
[GH Advisory](https://github.com/advisories/GHSA-wf5p-g6vw-rhxx)
2023-12-19 16:17:01 +01:00
Iván Ovejero 8e6b951a76
fix(core): Do not display error when stopping jobless execution in queue mode (#8007)
No need to surface error to user when stopping a job no longer in queue.

https://linear.app/n8n/issue/PAY-1104
2023-12-19 16:11:21 +01:00
कारतोफ्फेलस्क्रिप्ट™ 464b565283
ci: Remove unnecessary async/await, enable await-thenable linting rule (no-changelog) (#8076)
## Summary
We accidentally made some functions `async` in
https://github.com/n8n-io/n8n/pull/7846
This PR reverts that change. 

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-19 13:52:42 +01:00
कारतोफ्फेलस्क्रिप्ट™ 785bf9974e
fix(core): Use relative imports for dynamic imports in SecurityAuditService (#8086)
`tsc-alias` doesn't seem to replace imports when using template strings

## Related tickets and issues
#8085

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-19 12:41:15 +01:00
कारतोफ्फेलस्क्रिप्ट™ a63d94f28c
refactor(core): Move license endpoints to a decorated controller class (no-changelog) (#8074) 2023-12-19 12:13:19 +01:00
Iván Ovejero 73d400a1bf
refactor(core): Inject dependencies into workflow services (no-changelog) (#8066)
Inject dependencies into workflow services (no-changelog)

Up next:

- ~~Make workflow services injectable~~ #8033
- ~~Inject dependencies into workflow services~~ (current)
- Consolidate workflow controllers into one
- Make workflow controller injectable
- Inject dependencies into workflow controller
2023-12-18 16:10:30 +01:00
कारतोफ्फेलस्क्रिप्ट™ a651089a10
refactor(core): Update backend sentry setup to reduce noise (no-changelog) (#8026)
## Summary
This PR updates our backend sentry setup to remove integrations that
don't provide us any value. This also reduces the amount of PII that
gets sent to Sentry.

[Sample event](https://n8nio.sentry.io/issues/4725315362/)

## Related tickets
[ENG-95](https://linear.app/n8n/issue/ENG-95)

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-18 14:26:07 +01:00
Tomi Turtiainen 614f488386
feat(core): Add N8N_GRACEFUL_SHUTDOWN_TIMEOUT env var (#8068)
Add generic N8N_GRACEFUL_SHUTDOWN_TIMEOUT which controls how long n8n
process will wait for graceful exit before exitting forcefully. This
variables replaces the QUEUE_WORKER_TIMEOUT variable that was used for
worker process.

DEPRECATED: QUEUE_WORKER_TIMEOUT deprected

QUEUE_WORKER_TIMEOUT environment variable has been replaced with
N8N_GRACEFUL_SHUTDOWN_TIMEOUT.
2023-12-18 14:04:19 +02:00
Tomi Turtiainen 4cae976a3b
fix(core): Consider timeout in shutdown an error (#8050)
If the process doesn't shutdown within a time limit, exit with error
code.

1. conceptually something timing out is an error.
2. on successful exit we close down the DB connection gracefully. On an
exit timeout we rather not do that, since it will wait for any active
connections to close and would possible block the exit.
2023-12-18 10:53:34 +02:00
Tomi Turtiainen 6ae2f5efea
fix(core): Fix shutdown if terminating before hooks are initialized (#8047)
If the app receives termination signal before hooks have been
initialised, the would be objet is undefined error. This PR fixes that.
2023-12-18 09:23:10 +02:00
Jon 439a22d68f
feat: Add config option to prefer GET request over LIST when using Hashicorp Vault (#8049)
## Summary
Hashicorp Vault prefers a `LIST` HTTP method to be used when fetching
secrets but not all environments will allow custom http methods through
WAFs. This PR adds `N8N_EXTERNAL_SECRETS_PREFER_GET` which when set to
`true` will use GET instead of LIST to fetch secrets.


## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
2023-12-15 16:20:39 +00:00
Tomi Turtiainen 67bd8ad698
fix(core): Handle multiple termination signals correctly (#8046)
Prevent possible multiple termination signals initiating the shutdown
process multiple times.
2023-12-15 17:35:22 +02:00
Tomi Turtiainen e69707efd4
fix(core): Close db connection gracefully when exiting (#8045)
Close db connection gracefully when exiting
2023-12-15 17:16:35 +02:00
Marcus 48d4f4a71b
fix(core): Public API support node's deprecated continueOnFail to upload old workflows (no-changelog) (#8044) 2023-12-15 16:11:53 +01:00
कारतोफ्फेलस्क्रिप्ट™ 989888d9bc
fix(core): Remove circular references before serializing executions in public API (#8043)
## Summary
Handle circular references in the public API for executions created
prior to the fix from #8030

## Related tickets
[PAY-1119](https://linear.app/n8n/issue/PAY-1119)

## Review / Merge checklist
- [x] PR title and summary are descriptive.
2023-12-15 16:01:41 +01:00
Iván Ovejero 1e7a309e63
refactor(core): Make workflow services injectable (no-changelog) (#8033)
Refactor static workflow service classes into DI-compatible classes

Context: https://n8nio.slack.com/archives/C069HS026UF/p1702466571648889

Up next:
- Inject dependencies into workflow services
- Consolidate workflow controllers into one
- Make workflow controller injectable
- Inject dependencies into workflow controller

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-12-15 12:59:56 +01:00
Iván Ovejero 2da15d0264
refactor(core): Remove ID-less workflow reporting (no-changelog) (#8038)
We added ID-less workflow reporting at #8031, which has already produced
multiple reports coming from internal, enough info to tackle [this
story](https://linear.app/n8n/issue/PAY-1147). To prevent an
overwhelming number of reports from cloud, this PR removes the reporting
for now.
2023-12-15 12:50:09 +01:00
Iván Ovejero f18bc5f4b7
refactor(core): Warn on sqlite DB detected during init on queue mode (#8034)
When setting up queue mode, it is easy to overlook that not exporting
Postgres env vars will default the worker to use sqlite, which will fail
during execution with a non-obvious error. Hence add warnings when
starting a worker with an incompatible DB type.
2023-12-15 10:56:35 +01:00
Iván Ovejero c5e6ba8cdd
fix(core): Restore workflow ID during execution creation (#8031)
## Summary
Restore workflow ID during execution creation removed by [this
PR](https://github.com/n8n-io/n8n/pull/8002/files#diff-c8cbb62ca9ab2ae45e5f565cd8c63fff6475809a6241ea0b90acc575615224af).
The missing workflow ID, and more generally the fact that `workflow.id`
is optional when it should not be, causes `PermissionChecker.check` to
misreport a credential as inaccessible when it should be accessible.

More generally, start reporting ID-less workflows so we can root them
out and prevent this at type level.

## Related tickets and issues

https://n8nio.slack.com/archives/C035KBDA917/p1702539465555529
2023-12-14 18:13:12 +01:00
Iván Ovejero 53c0b49d15
fix(core): Initialize queue once in queue mode (#8025)
We're initializing the queue twice because of a [bad
merge](2c63474538).
No associated known bugs but no need to init the queue twice. We should
follow up by investigating if any pending bugs can be associated to
this.
2023-12-14 16:16:12 +01:00
github-actions[bot] 1516c84dad
🚀 Release 1.21.0 (#8019)
#
[1.21.0](https://github.com/n8n-io/n8n/compare/n8n@1.20.0...n8n@1.21.0)
(2023-12-13)


### Bug Fixes

* **core:** Ensure inviter and invitee are set correctly in invite link
([#7943](https://github.com/n8n-io/n8n/issues/7943))
([386bd61](386bd61967))
* **core:** Fix user comparison in same-user subworkflow caller policy
([#7913](https://github.com/n8n-io/n8n/issues/7913))
([92bab72](92bab72cff))
* **core:** Perform multi-main leader check against key ID
([#7964](https://github.com/n8n-io/n8n/issues/7964))
([1a87f70](1a87f70e84))
* **core:** Ensure external hooks post workflow execute run in queue
mode ([#7947](https://github.com/n8n-io/n8n/issues/7947))
([3ba7deb](3ba7deb337))
* **core:** Fix issue preventing secrets from loading if the path
contains - or / ([#7988](https://github.com/n8n-io/n8n/issues/7988))
([0ac9594](0ac959463f))
* **core:** Restrict updating/deleting of shared but not owned
credentials ([#7950](https://github.com/n8n-io/n8n/issues/7950))
([42e828d](42e828d5c6))
* **core:** Prevent workflow history saving error from happening
([#7812](https://github.com/n8n-io/n8n/issues/7812))
([e5581ce](e5581ce802))
* **editor:** Add missing string for worker in log streaming
([#7971](https://github.com/n8n-io/n8n/issues/7971))
([148bc1d](148bc1d303))
* **editor:** Allow SSH protocol in git repository URL for environments
([#7944](https://github.com/n8n-io/n8n/issues/7944))
([bc1c72f](bc1c72f992))
* **editor:** Fix bug with node names with certain characters
([#8013](https://github.com/n8n-io/n8n/issues/8013))
([26f0d57](26f0d57f5f))
* **editor:** Fix Webhook URL expansion icon
([#8011](https://github.com/n8n-io/n8n/issues/8011))
([b00b905](b00b9057a4))
* **editor:** Prevent opening NDV search if `/` is typed in a
contenteditable element
([#7968](https://github.com/n8n-io/n8n/issues/7968))
([e8a493f](e8a493f718))
* **editor:** Return early in ws message handler if no 'command' keyword
is found ([#7946](https://github.com/n8n-io/n8n/issues/7946))
([5b2defc](5b2defc867))
* **FileMaker Node:** Prevent erroring on zero fields loaded
([#7955](https://github.com/n8n-io/n8n/issues/7955))
([10ad386](10ad386604))
* **Google Sheets Node:** Prevent erroring on zero sheet search results
([#7957](https://github.com/n8n-io/n8n/issues/7957))
([9b877a9](9b877a9427))
* **Google Sheets Node:** Prevent erroring when fetching mapping columns
([#7972](https://github.com/n8n-io/n8n/issues/7972))
([29a1066](29a10668d1))
* **Postgres Node:** Do not include id column in upsert fields selection
if it's not unique ([#7975](https://github.com/n8n-io/n8n/issues/7975))
([435392c](435392cbfe))
* **Postgres Trigger Node:** Increase manual trigger timeout from 30 to
60 seconds ([#8015](https://github.com/n8n-io/n8n/issues/8015))
([09a5729](09a5729305))
* **Webhook Node:** Binary data handling
([#7804](https://github.com/n8n-io/n8n/issues/7804))
([565b409](565b409a82))
* **Webhook Node:** Do not create binary data when there is no data in
the request ([#8000](https://github.com/n8n-io/n8n/issues/8000))
([70f0755](70f0755278))


### Features

* **core:** Add config option for external secret update interval
([#7995](https://github.com/n8n-io/n8n/issues/7995))
([b6c1c04](b6c1c04b54))
* AI nodes usability fixes + Summarization Chain V2
([#7949](https://github.com/n8n-io/n8n/issues/7949))
([dcf1286](dcf12867b3))
* **editor:** Data transformation nodes and actions in Nodes Panel
([#7760](https://github.com/n8n-io/n8n/issues/7760))
([675ec21](675ec21d33))
* **editor:** Add AppCues tracking for onboarding event
([#7945](https://github.com/n8n-io/n8n/issues/7945))
([04cabaf](04cabafef7))
* **editor:** Add option to disable NDV in workflow previews
([#7990](https://github.com/n8n-io/n8n/issues/7990))
([393afef](393afef174))
* **editor:** Filter component + implement in If node
([#7490](https://github.com/n8n-io/n8n/issues/7490))
([8a53434](8a5343401d))
* **editor:** Show template credential setup based on feature flag
([#7989](https://github.com/n8n-io/n8n/issues/7989))
([08ee307](08ee307209))
* **editor:** Introduce advanced permissions
([#7844](https://github.com/n8n-io/n8n/issues/7844))
([dbd62a4](dbd62a4992))
* **Google Ads Node:** Update to support v15
([#7962](https://github.com/n8n-io/n8n/issues/7962))
([7f01269](7f0126915a))
* **Local File Trigger Node:** Add polling option typically good to
watch network files/folders
([#7942](https://github.com/n8n-io/n8n/issues/7942))
([2fbdfec](2fbdfec0c0))
* **n8n Form Trigger Node:** Improvements
([#7571](https://github.com/n8n-io/n8n/issues/7571))
([953a58f](953a58f18b))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2023-12-13 16:34:00 +01:00
कारतोफ्फेलस्क्रिप्ट™ d7ce4624c8 Merge tag 'n8n@1.20.0' 2023-12-13 16:11:30 +01:00
Michael Kret 953a58f18b
feat(n8n Form Trigger Node): Improvements (#7571)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
2023-12-13 17:00:51 +02:00
Omar Ajoue e5581ce802
fix(core): Prevent workflow history saving error from happening (#7812)
When performing actions such as renaming a workflow or updating its
settings, n8n errors with "Failed to save workflow version" in the
console although the saving process was successful. We are now correctly
checking whether `nodes` and `connections` exist and only then save a
snapshot.

Github issue / Community forum post (link here to close automatically):
2023-12-13 11:41:06 +00:00
Iván Ovejero a70a5076ee
refactor(core): Add telemetry for RBAC roles (#7969)
Add telemetry for RBAC roles, see
[requirements](https://linear.app/n8n/issue/PAY-1067/add-telemetry-events-for-adding-and-assigning-admin-users#comment-184619fe).
2023-12-13 12:22:11 +01:00
Iván Ovejero 7b5d0a9546
refactor(core): Introduce import service (no-changelog) (#8001)
Consolidate import logic into import service.

Also fixes:
- https://linear.app/n8n/issue/PAY-1086
- https://github.com/n8n-io/n8n/issues/7881
-
https://community.n8n.io/t/cli-workflow-imports-failing-after-upgrade-to-v1-18-0/33780
- https://linear.app/n8n/issue/PAY-221
- https://github.com/n8n-io/n8n/issues/5477
- https://community.n8n.io/t/export-workflows-with-tags-got-created/6161
2023-12-13 10:00:21 +01:00
Benjamin Loison 61129863f1
docs: Replace http://faircode.io to https://faircode.io in .md files (#7908)
## Summary

Commit generated with:

```bash
grep -rl 'http://faircode.io' --include=*.md . | xargs sed -i 's/http:\/\/faircode.io/https:\/\/faircode.io/g'
```

## Review / Merge checklist
- [X] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
2023-12-12 15:23:22 +00:00
Jon 0ac959463f
fix: Fix issue preventing secrets from loading if the path contains - or / (#7988)
## Summary
Fixes an issue preventing n8n from pulling secrets from Hashicorp Vault
KV stores if the secret path contained a `-` or a `/`, An example
provided was `integrations/n8n-workflows` which I have tested in my
local instance of Vault.

This still needs testing with Infisical to make sure nothing breaks
there.
2023-12-12 15:21:18 +00:00
Jon b6c1c04b54
feat: Add config option for external secret update interval (#7995)
## Summary
Adds `N8N_EXTERNAL_SECRETS_UPDATE_INTERVAL` to allow enterprise users to
tweak the update internal for importing new secrets.

If using a config file the value is:

```
"externalSecrets": {
  "updateInterval": 300
}
```

#### How to test the change:
1. Run as normal and check that the secret is updated every 5 minutes
2. Set `N8N_EXTERNAL_SECRETS_UPDATE_INTERVAL` to 10
3. Check the secret is reloaded after 10 seconds


## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [x] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
2023-12-12 14:22:14 +00:00
Iván Ovejero d0e44d450f
feat(core): Add multi-main setup debug endpoint (no-changelog) (#7991)
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
Adi's idea here to help diagnose:
https://n8nio.slack.com/archives/C069KJBJ8HE/p1702300349277609?thread_ts=1702299930.728029&cid=C069KJBJ8HE
...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-12 15:18:32 +01:00
कारतोफ्फेलस्क्रिप्ट™ 1d870412ca
refactor(core): Don't use DB transactions on ExecutionRepository.createNewExecution (#8002)
Saving execution data is one of the slowest DB operations in the
application, and is likely behind some of the sqlite transaction
concurrency issues we've been seeing.
This not only remove the 2 separate transactions for saving
`ExecutionEntity` and `ExecutionData`, but also remove fields from
`ExecutionData.workflowData` that don't need to be saved (like `tags`,
`shared`, `statistics`, `triggerCount`, etc).
2023-12-12 14:36:56 +01:00
Iván Ovejero c378f60a25
refactor(core): Introduce password utility (no-changelog) (#7979)
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
Continue breaking down `UserManagementHelper.ts`
...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-11 18:23:42 +01:00
Iván Ovejero bbeeab5d27
refactor(core): Add project reference for @n8n/permissions (no-changelog) (#7987)
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
The missing [project
ref](https://www.typescriptlang.org/docs/handbook/project-references.html)
seems to be preventing the package from being picked up.
<img width="1022" alt="Capture 2023-12-11 at 13 49 55@2x"
src="https://github.com/n8n-io/n8n/assets/44588767/28b35430-d42f-451c-ae33-d152e1ff040a">

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-11 14:37:21 +01:00
Iván Ovejero f49aebb740
refactor(core): Move instance owner retrieval to ownership service (no-changelog) (#7980)
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
Continue breaking down `UserManagementHelper.ts`
...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-11 13:35:09 +01:00
Iván Ovejero 69c2254742
refactor(core): Introduce naming service (no-changelog) (#7985)
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.
Continue breaking down `GenericHelpers.ts`
...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-11 12:35:14 +01:00
Iván Ovejero 012310b9c1
refactor(core): Upgrade backend Sentry dependencies to 7.86 (no-changelog) (#7982)
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-11 11:08:54 +01:00
Iván Ovejero 193fe5ac1f
refactor(core): Log any hard-deletion errors during pruning (no-changelog) (#7965)
## Summary
Pruning is a minor background task so hard-deletion errors during
pruning should be simply logged for later investigation rather than
rethrown.

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-11 11:08:14 +01:00
Iván Ovejero 76ab411bc0
refactor(core): Instrument multi-main to report failures to renew lease (#7970)
## Summary
Instrument multi-main to report failures to renew the lease

https://linear.app/n8n/issue/PAY-1105
...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-11 09:45:08 +01:00
Iván Ovejero 1a87f70e84
fix(core): Perform multi-main leader check against key ID (#7964)
## Summary
Current leader check is based on key presence and multi-main instance
type, which can give rise to [this edge
case](https://n8nio.slack.com/archives/C04B1GZ4T0U/p1702025497086379?thread_ts=1701962808.817579&cid=C04B1GZ4T0U)
where leader fails to realize they lost leadership to a former follower.
PR performs the check against the specific key ID instead to prevent
this.

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-08 13:55:55 +01:00
Csaba Tuncsik dbd62a4992
feat: Introduce advanced permissions (#7844)
This PR introduces the possibility of inviting new users with an `admin`
role and changing the role of already invited users.
Also using scoped permission checks where applicable instead of using
user role checks.

---------

Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-12-08 12:52:25 +01:00
Iván Ovejero 8cb9c6b3ea
ci: Introduce no-plain-errors lint rule for BE packages (no-changelog) (#7961)
## Summary
Require `ApplicationError` or its child classes instead of plain `Error`
in BE packages. This ensures the error will be normalized when reported
to Sentry, if applicable.

Follow-up to:
https://github.com/n8n-io/n8n/pulls?q=is%3Apr+is%3Aclosed+applicationerror

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-08 12:51:49 +01:00
Iván Ovejero 90824b50ed
feat(core): Add package name tag to Sentry errors (no-changelog) (#7958)
## Summary
Add `packageName` tag to errors reported to Sentry, for filtering

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-08 11:30:06 +01:00
Iván Ovejero 3206b44974
test(core): Improve tests for subworkflow caller policy checks (no-changelog) (#7954)
## Summary
Deduplicate, separate, organize and speed up tests for subworkflow
caller policy checks.

Follow-up to: https://github.com/n8n-io/n8n/pull/7913

```
 PASS  test/unit/PermissionChecker.test.ts
  check()
    ✓ should allow if workflow has no creds (3 ms)
    ✓ should allow if requesting user is instance owner (83 ms)
    ✓ should allow if workflow creds are valid subset (151 ms)
    ✓ should deny if workflow creds are not valid subset (85 ms)
  checkSubworkflowExecutePolicy()
    no caller policy
      ✓ should fall back to N8N_WORKFLOW_CALLER_POLICY_DEFAULT_OPTION (1 ms)
    overridden caller policy
      ✓ if no sharing, policy becomes workflows-from-same-owner (1 ms)
    workflows-from-list caller policy
      ✓ should allow if caller list contains parent workflow ID
      ✓ should deny if caller list does not contain parent workflow ID (1 ms)
    any caller policy
      ✓ should not throw
    workflows-from-same-owner caller policy
      ✓ should deny if the two workflows are owned by different users (1 ms)
      ✓ should allow if both workflows are owned by the same user
```
...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-08 11:21:43 +01:00
Iván Ovejero c48850d74f
fix(core): Fix expression evaluator filename typo (no-changelog) (#7960)
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-07 17:50:49 +01:00
Iván Ovejero 18bb87ac0c
test(core): Isolate restore binary data ID in execution lifecycle hooks (no-changelog) (#7953)
## Summary
Move guard into restore function, move tests into own suite, add tests
for guard.

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-07 17:30:47 +01:00
Iván Ovejero 1d46983b24
refactor: Unify severity and level for all application errors for Sentry (no-changelog) (#7956)
## Summary
Unify `severity` and `level` for all backend application errors for
Sentry

Follow-up to:
https://github.com/n8n-io/n8n/pull/7914#issuecomment-1840433542

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-07 16:57:02 +01:00
Val 42e828d5c6
fix: Restrict updating/deleting of shared but not owned credentials (#7950)
## Summary

Fix shared members being able to edit and delete credentials they don't
own

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [x] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-07 10:35:40 +00:00
Omar Ajoue 3ba7deb337
fix: Ensure external hooks post workflow execute run in queue mode (#7947)
## Summary
Since 1.8.x a refactor removed the call to `workflow.postExecute`'s
External hook from the execution path. This PR adds it back to the
correct place, where workers are supposed to call this, allowing us to
avoid having to re-read the execution data in the caller just for the
hooks.

It is important to have the hooks running in the worker whenever
possible to prevent having to read the full execution data in the
caller.

#### How to test the change:
1. Use the attached hooks file
[external-hooks.txt](https://github.com/n8n-io/n8n/files/13597270/external-hooks.txt)
setting it up via environment variable using `export
EXTERNAL_HOOK_FILES=/path/to/hooks/external-hooks.js`
2. Set up queue mode loading this file in both main and workers
3. See that the message logs will not be displayed without this fix


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:



## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-07 10:00:05 +00:00
Iván Ovejero 386bd61967
fix(core): Ensure inviter and invitee are set correctly in invite link (#7943)
## Summary
Ensure inviter and invitee are set correctly in invite link

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

https://linear.app/n8n/issue/ADO-1494


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-07 10:53:31 +01:00
Iván Ovejero 3a035cba8b
test(core): Expand user service tests (no-changelog) (#7941)
## Summary
Expand user service tests 

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-07 09:19:16 +01:00
Michael Kret 565b409a82
fix(Webhook Node): Binary data handling (#7804)
Github issue / Community forum post (link here to close automatically):
2023-12-06 17:46:40 +02:00
Csaba Tuncsik c461025f70
test: Add user type of admin to E2E tests (#7935)
## Summary
Extend existing user types in the E2E database. Currently, we have only
owner and member but we need also admin

---------

Co-authored-by: Val <68596159+valya@users.noreply.github.com>
2023-12-06 14:31:06 +01:00
Iván Ovejero 92bab72cff
fix(core): Fix user comparison in same-user subworkflow caller policy (#7913)
https://linear.app/n8n/issue/PAY-992


https://community.n8n.io/t/executing-workflow-using-owner-role-created-by-another-user-fails/33443

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-12-06 12:27:11 +00:00
github-actions[bot] 823b589e09
🚀 Release 1.20.0 (#7940)
#
[1.20.0](https://github.com/n8n-io/n8n/compare/n8n@1.19.0...n8n@1.20.0)
(2023-12-06)


### Bug Fixes

* **AWS DynamoDB Node:** Improve error message parsing
([#7793](https://github.com/n8n-io/n8n/issues/7793))
([5ba5ed8](5ba5ed8e3c))
* **core:** Allow grace period for binary data deletion after manual
execution ([#7889](https://github.com/n8n-io/n8n/issues/7889))
([61d8aeb](61d8aebeaf))
* **core:** Consolidate ownership and sharing data on workflows and
credentials ([#7920](https://github.com/n8n-io/n8n/issues/7920))
([38b88b9](38b88b946b))
* **core:** Fix hard deletes stopping if database query throws
([#7848](https://github.com/n8n-io/n8n/issues/7848))
([46dd4d3](46dd4d3105))
* **core:** Make sure mfa secret and recovery codes are not returned on
login ([#7936](https://github.com/n8n-io/n8n/issues/7936))
([f5502cc](f5502cc628))
* **editor:** Fix deletion of last execution at execution preview
([#7883](https://github.com/n8n-io/n8n/issues/7883))
([ce2d388](ce2d388f05))
* **editor:** Replace isInstanceOwner checks with scopes where
applicable ([#7858](https://github.com/n8n-io/n8n/issues/7858))
([132d691](132d691cbf))
* **Google Sheets Node:** Fix issue with paired items not being set
correctly ([#7862](https://github.com/n8n-io/n8n/issues/7862))
([5207a2f](5207a2fe52))
* **Notion Node:** Fix broken Notion node parameters
([#7864](https://github.com/n8n-io/n8n/issues/7864))
([51d1f5b](51d1f5b820)),
closes [#7791](https://github.com/n8n-io/n8n/issues/7791)


### Features

* **BambooHR Node:** Add support for Only Current on company reports
([#7878](https://github.com/n8n-io/n8n/issues/7878))
([4175801](4175801c90))
* **core:** Allow admin creation
([#7837](https://github.com/n8n-io/n8n/issues/7837))
([476806e](476806ebb0))
* **editor:** Add sections to create node panel
([#7831](https://github.com/n8n-io/n8n/issues/7831))
([39fa8d2](39fa8d21bb))
* **editor:** Open template credential setup from collection
([#7882](https://github.com/n8n-io/n8n/issues/7882))
([627ddb9](627ddb91fb))
* **editor:** Select credentials in template setup if theres only one
([#7879](https://github.com/n8n-io/n8n/issues/7879))
([fe3417a](fe3417a615))


### Performance Improvements

* **editor:** Improve node rendering performance when opening large
workflows ([#7904](https://github.com/n8n-io/n8n/issues/7904))
([a8049a0](a8049a0def))
* **editor:** Improve performance when opening large workflows with node
issues ([#7901](https://github.com/n8n-io/n8n/issues/7901))
([4bd7ae2](4bd7ae29f7))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2023-12-06 12:26:24 +01:00
Ricardo Espinoza f5502cc628
fix(core): Make sure mfa secret and recovery codes are not returned on login (#7936)
## Summary

What: Fix issue of login endpoint returning secret and recovery codes
when MFA is enabled. Bug was introduced in this
[PR](https://github.com/n8n-io/n8n/pull/6994), specifically in this
[line](https://github.com/n8n-io/n8n/pull/6994/files#diff-95a87cb029a3d26e6722df2e68132453fc254fc1f4540cbdaa95cfdbda1893deL91).

Why: We should not be filtering the secret and recovery codes

Same PR caused the issues on ticket ->
https://linear.app/n8n/issue/ADO-1494/on-user-list-copy-password-reset-link-and-copy-invite-link-are-broken

## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [x] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [x] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-06 10:00:13 +01:00
Andrey Starostin 46dd4d3105
fix(core): Fix hard deletes stopping if database query throws (#7848)
I have observed that the next hard deletion timeout is not scheduled if
the `hardDeleteOnPruningCycle` function throws when fetching the data
from the database. That is because the thrown error is not caught and
the `scheduleHardDeletion` method is not called.

This PR moves the call to `scheduleHardDeletion` into the
`scheduleHardDeletion` for better cohesion, and ensures that it is
called even if `hardDeleteOnPruningCycle` throws.
2023-12-05 16:30:32 +01:00
Val 4e55583715
feat: Add admin role to public API (no-changelog) (#7933)
## Summary
Add the admin global role to the public API. This does not include
porting over scopes.

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-05 15:00:14 +00:00
Val 9604b87da9
fix: Return scopes on invitation accept endpoint (no-changelog) (#7917)
## Summary
Return scopes on the invitation accept endpoint. The UI uses information
until the user refreshes the pages so it's causing inconsistency for the
new admin role.

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-05 11:18:41 +01:00
Iván Ovejero 38b88b946b
fix(core): Consolidate ownership and sharing data on workflows and credentials (#7920)
## Summary

Ensure `ownedBy` and `sharedWith` are present and uniform for
credentials and workflows.

Details in story: https://linear.app/n8n/issue/PAY-987
2023-12-05 10:11:18 +01:00
Iván Ovejero 29e7a98f3e
test(core): Use license mocker in RBAC tests (no-changelog) (#7912)
## Summary
Provide details about your pull request and what it adds, fixes, or
changes. Photos and videos are recommended.

...

#### How to test the change:
1. ...


## Issues fixed
Include links to Github issue or Community forum post or **Linear
ticket**:
> Important in order to close automatically and provide context to
reviewers

...


## Review / Merge checklist
- [ ] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md))
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up
ticket created.
- [ ] Tests included.
> A bug is not considered fixed, unless a test is added to prevent it
from happening again. A feature is not complete without tests.
  >
> *(internal)* You can use Slack commands to trigger [e2e
tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227)
or [deploy test
instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce)
or [deploy early access version on
Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e).
2023-12-04 13:56:48 +01:00
Iván Ovejero 50a7401de9
docs: Update breaking changes with binary data TTL note (#7894)
Context:
https://n8nio.slack.com/archives/C035KBDA917/p1701418556761549?thread_ts=1701411854.517989&cid=C035KBDA917
2023-12-01 12:52:12 +01:00
Iván Ovejero 07f6662aba
refactor(core): Add log about removed TTL keys for binary data (#7892)
Context:
https://n8nio.slack.com/archives/C035KBDA917/p1701418556761549?thread_ts=1701411854.517989&cid=C035KBDA917
2023-12-01 12:51:45 +01:00
Iván Ovejero 61d8aebeaf
fix(core): Allow grace period for binary data deletion after manual execution (#7889)
https://linear.app/n8n/issue/PAY-1079
2023-12-01 10:13:53 +01:00
Val 5f4a9524ec
refactor(core): Add central license mock for integration tests (no-changelog) (#7871)
Github issue / Community forum post (link here to close automatically):
2023-11-30 09:23:09 +01:00
Val cd474f1562
feat: Allow owner to share workflows/credentials they don't own (no-changelog) (#7869)
Github issue / Community forum post (link here to close automatically):
2023-11-29 16:32:27 +00:00
Omar Ajoue 74b4513298
feat(core): Add Advanced Permissions to FE settings (no-changelog) (#7867)
Github issue / Community forum post (link here to close automatically):
2023-11-29 15:56:35 +01:00
Val 1cb92ffe16
feat: Replace owner checks with scope checks (no-changelog) (#7846)
Github issue / Community forum post (link here to close automatically):
2023-11-29 14:48:36 +00:00
कारतोफ्फेलस्क्रिप्ट™ 6d9342e676 Merge tag 'n8n@1.19.0' 2023-11-29 14:12:24 +01:00
Iván Ovejero 476806ebb0
feat(core): Allow admin creation (#7837)
https://linear.app/n8n/issue/PAY-1038
2023-11-29 13:55:41 +01:00
github-actions[bot] 303cf31331
🚀 Release 1.19.0 (#7863)
#
[1.19.0](https://github.com/n8n-io/n8n/compare/n8n@1.18.0...n8n@1.19.0)
(2023-11-29)


### Bug Fixes

* **core:** Ensure member and admin cannot be promoted to owner
([#7830](https://github.com/n8n-io/n8n/issues/7830))
([9b87a59](9b87a596ca)),
closes
[/linear.app/n8n/issue/PAY-985/add-user-role-modification-endpoint#comment-62355f6](https://github.com//linear.app/n8n/issue/PAY-985/add-user-role-modification-endpoint/issues/comment-62355f6)
* **core:** Prevent error messages due to statistics about data loading
([#7824](https://github.com/n8n-io/n8n/issues/7824))
([847f6ac](847f6ac771))
* **core:** Tighten checks for multi-main setup usage
([#7788](https://github.com/n8n-io/n8n/issues/7788))
([fdb2c18](fdb2c18ecc))
* **core:** Use AbortController to notify nodes to abort execution
([#6141](https://github.com/n8n-io/n8n/issues/6141))
([d2c18c5](d2c18c5727))
* **editor:** Add telemetry to workflow history
([#7811](https://github.com/n8n-io/n8n/issues/7811))
([d497041](d4970410e1))
* **editor:** Allow owners and admins to share workflows and credentials
they don't own ([#7833](https://github.com/n8n-io/n8n/issues/7833))
([3ab3ec9](3ab3ec9da8))
* **editor:** Disable context menu actions in read-only mode
([#7789](https://github.com/n8n-io/n8n/issues/7789))
([902beff](902beffce5))
* **editor:** Fix cloud plan data loading on instance
([#7841](https://github.com/n8n-io/n8n/issues/7841))
([8b99384](8b99384367))
* **editor:** Fix credential icon for old node type version
([#7843](https://github.com/n8n-io/n8n/issues/7843))
([4074107](4074107511))
* **editor:** Fix icon for unknown node type
([#7842](https://github.com/n8n-io/n8n/issues/7842))
([28ac5a7](28ac5a750e))
* **editor:** Fix mouse position in workflow previews
([#7853](https://github.com/n8n-io/n8n/issues/7853))
([c063398](c0633987bf))
* **editor:** Show nice error when environment is not set up
([#7778](https://github.com/n8n-io/n8n/issues/7778))
([5835e05](5835e055d3))
* **editor:** Suppress dev server websocket messages in workflow view
([#7808](https://github.com/n8n-io/n8n/issues/7808))
([685ffd7](685ffd7413))
* **Google Sheets Node:** Read operation execute for each item
([#7800](https://github.com/n8n-io/n8n/issues/7800))
([d548872](d5488725a8))
* **HTTP Request Node:** Enable expressions for binary input data fields
([#7782](https://github.com/n8n-io/n8n/issues/7782))
([6208af0](6208af07eb))
* **Microsoft SQL Node:** Prevent double escaping table name
([#7801](https://github.com/n8n-io/n8n/issues/7801))
([73ec753](73ec7533ce))


### Features

* Add AI tool building capabilities
([#7336](https://github.com/n8n-io/n8n/issues/7336))
([87def60](87def60979))
* Add initial scope checks via decorators
([#7737](https://github.com/n8n-io/n8n/issues/7737))
([a37f1cb](a37f1cb0ba))
* Ado 1296 spike credential setup in templates
([#7786](https://github.com/n8n-io/n8n/issues/7786))
([aae45b0](aae45b043b))
* **core:** Add Support for custom CORS origins for webhooks
([#7455](https://github.com/n8n-io/n8n/issues/7455))
([99a9ea4](99a9ea497a))
* **core:** Allow user role modification
([#7797](https://github.com/n8n-io/n8n/issues/7797))
([7a86d36](7a86d36068))
* **core:** Set up endpoint for all existing roles with license flag
([#7834](https://github.com/n8n-io/n8n/issues/7834))
([2356fb0](2356fb0f0c))
* **editor:** Add node name and version to NDV node settings
([#7731](https://github.com/n8n-io/n8n/issues/7731))
([da85198](da851986f6))
* **editor:** Add routing middleware, permission checks, RBAC store,
RBAC component ([#7702](https://github.com/n8n-io/n8n/issues/7702))
([67a8891](67a88914f2))
* **editor:** Replace middleware for Role checks with Scope checks
([#7847](https://github.com/n8n-io/n8n/issues/7847))
([72852a6](72852a60eb))
* **editor:** Show avatars for users currently working on the same
workflow ([#7763](https://github.com/n8n-io/n8n/issues/7763))
([77bc8ec](77bc8ecd4b))
* **Notion Node:** Option to simplify output in getChildBlocks operation
([#7791](https://github.com/n8n-io/n8n/issues/7791))
([d667bca](d667bca658))
* **Slack Node:** Add support for getting the profile of a user
([#7829](https://github.com/n8n-io/n8n/issues/7829))
([90bb6ba](90bb6ba417))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2023-11-29 13:17:03 +01:00
Val e282ea242d
fix: Return scopes on owner setup endpoint (no-changelog) (#7860)
Github issue / Community forum post (link here to close automatically):
2023-11-29 11:33:32 +00:00
Iván Ovejero c08c5cc37b
refactor(core): Switch plain errors in cli to ApplicationError (#7857)
Ensure all errors in `cli` are `ApplicationError` or children of it and
contain no variables in the message, to continue normalizing all the
errors we report to Sentry

Follow-up to: https://github.com/n8n-io/n8n/pull/7839
2023-11-29 12:25:10 +01:00
Jan Oberhauser 87def60979
feat: Add AI tool building capabilities (#7336)
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/langchain-memory-chat/23733

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Deborah <deborah@starfallprojects.co.uk>
Co-authored-by: Jesper Bylund <mail@jesperbylund.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Mason Geloso <Mason.geloso@gmail.com>
Co-authored-by: Mason Geloso <hone@Masons-Mac-mini.local>
Co-authored-by: Mutasem Aldmour <mutasem@n8n.io>
2023-11-29 12:13:55 +01:00
Alex Grozav 72852a60eb
feat(editor): Replace middleware for Role checks with Scope checks (#7847) 2023-11-29 10:35:40 +02:00
कारतोफ्फेलस्क्रिप्ट™ 117962d473
feat(core): Update LLM applications building support (no-changelog) (#7710)
extracted out of #7336

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
2023-11-28 16:47:28 +01:00
Iván Ovejero 2356fb0f0c
feat(core): Set up endpoint for all existing roles with license flag (#7834)
https://linear.app/n8n/issue/PAY-1034/create-endpoint-to-list-all-existing-roles
2023-11-28 14:16:47 +01:00
Val a37f1cb0ba
feat: Add initial scope checks via decorators (#7737) 2023-11-28 11:41:34 +00:00
Csaba Tuncsik 3ab3ec9da8
fix(editor): Allow owners and admins to share workflows and credentials they don't own (#7833) 2023-11-28 11:44:55 +01:00
Iván Ovejero 1c6178759c
refactor(core): Reorganize error hierarchy in cli package (no-changelog) (#7839)
Ensure all errors in `cli` inherit from `ApplicationError` to continue
normalizing all the errors we report to Sentry

Follow-up to: https://github.com/n8n-io/n8n/pull/7820
2023-11-28 10:19:27 +01:00
Iván Ovejero 9b87a596ca
fix(core): Ensure member and admin cannot be promoted to owner (#7830)
https://linear.app/n8n/issue/PAY-985/add-user-role-modification-endpoint#comment-62355f6b
2023-11-27 17:35:58 +01:00
Omar Ajoue 847f6ac771
fix(core): Prevent error messages due to statistics about data loading (#7824)
Statistics collection about the first time a workflow loads data simply
attempts an insert to db, and if it fails, we just ignore.

This was causing this query to fire against production workflows
multiple times, and since we want to insert only and detect whether the
insertion failed, performing a select first provides gains both in terms
of performance, as it's usually faster than trying an insertion as well
as preventing unnecessary noise in logs.

Github issue / Community forum post (link here to close automatically):

https://community.n8n.io/t/duplicate-key-value-violates-unique-constraint-workflow-statistics-pkey-still-happening/29283
https://github.com/n8n-io/n8n/issues/7256
https://community.n8n.io/t/error-log-arriving-in-postgres/30191
https://github.com/n8n-io/n8n/issues/7256

https://community.n8n.io/t/cant-launch-webhooks-unable-to-find-data-of-execution/31867

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-27 15:43:48 +01:00
Iván Ovejero dff8456382
refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820)
Ensure all errors in `core` and `workflow` inherit from
`ApplicationError` so that we start normalizing all the errors we report
to Sentry

Follow-up to:
https://github.com/n8n-io/n8n/pull/7757#discussion_r1404338844

### `core` package

`ApplicationError`
- `FileSystemError` (abstract)
	- `FileNotFoundError`
	- `DisallowedFilepathError`
- `BinaryDataError` (abstract)
	- `InvalidModeError`
	- `InvalidManagerError`
- `InvalidExecutionMetadataError`

### `workflow` package

`ApplicationError`
- `ExecutionBaseError` (abstract)
	- `WorkflowActivationError`
		- `WorkflowDeactivationError`
		- `WebhookTakenError`
	- `WorkflowOperationError`
		- `SubworkflowOperationError`
			- `CliWorkflowOperationError`
	- `ExpressionError`
		- `ExpressionExtensionError`
	- `NodeError` (abstract)
		- `NodeOperationError`
		- `NodeApiError`
	- `NodeSSLError`

Up next:
- Reorganize errors in `cli`
- Flatten the hierarchy in `workflow` (do we really need
`ExecutionBaseError`?)
- Remove `ExecutionError` type
- Stop throwing plain `Error`s
- Replace `severity` with `level`
- Add node and credential types as `tags`
- Add workflow IDs and execution IDs as `extras`
2023-11-27 15:33:21 +01:00
Val 27e048c201
feat: Add Licensed decorator (no-changelog) (#7828)
Github issue / Community forum post (link here to close automatically):
2023-11-27 13:46:18 +00:00
Val 5acb7b94c0
refactor: Refactor variables controller into a RestController (no-changelog) (#7822)
Github issue / Community forum post (link here to close automatically):
2023-11-27 12:17:09 +00:00
Iván Ovejero 7b8532d3a3
refactor(core): Move execution progress saving to standalone utility (no-changelog) (#7770)
This PR continues the effort of moving logic inside execution lifecycle
hooks into standalone testable functions, as a stepping stone to
refactoring the hooks themselves.
2023-11-27 13:10:43 +01:00
Iván Ovejero 75a5807c72
perf(core): Make user controller tests faster (no-changelog) (#7819)
Before: `17.949 s`
After: `3.886 s`

Followup to:
https://github.com/n8n-io/n8n/pull/7797#discussion_r1404148034
2023-11-27 11:56:06 +01:00
कारतोफ्फेलस्क्रिप्ट™ 1b60cfb8f1
ci: Fix new user patching endpoint tests (no-changelog) (#7816)
user ids are uuids, and in the future we should add proper input
validation to prevent invalid user ids reaching the DB like this.
2023-11-27 09:35:09 +01:00
Csaba Tuncsik 152883eed1
build: Upgrade lint related packages (#7790) 2023-11-27 09:11:52 +01:00
Iván Ovejero eec2ec1ff8
refactor(core): Consolidate path-related errors in Sentry (no-changelog) (#7757)
Keep reporting [path-related
errors](https://n8nio.sentry.io/issues/4649493725) in Sentry but
consolidate them in a single error group.

Also, add `options.extra` as `meta` so they remain visible in debug
logs:

```
2023-11-24T11:50:54.852Z | error    | ReportableError: Something went wrong "{ test: 123, file: 'LoggerProxy.js', function: 'exports.error' }"
```

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-24 14:42:46 +01:00
Iván Ovejero 7a86d36068
feat(core): Allow user role modification (#7797)
https://linear.app/n8n/issue/PAY-985

```
PATCH /users/:id/role
  unauthenticated user
    ✓ should receive 401 (349 ms)
  member
    ✓ should fail to demote owner to member (349 ms)
    ✓ should fail to demote owner to admin (359 ms)
    ✓ should fail to demote admin to member (381 ms)
    ✓ should fail to promote other member to owner (353 ms)
    ✓ should fail to promote other member to admin (377 ms)
    ✓ should fail to promote self to admin (354 ms)
    ✓ should fail to promote self to owner (371 ms)
  admin
    ✓ should receive 400 on invalid payload (351 ms)
    ✓ should receive 404 on unknown target user (351 ms)
    ✓ should fail to demote owner to admin (349 ms)
    ✓ should fail to demote owner to member (347 ms)
    ✓ should fail to promote member to owner (384 ms)
    ✓ should fail to promote admin to owner (350 ms)
    ✓ should be able to demote admin to member (354 ms)
    ✓ should be able to demote self to member (350 ms)
    ✓ should be able to promote member to admin (349 ms)
  owner
    ✓ should be able to promote member to admin (349 ms)
    ✓ should be able to demote admin to member (349 ms)
    ✓ should fail to demote self to admin (348 ms)
    ✓ should fail to demote self to member (354 ms)
```
2023-11-24 11:40:08 +01:00
Val 865192adf0
feat: Add global admin role (no-changelog) (#7781)
Github issue / Community forum post (link here to close automatically):
2023-11-23 13:38:11 +00:00
Michael Auerswald 5835e055d3
fix(editor): Show nice error when environment is not set up (#7778)
Adds a nicer error message with a link for owners who press Push to Git
without having a repository connected yet.
2023-11-23 13:50:03 +01:00
Iván Ovejero fdb2c18ecc
fix(core): Tighten checks for multi-main setup usage (#7788)
https://n8nio.slack.com/archives/C05HRPLSGTT/p1700731476321999?thread_ts=1700729359.746899&cid=C05HRPLSGTT
2023-11-23 12:18:39 +01:00
Csaba Tuncsik e128b23a2b
build: Upgrade to Vite 5 (#7784) 2023-11-23 11:55:02 +01:00
Milorad FIlipović 77bc8ecd4b
feat(editor): Show avatars for users currently working on the same workflow (#7763)
This PR introduces the following changes:
- New Vue stores: `collaborationStore` and `pushConnectionStore`
- Front-end push connection handling overhaul: Keep only a singe
connection open and handle it from the new store
- Add user avatars in the editor header when there are multiple users
working on the same workflow
- Sending a heartbeat event to back-end service periodically to confirm
user is still active

- Back-end overhauls (authored by @tomi):
  - Implementing a cleanup procedure that removes inactive users
  - Refactoring collaboration service current implementation

---------

Co-authored-by: Tomi Turtiainen <10324676+tomi@users.noreply.github.com>
2023-11-23 10:14:34 +01:00
Michael Kret 99a9ea497a
feat(core): Add Support for custom CORS origins for webhooks (#7455)
node-850
https://community.n8n.io/t/add-ability-to-set-cors-allow-list-in-n8n-webhooks/7610
https://community.n8n.io/t/configure-cors-pre-flight-request-option-method-in-the-roadmap/32189

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-22 17:49:56 +01:00
github-actions[bot] e01617ad64
🚀 Release 1.18.0 (#7780)
#
[1.18.0](https://github.com/n8n-io/n8n/compare/n8n@1.17.0...n8n@1.18.0)
(2023-11-22)


### Bug Fixes

* **core:** Account for non-ASCII chars in filename on binary data
download ([#7742](https://github.com/n8n-io/n8n/issues/7742))
([b4ebb1a](b4ebb1a28d))
* **core:** Correct permissions for getstatus
([#7724](https://github.com/n8n-io/n8n/issues/7724))
([f96c1d2](f96c1d2044))
* **core:** Ensure failed executions are saved in queue mode
([#7744](https://github.com/n8n-io/n8n/issues/7744))
([b7c5c74](b7c5c7406f))
* **core:** Guard against node not found on cancelling test webhook
([#7750](https://github.com/n8n-io/n8n/issues/7750))
([6be453b](6be453b716))
* **editor:** Handle permission edge cases (empty scopes)
([#7723](https://github.com/n8n-io/n8n/issues/7723))
([e2ffd39](e2ffd397fc))
* **editor:** Make sure LineController is registered with chart.js
([#7730](https://github.com/n8n-io/n8n/issues/7730))
([ebee1a5](ebee1a5908))
* **editor:** Move workerview entry into settings menu
([#7761](https://github.com/n8n-io/n8n/issues/7761))
([366cd67](366cd672a7))
* **editor:** Only show push to git menu item to owners
([#7766](https://github.com/n8n-io/n8n/issues/7766))
([0d3d33d](0d3d33dd1f))
* **editor:** Show v1 banner dismiss button if owner
([#7722](https://github.com/n8n-io/n8n/issues/7722))
([44d3b3e](44d3b3ed7e))
* **editor:** Use project diagram icon for worker view
([#7764](https://github.com/n8n-io/n8n/issues/7764))
([ff0b651](ff0b6511f7))
* **editor:** Validate user info before submiting
([#7608](https://github.com/n8n-io/n8n/issues/7608))
([2064f7f](2064f7f251))
* **GitHub Node:** Fix issue preventing file edits on branches
([#7734](https://github.com/n8n-io/n8n/issues/7734))
([ce002a6](ce002a6cc6))
* **Google Sheets Node:** Check for `null` before destructuring
([#7729](https://github.com/n8n-io/n8n/issues/7729))
([5d4a52d](5d4a52d3b7))
* **Item Lists Node:** Don't check same type in remove duplicates
operation ([#7678](https://github.com/n8n-io/n8n/issues/7678))
([4f30764](4f307646f3))
* **JotForm Trigger Node:** Fix iteration on form loader
([#7751](https://github.com/n8n-io/n8n/issues/7751))
([82f3202](82f3202a2d))


### Features

* Add Creator hub link to Templates page
([#7721](https://github.com/n8n-io/n8n/issues/7721))
([4dbae0e](4dbae0e2e9))
* **core:** Coordinate manual workflow activation and deactivation in
multi-main scenario ([#7643](https://github.com/n8n-io/n8n/issues/7643))
([4c40825](4c4082503c))
* **editor:** Add node context menu
([#7620](https://github.com/n8n-io/n8n/issues/7620))
([8d12c1a](8d12c1ad8d))
* **editor:** Node IO filter
([#7503](https://github.com/n8n-io/n8n/issues/7503))
([1881765](18817651ec))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2023-11-22 14:32:25 +01:00
कारतोफ्फेलस्क्रिप्ट™ db77353272
fix(core): Pass correct node reference to NodeExecuteFunctions.getLoadOptionsFunctions (no-changelog) (#7779)
NODE-947
2023-11-22 13:24:23 +01:00
Milorad FIlipović 2064f7f251
fix(editor): Validate user info before submiting (#7608)
Validate first and last names before saving them to database. This
should prevent security issue with un-sanitized data that ends up in
emails.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-22 12:14:44 +01:00
कारतोफ्फेलस्क्रिप्ट™ 9b4856e7de
feat(core): Make postgres pool-size configurable (no-changelog) (#7772)
When we upgrade typeorm in #5151, we switched from no pooling to a
default pool-size of 10. This somehow significantly deteriorates the
performance of queries when the application is under load.
2023-11-21 18:13:08 +01:00
Iván Ovejero 3459eb6c2f
refactor(core): Include execution progress in save settings (no-changelog) (#7769) 2023-11-21 17:33:44 +01:00
Iván Ovejero b7c5c7406f
fix(core): Ensure failed executions are saved in queue mode (#7744)
This PR adds `status` to run data so that
`determineFinalExecutionStatus` resolves correctly on execution failure
and removes the cleanup that is being duplicated in a worker hook.

Followup to https://github.com/n8n-io/n8n/pull/7138

Should fix:
- https://github.com/n8n-io/n8n/issues/7705
-
https://linear.app/n8n/issue/PAY-964/no-execution-found-after-execution-fails
-
https://linear.app/n8n/issue/PAY-1010/execution-deletion-in-queue-mode-not-complying-with-settings
2023-11-20 16:03:02 +01:00
Iván Ovejero 6d19f88080
refactor(core): Stop reporting to Sentry unknown cred on mapping (no-changelog) (#7752)
https://n8nio.sentry.io/issues/4563418905
2023-11-17 16:17:44 +01:00
Iván Ovejero 4c4082503c
feat(core): Coordinate manual workflow activation and deactivation in multi-main scenario (#7643)
Followup to #7566 | Story: https://linear.app/n8n/issue/PAY-926

### Manual workflow activation and deactivation

In a multi-main scenario, if the user manually activates or deactivates
a workflow, the process (whether leader or follower) that handles the
PATCH request and updates its internal state should send a message into
the command channel, so that all other main processes update their
internal state accordingly:

- Add to `ActiveWorkflows` if activating
- Remove from `ActiveWorkflows` if deactivating
- Remove and re-add to `ActiveWorkflows` if the update did not change
activation status.

After updating their internal state, if activating or deactivating, the
recipient main processes should push a message to all connected
frontends so that these can update their stores and so reflect the value
in the UI.

### Workflow activation errors

On failure to activate a workflow, the main instance should record the
error in Redis - main instances should always pull activation errors
from Redis in a multi-main scenario.

### Leadership change

On leadership change...

- The old leader should stop pruning and the new leader should start
pruning.
- The old leader should remove trigger- and poller-based workflows and
the new leader should add them.
2023-11-17 15:58:50 +01:00
कारतोफ्फेलस्क्रिप्ट™ db094f2d7e
fix(core): Fix all dependency versions for backend packages (no-changelog) (#7745)
Once the packages are published to NPM, they don't have the
`pnpm-lock.yaml` to fix dependency versions. Which means that any
dependency with `^` gets auto-upgrade to the latest matching minor,
which can cause issues like
[this](https://github.com/node-cache-manager/node-cache-manager/issues/611).
2023-11-17 13:49:18 +01:00
कारतोफ्फेलस्क्रिप्ट™ fc60e9a809
refactor(core): Convert dynamic node-parameter routes to a decorated controller (no-changelog) (#7284)
1. Reduce a lot of code duplication
2. Move more endpoints out of `Server.ts`
3. Move all query-param parsing and validation into a middleware to make
the route handlers simpler.
2023-11-17 12:03:05 +01:00
Iván Ovejero 0408299c7d
refactor(core): Stop reporting to Sentry unrecognized node errors (no-changelog) (#7728)
https://n8nio.sentry.io/issues/4636584213
2023-11-17 10:25:10 +01:00
Iván Ovejero b4ebb1a28d
fix(core): Account for non-ASCII chars in filename on binary data download (#7742)
https://n8nio.sentry.io/issues/4641538638
2023-11-17 10:07:44 +01:00
Ricardo Espinoza 8e0ae3cf8c
refactor: Extract Invitation routes to InvitationController (no-changelog) (#7726)
This PR:

- Creates `InvitationController`
- Moves `POST /users` to `POST /invitations` and move related test to
`invitations.api.tests`
- Moves `POST /users/:id` to `POST /invitations/:id/accept` and move
related test to `invitations.api.tests`
- Adjusts FE to use new endpoints
- Moves all the invitation logic to the `UserService`

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-16 12:39:43 -05:00
Csaba Tuncsik e2ffd397fc
fix(editor): Handle permission edge cases (empty scopes) (#7723) 2023-11-16 18:08:23 +01:00
Val d39bb2540f
feat: Add scopes to /login endpoint (no-changelog) (#7718)
Github issue / Community forum post (link here to close automatically):
2023-11-16 11:11:55 +00:00
Michael Auerswald f96c1d2044
fix(core): Correct permissions for getstatus (#7724) 2023-11-15 16:54:33 +01:00
github-actions[bot] 93103c0b08
🚀 Release 1.17.0 (#7720)
#
[1.17.0](https://github.com/n8n-io/n8n/compare/n8n@1.16.0...n8n@1.17.0)
(2023-11-15)


### Bug Fixes

* **Convert to/from binary data Node:** Better mime type defaults
([#7693](https://github.com/n8n-io/n8n/issues/7693))
([9b3be0c](9b3be0cfd8))
* **core:** Consider subworkflows successfully run when in waiting state
([#7699](https://github.com/n8n-io/n8n/issues/7699))
([0e00dab](0e00dab9f5))
* **core:** Fix named parameter resolution in migrations
([#7688](https://github.com/n8n-io/n8n/issues/7688))
([4441ed5](4441ed5116)),
closes [#7628](https://github.com/n8n-io/n8n/issues/7628)
* **core:** Initialize JWT Secret before it's used anywhere
([#7707](https://github.com/n8n-io/n8n/issues/7707))
([3460eb5](3460eb5eeb))
* **core:** Reduce memory usage in credentials risk auditing
([#7663](https://github.com/n8n-io/n8n/issues/7663))
([9fd6319](9fd6319583))
* **Date & Time Node:** Add fromFormat option to solve ambiguous date
strings ([#7675](https://github.com/n8n-io/n8n/issues/7675))
([d2d11e0](d2d11e0208))
* **editor:** Fix resource mapper component being truncated
([#7664](https://github.com/n8n-io/n8n/issues/7664))
([00dff50](00dff50140))
* **editor:** More securely clear executions tab auto refresh timer
([#7685](https://github.com/n8n-io/n8n/issues/7685))
([37dd658](37dd658dc5))
* **editor:** Redirect to workflow editor after saving in debug mode
([#7645](https://github.com/n8n-io/n8n/issues/7645))
([020042e](020042ef1a))
* **Google Sheets Node:** Append exceeding grid limits
([#7684](https://github.com/n8n-io/n8n/issues/7684))
([88efb99](88efb99587))
* **HTTP Request Node:** Support generic credentials when using
pagination ([#7686](https://github.com/n8n-io/n8n/issues/7686))
([48b240b](48b240b026)),
closes [#7653](https://github.com/n8n-io/n8n/issues/7653)
* **HubSpot Node:** Fetching available parameters fails when using
expressions ([#7672](https://github.com/n8n-io/n8n/issues/7672))
([a9ab738](a9ab73896e))
* **HubSpot Node:** Update deal owner on Hubspot Deal
([#7673](https://github.com/n8n-io/n8n/issues/7673))
([3c0734b](3c0734bd2d))
* **Spreadsheet File Node:** Read file as utf-8 in v1
([#7701](https://github.com/n8n-io/n8n/issues/7701))
([786b4ad](786b4adcce))


### Features

* **core:** Expression function $ifEmpty
([#7660](https://github.com/n8n-io/n8n/issues/7660))
([1c7225e](1c7225ebdb))
* **Date & Time Node:** Option to include other fields in output item
([#7661](https://github.com/n8n-io/n8n/issues/7661))
([aea3c50](aea3c50131))
* **Discord Node:** Overhaul
([#5351](https://github.com/n8n-io/n8n/issues/5351))
([6a53c2a](6a53c2a375))
* **Discourse Node:** Add new options to Get Users
([#7674](https://github.com/n8n-io/n8n/issues/7674))
([2e8c841](2e8c841277))
* **editor:** Add color selector to sticky node
([#7453](https://github.com/n8n-io/n8n/issues/7453))
([8359364](8359364536))
* **editor:** Add HTTP request nodes for credentials without a node
([#7157](https://github.com/n8n-io/n8n/issues/7157))
([14035e1](14035e1244))
* **editor:** Add workflow filters to querystring
([#7456](https://github.com/n8n-io/n8n/issues/7456))
([afd637b](afd637b5ea))
* **editor:** Adds a EE view to show worker details and job status
([#7600](https://github.com/n8n-io/n8n/issues/7600))
([cbc6909](cbc690907f))
* **GitLab Node:** Add support for pagination on getIssues
([#7529](https://github.com/n8n-io/n8n/issues/7529))
([0a0798e](0a0798e485))
* **OpenAI Node:** Add dall-e-3 support
([#7655](https://github.com/n8n-io/n8n/issues/7655))
([a9c7188](a9c7188c4d))
* **RabbitMQ Trigger Node:** Add exchange and routing key options
([#7547](https://github.com/n8n-io/n8n/issues/7547))
([5aee2b7](5aee2b768f))
* **Telegram Node:** Add support for markdownv2
([#7679](https://github.com/n8n-io/n8n/issues/7679))
([819b3a7](819b3a746a))
* **Venafi TLS Protect Cloud Node:** Add region parameter to Venafi
protect cloud ([#7689](https://github.com/n8n-io/n8n/issues/7689))
([a08fca5](a08fca51d9))


### Performance Improvements

* **core:** Lazyload security audit reporters
([#7696](https://github.com/n8n-io/n8n/issues/7696))
([b2ca050](b2ca050031))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2023-11-15 15:18:08 +01:00
कारतोफ्फेलस्क्रिप्ट™ 2844ce2bd2
ci: Fix env issues in e2e tests (no-changelog) (#7719) 2023-11-15 13:58:38 +01:00
Ricardo Espinoza 4020c14d59
refactor: Use POST /users to re-invite users (no-changelog) (#7714) 2023-11-15 06:40:57 -05:00
कारतोफ्फेलस्क्रिप्ट™ 3460eb5eeb
fix(core): Initialize JWT Secret before it's used anywhere (#7707)
HELP-394
2023-11-15 12:17:18 +01:00
कारतोफ्फेलस्क्रिप्ट™ 4441ed5116
fix(core): Fix named parameter resolution in migrations (#7688)
Fixes #7628
2023-11-15 10:31:08 +01:00
Michael Auerswald 0e00dab9f5
fix(core): Consider subworkflows successfully run when in waiting state (#7699)
Github issue / Community forum post (link here to close automatically):
https://github.com/n8n-io/n8n/issues/7189
2023-11-14 11:04:24 +01:00
Elias Meire 14035e1244
feat(editor): Add HTTP request nodes for credentials without a node (#7157)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-13 12:11:16 +01:00
Iván Ovejero b2ca050031
perf(core): Lazyload security audit reporters (#7696)
Also converting to service.

Followup to https://github.com/n8n-io/n8n/pull/7663
2023-11-13 11:50:43 +01:00
Michael Auerswald cbc690907f
feat(editor): Adds a EE view to show worker details and job status (#7600)
This change expands on the command channel communication introduced
lately between the main instance(s) and the workers. The frontend gets a
new menu entry "Workers" which will, when opened, trigger a regular call
to getStatus from the workers. The workers then respond via their
response channel to the backend, which then pushes the status to the
frontend.
This introduces the use of ChartJS for metrics.
This feature is still in MVP state and thus disabled by default for the
moment.
2023-11-10 23:48:31 +01:00
Ricardo Espinoza 0ddafd2b82
test: Unify users.controller.test and users.api.test (no-changelog) (#7658)
Groundwork to be able to safely refactor and move the invitation logic
to the UserService.

Fixes ADO-1358

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-10 09:41:58 -05:00
कारतोफ्फेलस्क्रिप्ट™ 000e76e3b4
ci(core): Reduce memory usage in tests (part-2) (no-changelog) (#7671)
This also gets rid of `Db.collection`, which was another source of
circular dependencies.
2023-11-10 15:04:26 +01:00
Iván Ovejero f73a0597ba
refactor: Add rule no-constant-binary-expression (no-changelog) (#7670)
https://eslint.org/docs/latest/rules/no-constant-binary-expression
2023-11-09 17:50:59 +01:00
कारतोफ्फेलस्क्रिप्ट™ 9fd6319583
fix(core): Reduce memory usage in credentials risk auditing (#7663) 2023-11-09 14:39:16 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5edf722209
ci: Stop disabling linting rules that are explicitly set to warn (no-changelog) (#7669) 2023-11-09 14:05:39 +01:00
Iván Ovejero 16a1a92f18
refactor(core): Stop reporting to Sentry credential-not-found error (no-changelog) (#7665)
https://n8nio.sentry.io/issues/4528134408
2023-11-09 10:55:13 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0346b211a7
ci(core): Reduce memory usage in tests (part-1) (no-changelog) (#7654) 2023-11-08 16:29:39 +01:00
github-actions[bot] e5c6a1bdf9
🚀 Release 1.16.0 (#7652)
#
[1.16.0](https://github.com/n8n-io/n8n/compare/n8n@1.15.1...n8n@1.16.0)
(2023-11-08)


### Bug Fixes

* **core:** Comply with custom default for workflow saving settings
([#7634](https://github.com/n8n-io/n8n/issues/7634))
([48c068f](48c068f97b))
* **core:** Decrease reset password token expire time
([#7598](https://github.com/n8n-io/n8n/issues/7598))
([2aa7f63](2aa7f6375a))
* **core:** Ensure `init` before checking leader or follower in
multi-main scenario ([#7621](https://github.com/n8n-io/n8n/issues/7621))
([a994ba5](a994ba5e8d))
* **core:** Ensure pruning starts only after migrations have completed
([#7626](https://github.com/n8n-io/n8n/issues/7626))
([f748de9](f748de9567))
* **core:** Fix accessor error when running partial execution
([#7618](https://github.com/n8n-io/n8n/issues/7618))
([26361df](26361dfcd3)),
closes [#6229](https://github.com/n8n-io/n8n/issues/6229)
* **core:** Make password-reset urls valid only for single-use
([#7622](https://github.com/n8n-io/n8n/issues/7622))
([6031424](60314248f4))
* **Crypto Node:** Fix issue with value not appearing for Sign action
([#7619](https://github.com/n8n-io/n8n/issues/7619))
([5df583f](5df583f783))
* **editor:** Allow overriding theme from query params
([#7591](https://github.com/n8n-io/n8n/issues/7591))
([2854a0c](2854a0cf46))
* **editor:** Fix issue that frontend breaks with unkown nodes
([#7596](https://github.com/n8n-io/n8n/issues/7596))
([db56a9e](db56a9ee37))
* **editor:** Fix local storage flags defaulting to undefined string
([#7603](https://github.com/n8n-io/n8n/issues/7603))
([151e60f](151e60f829))
* **editor:** Fix workflow history prune time limit (getting hours
instead of days) ([#7644](https://github.com/n8n-io/n8n/issues/7644))
([3d5a485](3d5a485bcf))
* **editor:** Hide not supported node options
([#7597](https://github.com/n8n-io/n8n/issues/7597))
([b532a7b](b532a7bdb7))
* **editor:** Remove unknown credentials on pasting workflow
([#7582](https://github.com/n8n-io/n8n/issues/7582))
([d633753](d633753687))
* **editor:** Reset canvas zoom before workspace reset in node view
([#7625](https://github.com/n8n-io/n8n/issues/7625))
([78b84af](78b84af8d1))
* **editor:** Zoom in/out on canvas the same amount on scroll/gesture
([#7602](https://github.com/n8n-io/n8n/issues/7602))
([c92402a](c92402a3ca))
* **Facebook Lead Ads Trigger Node:** Fix issue with missing scope for
business management ([#7616](https://github.com/n8n-io/n8n/issues/7616))
([32b85ba](32b85ba2fe))


### Features

* **core:** Add the node version to telemetry in node_graph_string
([#7449](https://github.com/n8n-io/n8n/issues/7449))
([59dc36a](59dc36abd9))
* **core:** Coordinate workflow activation in multiple main scenario in
internal API ([#7566](https://github.com/n8n-io/n8n/issues/7566))
([c857e42](c857e42677))
* **core:** Initial support for two-way communication over websockets
([#7570](https://github.com/n8n-io/n8n/issues/7570))
([ac87701](ac877014ed))
* **core:** Log executed migrations with info level
([#7586](https://github.com/n8n-io/n8n/issues/7586))
([7dac9ab](7dac9ab82c))
* **core:** Rate limit forgot password endpoint
([#7604](https://github.com/n8n-io/n8n/issues/7604))
([5790e25](5790e251b8))
* **LinkedIn Node:** Add support for Article thumbnails
([#7489](https://github.com/n8n-io/n8n/issues/7489))
([e6d3d1a](e6d3d1a4c2))
* **NocoDB Node:** Add new data apis and workspace support
([#7329](https://github.com/n8n-io/n8n/issues/7329))
([da2d2a8](da2d2a83bb))

Co-authored-by: ivov <ivov@users.noreply.github.com>
2023-11-08 14:20:22 +01:00
Iván Ovejero 3a776e0132
refactor(core): Stop reporting to Sentry missing-node-on-retry error (no-changelog) (#7648)
https://n8nio.sentry.io/issues/4612370603
2023-11-08 10:09:33 +01:00
Iván Ovejero 48c068f97b
fix(core): Comply with custom default for workflow saving settings (#7634)
https://linear.app/n8n/issue/PAY-982
2023-11-07 16:26:55 +01:00
Tomi Turtiainen ac877014ed
feat(core): Initial support for two-way communication over websockets (#7570)
- Enable two-way communication with web sockets
- Enable sending push messages to specific users
- Add collaboration service for managing active users for workflow

Missing things:
- State is currently kept only in memory, making this not work in
multi-master setups
- Removing a user from active users in situations where they go inactive
or we miss the "workflow closed" message
- I think a timer based solution for this would cover most edge cases.
I.e. have FE ping every X minutes, BE removes the user unless they have
received a ping in Y minutes, where Y > X
- FE changes to be added later by @MiloradFilipovic 

Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-07 17:26:45 +02:00
कारतोफ्फेलस्क्रिप्ट™ f0fc5b16d3
ci(core): Load config schema after process.env has been overwritten (no-changelog) (#7550) 2023-11-07 15:58:28 +01:00
कारतोफ्फेलस्क्रिप्ट™ 60314248f4
fix(core): Make password-reset urls valid only for single-use (#7622) 2023-11-07 15:35:43 +01:00
Ricardo Espinoza b3470fd64d
fix: Error handling on forgot password page (no-changelog) (#7633)
fixes:
https://linear.app/n8n/issue/ADO-1339/fix-error-handling-on-forgot-password-page
2023-11-07 08:45:58 -05:00
Iván Ovejero f748de9567
fix(core): Ensure pruning starts only after migrations have completed (#7626)
https://linear.app/n8n/issue/PAY-986/bug-execution-pruning-timer-is-started-before-the-database-is-ready

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-11-07 13:56:01 +01:00
Iván Ovejero c857e42677
feat(core): Coordinate workflow activation in multiple main scenario in internal API (#7566)
Story: https://linear.app/n8n/issue/PAY-926

This PR coordinates workflow activation on instance startup and on
leadership change in multiple main scenario in the internal API. Part 3
on manual workflow activation and deactivation will be a separate PR.

### Part 1: Instance startup

In multi-main scenario, on starting an instance...
- [x] If the instance is the leader, it should add webhooks, triggers
and pollers.
- [x] If the instance is the follower, it should not add webhooks,
triggers or pollers.
- [x] Unit tests.

### Part 2: Leadership change 

In multi-main scenario, if the main instance leader dies…

- [x] The new main instance leader must activate all trigger- and
poller-based workflows, excluding webhook-based workflows.
- [x] The old main instance leader must deactivate all trigger- and
poller-based workflows, excluding webhook-based workflows.
- [x] Unit tests.

To test, start two instances and check behavior on startup and
leadership change:

```
EXECUTIONS_MODE=queue N8N_LEADER_SELECTION_ENABLED=true N8N_LICENSE_TENANT_ID=... N8N_LICENSE_ACTIVATION_KEY=... N8N_LOG_LEVEL=debug npm run start

EXECUTIONS_MODE=queue N8N_LEADER_SELECTION_ENABLED=true N8N_LICENSE_TENANT_ID=... N8N_LICENSE_ACTIVATION_KEY=... N8N_LOG_LEVEL=debug N8N_PORT=5679 npm run start
```
2023-11-07 13:48:48 +01:00
Iván Ovejero a994ba5e8d
fix(core): Ensure init before checking leader or follower in multi-main scenario (#7621)
This PR ensures `MultiMainInstancePublisher` is initialized before
checking if the instance is leader or follower. Followers skip license
init, license check, and pruning start and stop.
2023-11-06 12:03:35 +01:00
Ricardo Espinoza 5790e251b8
feat(core): Rate limit forgot password endpoint (#7604)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2023-11-03 13:44:12 -04:00
कारतोफ्फेलस्क्रिप्ट™ acec9bad71
refactor(core): Convert OAuth1/OAuth2 routes to decorated controller classes (no-changelog) (#5973) 2023-11-03 17:20:54 +01:00
Tomi Turtiainen 2aa7f6375a
fix(core): Decrease reset password token expire time (#7598)
Decrease the expiration time from 1 day to 20 minutes

Github issue / Community forum post (link here to close automatically):
2023-11-03 13:32:08 +02:00
कारतोफ्फेलस्क्रिप्ट™ bb2c266e48 Merge tag 'n8n@1.15.1' 2023-11-02 18:11:06 +01:00
github-actions[bot] fbce8f5298
🚀 Release 1.15.1 (#7592)
##
[1.15.1](https://github.com/n8n-io/n8n/compare/n8n@1.14.0...n8n@1.15.1)
(2023-11-02)


### Bug Fixes

* **core:** Ensure execution deletion in worker lifecycle hook
([#7481](https://github.com/n8n-io/n8n/issues/7481))
([742c8a8](742c8a8534))
* **core:** Fix data encryption on credentials import
([#7560](https://github.com/n8n-io/n8n/issues/7560))
([b350568](b350568505))
* **core:** Fix issue that prevents owner logging in when using ldap
([#7408](https://github.com/n8n-io/n8n/issues/7408))
([479f902](479f90231d))
* **core:** Handle missing resultData in runData
([#7523](https://github.com/n8n-io/n8n/issues/7523))
([1055bd3](1055bd3762))
* **core:** Permission check for subworkflow properly checking for
workflow settings ([#7576](https://github.com/n8n-io/n8n/issues/7576))
([437c95e](437c95e84e))
* **core:** Prevent executions from becoming forever running
([#7569](https://github.com/n8n-io/n8n/issues/7569))
([9bdb85c](9bdb85c4ce))
* **core:** Upgrade crypto-js to address CVE-2023-46233
([#7519](https://github.com/n8n-io/n8n/issues/7519))
([65e5593](65e5593233))
* **editor:** Do not truncate form inputs
([#7528](https://github.com/n8n-io/n8n/issues/7528))
([ae616f1](ae616f146b))
* **editor:** Fix NDV close after using input select
([#7544](https://github.com/n8n-io/n8n/issues/7544))
([3b5e181](3b5e181e66))
* **editor:** Fix NDV unexpected re-render
([#7532](https://github.com/n8n-io/n8n/issues/7532))
([2853fcf](2853fcff73))
* **editor:** Fix route component caching, incorrect use of array reduce
method and enable WF history feature
([#7434](https://github.com/n8n-io/n8n/issues/7434))
([12a89e6](12a89e6d14))
* **editor:** Fixes the issue that Switch Node can not be created
([#7516](https://github.com/n8n-io/n8n/issues/7516))
([df89685](df89685e15))
* **editor:** Handle `localStorage` being blocked/unavailable
([#7348](https://github.com/n8n-io/n8n/issues/7348))
([c05bc67](c05bc6728d))
* Fix dark mode small issues
([#7573](https://github.com/n8n-io/n8n/issues/7573))
([1d81afc](1d81afcbdf))
* **Jira Software Node:** Handle missing issue types in issue types
loader ([#7534](https://github.com/n8n-io/n8n/issues/7534))
([9762705](9762705833))
* **Switch Node:** Allow sortable Switch rules
([#7555](https://github.com/n8n-io/n8n/issues/7555))
([7a56e58](7a56e58a60))


### Features

* **core:** Add optional Error-Output
([#7460](https://github.com/n8n-io/n8n/issues/7460))
([655efea](655efeaf66))
* **core:** Make queue mode settings configurable
([#7526](https://github.com/n8n-io/n8n/issues/7526))
([3d95b24](3d95b243e9))
* **core:** Set up leader selection for multiple main instances
([#7527](https://github.com/n8n-io/n8n/issues/7527))
([442c73e](442c73e63b))
* **editor:** Implement the `UserStack` design system component
([#7559](https://github.com/n8n-io/n8n/issues/7559))
([ce14f62](ce14f6266b))
* **HTTP Request Node:** Add pagination support
([#5993](https://github.com/n8n-io/n8n/issues/5993))
([cc2bd2e](cc2bd2e19c))
* **HTTP Request Node:** Update icon and default color
([#7572](https://github.com/n8n-io/n8n/issues/7572))
([ff279ab](ff279ab411))
* **n8n Form Trigger Node:** Add text area and password input types
([#7474](https://github.com/n8n-io/n8n/issues/7474))
([b72040a](b72040aa54))
* **editor:** Dark mode is here! You can change it under personal
settings.([#6980](https://github.com/n8n-io/n8n/pull/6980))
([0746783](0746783e02))

---------

Co-authored-by: krynble <krynble@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-11-02 14:52:11 +01:00
Iván Ovejero 1c77d6597f
refactor(core): Ensure only leader handles licensing in multi-main scenario (#7558)
https://linear.app/n8n/issue/PAY-953/ensure-only-main-instance-leader-handles-licensing
2023-11-02 14:16:22 +01:00
Tomi Turtiainen 7dac9ab82c
feat(core): Log executed migrations with info level (#7586)
To help debugging possible issues in startup and migrations, log the
executed migrations with log level 'info', instead of 'debug'.

Github issue / Community forum post (link here to close automatically):
2023-11-02 14:24:04 +02:00
Iván Ovejero 921d213ae5
refactor(core): Create pruning service (no-changelog) (#7564)
https://linear.app/n8n/issue/PAY-954/ensure-only-main-instance-leader-handles-pruning
2023-11-02 12:24:25 +01:00
github-actions[bot] 73e9a216b7
🚀 Release 1.15.0 (#7580)
#
[1.15.0](https://github.com/n8n-io/n8n/compare/n8n@1.14.0...n8n@1.15.0)
(2023-11-02)


### Bug Fixes

* **core:** Ensure execution deletion in worker lifecycle hook
([#7481](https://github.com/n8n-io/n8n/issues/7481))
([742c8a8](742c8a8534))
* **core:** Fix data encryption on credentials import
([#7560](https://github.com/n8n-io/n8n/issues/7560))
([b350568](b350568505))
* **core:** Fix issue that prevents owner logging in when using ldap
([#7408](https://github.com/n8n-io/n8n/issues/7408))
([479f902](479f90231d))
* **core:** Handle missing resultData in runData
([#7523](https://github.com/n8n-io/n8n/issues/7523))
([1055bd3](1055bd3762))
* **core:** Permission check for subworkflow properly checking for
workflow settings ([#7576](https://github.com/n8n-io/n8n/issues/7576))
([437c95e](437c95e84e))
* **core:** Prevent executions from becoming forever running
([#7569](https://github.com/n8n-io/n8n/issues/7569))
([9bdb85c](9bdb85c4ce))
* **core:** Upgrade crypto-js to address CVE-2023-46233
([#7519](https://github.com/n8n-io/n8n/issues/7519))
([65e5593](65e5593233))
* **editor:** Do not truncate form inputs
([#7528](https://github.com/n8n-io/n8n/issues/7528))
([ae616f1](ae616f146b))
* **editor:** Fix NDV close after using input select
([#7544](https://github.com/n8n-io/n8n/issues/7544))
([3b5e181](3b5e181e66))
* **editor:** Fix NDV unexpected re-render
([#7532](https://github.com/n8n-io/n8n/issues/7532))
([2853fcf](2853fcff73))
* **editor:** Fix route component caching, incorrect use of array reduce
method and enable WF history feature
([#7434](https://github.com/n8n-io/n8n/issues/7434))
([12a89e6](12a89e6d14))
* **editor:** Fixes the issue that Switch Node can not be created
([#7516](https://github.com/n8n-io/n8n/issues/7516))
([df89685](df89685e15))
* **editor:** Handle `localStorage` being blocked/unavailable
([#7348](https://github.com/n8n-io/n8n/issues/7348))
([c05bc67](c05bc6728d))
* **Jira Software Node:** Handle missing issue types in issue types
loader ([#7534](https://github.com/n8n-io/n8n/issues/7534))
([9762705](9762705833))
* **Switch Node:** Allow sortable Switch rules
([#7555](https://github.com/n8n-io/n8n/issues/7555))
([7a56e58](7a56e58a60))


### Features

* **core:** Add optional Error-Output
([#7460](https://github.com/n8n-io/n8n/issues/7460))
([655efea](655efeaf66))
* **core:** Make queue mode settings configurable
([#7526](https://github.com/n8n-io/n8n/issues/7526))
([3d95b24](3d95b243e9))
* **core:** Set up leader selection for multiple main instances
([#7527](https://github.com/n8n-io/n8n/issues/7527))
([442c73e](442c73e63b))
* **editor:** Implement the `UserStack` design system component
([#7559](https://github.com/n8n-io/n8n/issues/7559))
([ce14f62](ce14f6266b))
* **HTTP Request Node:** Add pagination support
([#5993](https://github.com/n8n-io/n8n/issues/5993))
([cc2bd2e](cc2bd2e19c))
* **HTTP Request Node:** Update icon and default color
([#7572](https://github.com/n8n-io/n8n/issues/7572))
([ff279ab](ff279ab411))
* **n8n Form Trigger Node:** Add text area and password input types
([#7474](https://github.com/n8n-io/n8n/issues/7474))
([b72040a](b72040aa54))
* **editor:** Dark mode is here! You can change it under personal
settings.([#6980](https://github.com/n8n-io/n8n/pull/6980))
([0746783](0746783e02))

---------

Co-authored-by: krynble <krynble@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-11-02 11:47:11 +01:00
Jon 479f90231d
fix(core): Fix issue that prevents owner logging in when using ldap (#7408)
This PR prioritises the internal email account over LDAP for the Owner.

---------

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2023-11-01 23:02:49 -04:00
Omar Ajoue 437c95e84e
fix(core): Permission check for subworkflow properly checking for workflow settings (#7576)
The `sharing` related code is legacy that was not removed. Subworkflow
execution should check workflow settings alone, and this is now
reflected in the code.

Github issue / Community forum post (link here to close automatically):

https://community.n8n.io/t/bug-when-using-the-execute-workflow-node-when-workflow-is-shared/32207

---------

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-11-01 18:31:34 +01:00
कारतोफ्फेलस्क्रिप्ट™ 9bdb85c4ce
fix(core): Prevent executions from becoming forever running (#7569)
Fixes CP-867
Possibly also fixes PAY-323 and PAY-412
2023-11-01 13:51:13 +01:00
Yoshino-s b72040aa54
feat(n8n Form Trigger Node): Add text area and password input types (#7474)
Signed-off-by: yoshino-s <cy-cui@outlook.com>
2023-11-01 12:23:28 +00:00
Michael Auerswald b350568505
fix(core): Fix data decryption on credentials import (#7560)
Due to a change, during the credentials import command, the core's
Credential object is being called through its prototype. This caused the
Credential's cipher variable to not be set, thus no cipher service being
available during import. This fix catches this edge case and provides a
fix.
2023-10-31 13:15:09 +01:00
Jan Oberhauser 655efeaf66
feat(core): Add optional Error-Output (#7460)
Add an additional optional error output to which all items get sent that
could not be processed.
![Screenshot from 2023-10-18
17-29-15](https://github.com/n8n-io/n8n/assets/6249596/e9732807-ab2b-4662-a5f6-bdff24f7ad55)

Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/error-connector-for-nodes/3094

https://community.n8n.io/t/error-handling-at-node-level-detect-node-execution-status/26791

---------

Co-authored-by: OlegIvaniv <me@olegivaniv.com>
2023-10-30 18:42:47 +01:00
Iván Ovejero 442c73e63b
feat(core): Set up leader selection for multiple main instances (#7527)
https://linear.app/n8n/issue/PAY-933/set-up-leader-selection-for-multiple-main-instances

- [x] Set up new envs
- [x] Add config and license checks
- [x] Implement `MultiMainInstancePublisher`
- [x] Expand `RedisServicePubSubPublisher` to support
`MultiMainInstancePublisher`
- [x] Init `MultiMainInstancePublisher` on startup and destroy on
shutdown
- [x] Add to sandbox plans
- [x] Test manually

Note: This is only for setup - coordinating in reaction to leadership
changes will come in later PRs.
2023-10-30 16:22:32 +01:00
OlegIvaniv 3ab04e4f9e
ci(core): Extract local e2e run script (no-changelog) (#7551)
Github issue / Community forum post (link here to close automatically):

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-30 11:18:51 +01:00
Iván Ovejero 233683ce1a
refactor(core): Remove webhook deregistration on shutdown flag (#7543)
Removal missing from [original
PR](https://github.com/n8n-io/n8n/pull/7515) after initial revert.
2023-10-27 18:48:21 +02:00
Iván Ovejero 6796ba75a1
refactor(core): Stop reporting to Sentry stopping execution with wrong status (no-changelog) (#7541)
https://n8nio.sentry.io/issues/4257040218/
2023-10-27 16:14:01 +02:00
कारतोफ्फेलस्क्रिप्ट™ 35bb42c1b9
refactor(core): Avoid passing around static state like default timezone (no-changelog) (#7221) 2023-10-27 14:17:52 +02:00
Iván Ovejero 62c096710f
refactor: Run lintfix (no-changelog) (#7537)
- Fix autofixable violations
- Remove unused directives
- Allow for PascalCased variables - needed for dynamically imported or
assigned classes, decorators, routers, etc.
2023-10-27 14:15:02 +02:00
Omar Ajoue 87996a1fcf
refactor(core): Stop reporting non-error to sentry (issue 4229454473) (no-changelog) (#7525)
This PR aims to stop reporting issues such as [this
one](https://n8nio.sentry.io/issues/4229454473/events/42b96bfd6a334c15a84499e981cf90eb/?project=4503924908883968).

Github issue / Community forum post (link here to close automatically):
2023-10-27 09:25:07 +02:00
Omar Ajoue 3d95b243e9
feat(core): Make queue mode settings configurable (#7526)
This PR allows users to configure the settings to Bull, possibly
reducing the errors with `maxStalledCount` and other issues, that
usually happen either when a worker crashes or when the event loop is
super busy. Increasing the lease time and the `maxStalledCount` settings
might improve UX.

Github issue / Community forum post (link here to close automatically):
2023-10-26 17:30:16 +02:00
Iván Ovejero ae8c7a635e
refactor(core)!: Remove webhook deregistration at startup and shutdown (#7515)
https://linear.app/n8n/issue/PAY-932/deprecate-flag-to-skip-webhook-deregistration-on-shutdown
2023-10-26 14:37:54 +02:00
Iván Ovejero 5477e3fb45
refactor(core): Move execution save settings into lifecycle function (no-changelog) (#7370)
Move the handling of execution save settings into a tested lifecycle
function as discussed with Omar
2023-10-26 14:35:38 +02:00
कारतोफ्फेलस्क्रिप्ट™ 1055bd3762
fix(core): Handle missing resultData in runData (#7523) 2023-10-26 13:15:19 +02:00
Iván Ovejero 742c8a8534
fix(core): Ensure execution deletion in worker lifecycle hook (#7481)
Reported by customer
[here](https://n8nio.slack.com/archives/C05PUALKZHD/p1697446945481249?thread_ts=1697196557.638169&cid=C05PUALKZHD),
apparently a very old long-standing bug for queue mode. Please review
closely as I am not familiar with queue mode.
2023-10-25 19:13:06 +02:00
कारतोफ्फेलस्क्रिप्ट™ 05586a900d
refactor(core): Make Logger a service (no-changelog) (#7494) 2023-10-25 16:35:22 +02:00
github-actions[bot] db4e61ba24
🚀 Release 1.14.0 (#7514)
# [1.14.0](https://github.com/n8n-io/n8n/compare/n8n@1.13.0...n8n@1.14.0)
(2023-10-25)


### Features

* **Switch Node:** Add support for infinite Switch outputs
([#7499](https://github.com/n8n-io/n8n/issues/7499))
([2febc61](2febc61ec9))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-10-25 15:34:57 +02:00
कारतोफ्फेलस्क्रिप्ट™ 0643487403 ci: Fix oclif manifest generation 2023-10-25 14:51:10 +02:00
github-actions[bot] 2987587e34
🚀 Release 1.13.0 (#7512)
# [1.13.0](https://github.com/n8n-io/n8n/compare/n8n@1.12.0...n8n@1.13.0)
(2023-10-25)


### Bug Fixes

* **core:** Do not return `inviteAcceptUrl` in response if email was
sent ([#7465](https://github.com/n8n-io/n8n/issues/7465))
([55c6a1b](55c6a1b0d3))
* **core:** Ensure nodes post-processors run in the correct order
([#7500](https://github.com/n8n-io/n8n/issues/7500))
([6f45298](6f45298d3d))
* **core:** Fix `frontend.settings` external hook execution
([#7496](https://github.com/n8n-io/n8n/issues/7496))
([774fe20](774fe202bf))
* **core:** Handle gzip and deflate compressed request payloads
([#7461](https://github.com/n8n-io/n8n/issues/7461))
([83762e0](83762e051d))
* **core:** Reduce logging overhead for levels that do not output
([#7479](https://github.com/n8n-io/n8n/issues/7479))
([76c0481](76c04815f7))
* **Customer.io Node:** Fix api endpoint when using EU region
([#7485](https://github.com/n8n-io/n8n/issues/7485))
([519680c](519680c2cf))
* **editor:** Allow importing the same workflow multiple times
([#7458](https://github.com/n8n-io/n8n/issues/7458))
([3c0a166](3c0a166f7f))
* **editor:** Fix canvas selection breaking after interacting with node
actions ([#7466](https://github.com/n8n-io/n8n/issues/7466))
([bc47365](bc473655fb))
* **editor:** Fix connections disappearing after reactivating canvas and
renaming a node ([#7483](https://github.com/n8n-io/n8n/issues/7483))
([450e0cc](450e0cc66a))
* **Google Sheets Node:** Append or update runs forever when without
column headers ([#7463](https://github.com/n8n-io/n8n/issues/7463))
([ab6a9bb](ab6a9bbac2))
* **Microsoft SQL Node:** Prevent SQL injection
([#7467](https://github.com/n8n-io/n8n/issues/7467))
([a739245](a739245332))
* **MQTT Trigger Node:** Fix node causing a start up hang when active
([#7498](https://github.com/n8n-io/n8n/issues/7498))
([baecb93](baecb93bef))
* **MySQL Node:** Resolve expressions in v1
([#7464](https://github.com/n8n-io/n8n/issues/7464))
([5c46bb0](5c46bb09c1))
* **Redis Node:** Fix adding sets data types
([#7444](https://github.com/n8n-io/n8n/issues/7444))
([4e66023](4e66023cd4))
* **Spreadsheet File Node:** Fix include empty cells not working with v2
([#7505](https://github.com/n8n-io/n8n/issues/7505))
([05e6f2a](05e6f2a6ac))


### Features

* **core:** Add support for oauth based service accounts with UM SMTP
([#7311](https://github.com/n8n-io/n8n/issues/7311))
([647372b](647372be27))
* **editor:** Add PH tracking to event
([#7511](https://github.com/n8n-io/n8n/issues/7511))
([c47d27d](c47d27dd6d))
* **Facebook Lead Ads Trigger Node:** Add Facebook Lead Ads Trigger Node
([#7113](https://github.com/n8n-io/n8n/issues/7113))
([ac814a9](ac814a9c61))
* **Ghost Node:** Add support for lexical format
([#7488](https://github.com/n8n-io/n8n/issues/7488))
([7b1973c](7b1973c058))
* **RSS Feed Trigger Node:** Add RSS feed trigger node
([#7386](https://github.com/n8n-io/n8n/issues/7386))
([689360e](689360ee06))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-10-25 14:29:28 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6f45298d3d
fix(core): Ensure nodes post-processors run in the correct order (#7500)
Fixes #7497
2023-10-25 13:59:38 +02:00
Val 93cfabbeac
fix(core): Fix workflow activation with history and workflow history for EE (no-changelog) (#7508)
Github issue / Community forum post (link here to close automatically):
2023-10-25 11:07:11 +01:00
Iván Ovejero 671c95760b
refactor(core): Make executions pruning more resilient (#7480)
This PR converts the hard-deletion interval to a timeout:
- to prevent the interval from not being restored when hard deletion
throws, and
- to prevent a long-running hard deletion from leading to duplicate
deletions.
2023-10-24 16:16:45 +02:00
Iván Ovejero 78243edd18
refactor(core): Make pruning via lifecycle configuration in S3 mode mandatory (#7482)
Since we do not store which executions produced binary data, for pruning
on S3 we need to query for binary data items for each execution in order
to delete them. To minimize requests to S3, allow the user to skip
pruning requests when setting TTL at bucket level.
2023-10-24 10:37:02 +02:00
Cornelius Suermann 3ef771ea38
feat: Collect usage metrics on license renewal (no-changelog) (#7486) 2023-10-23 21:39:29 +02:00
Ricardo Espinoza 774fe202bf
fix(core): Fix frontend.settings external hook execution (#7496) 2023-10-23 11:46:13 -04:00
Val 41236b7e08
fix: Save new version of the workflow instead of the previous (no-changelog) (#7428)
Github issue / Community forum post (link here to close automatically):
2023-10-23 16:30:36 +02:00
कारतोफ्फेलस्क्रिप्ट™ b6de910cbe
refactor(core): Abstract away InstanceSettings and encryptionKey into injectable services (no-changelog) (#7471)
This change ensures that things like `encryptionKey` and `instanceId`
are always available directly where they are needed, instead of passing
them around throughout the code.
2023-10-23 13:39:35 +02:00
कारतोफ्फेलस्क्रिप्ट™ 76c04815f7
fix(core): Reduce logging overhead for levels that do not output (#7479)
all current logging calls execute `callsites()` to figure out what code
tried to log. This happens even for logging methods that aren't supposed
to create any output. Under moderate load, this can take up quite a lot
of resources. This PR changes the logger to make all ignorable logging
methods a No-Op.

In a small benchmark with a simple webhook, with log-level set to
`warn`, and using `ab -c 50 -n 500
http://localhost:5678/webhook/testing`, these were the response times:

### Before

![Before](https://github.com/n8n-io/n8n/assets/196144/01680fd9-3d2a-4f7f-bb1c-5b03bd7d5bc3)

### After

![After](https://github.com/n8n-io/n8n/assets/196144/ccacb20a-48ca-455a-a8cb-098c9c0e352e)
2023-10-20 18:26:33 +02:00
Iván Ovejero 0b42d1aa71
refactor(core): Limit soft-deletions to pruning only (#7469)
Based on customer feedback, we should limit soft deletions to pruning
only, to prevent executions from piling up in very high volume cases.
2023-10-20 15:02:47 +02:00
Jon 647372be27
feat(core): Add support for oauth based service accounts with UM SMTP (#7311)
This PR adds support for using OAuth based service accounts for the User
Management SMTP connection.

Tested using a Google Service Account.
2023-10-20 11:36:40 +01:00
Iván Ovejero b50376cf52
refactor(core): Make executions pruning settings configurable (#7468) 2023-10-19 16:57:12 +02:00
कारतोफ्फेलस्क्रिप्ट™ 55c6a1b0d3
fix(core): Do not return inviteAcceptUrl in response if email was sent (#7465) 2023-10-19 13:58:06 +02:00
कारतोफ्फेलस्क्रिप्ट™ 83762e051d
fix(core): Handle gzip and deflate compressed request payloads (#7461)
NODE-870
2023-10-18 21:52:15 +02:00
github-actions[bot] ef58a23d21
🚀 Release 1.12.0 (#7459)
# [1.12.0](https://github.com/n8n-io/n8n/compare/n8n@1.11.0...n8n@1.12.0)
(2023-10-18)


### Bug Fixes

* **core:** Add check that queue is defined and remove cyclic dependency
([#7404](https://github.com/n8n-io/n8n/issues/7404))
([45f2ef3](45f2ef373e))
* **core:** Do not throw when deleting workflows with executions without
binary-data ([#7411](https://github.com/n8n-io/n8n/issues/7411))
([2b6a15e](2b6a15e478))
* **core:** Fix expression with paired item with multi-input node
([#7424](https://github.com/n8n-io/n8n/issues/7424))
([ec14141](ec141416e2))
* **core:** Fix ignoring crashed executions without event msgs
([#7368](https://github.com/n8n-io/n8n/issues/7368))
([2f4d91b](2f4d91b2cd))
* **core:** Pg-promise de-initialization fix
([#7417](https://github.com/n8n-io/n8n/issues/7417))
([7703904](77039044eb))
* **core:** Prevent false stalled jobs in queue mode from displaying as
errored ([#7435](https://github.com/n8n-io/n8n/issues/7435))
([e01b9e5](e01b9e5ae1))
* **core:** Prevent undefined issues when restoring binary data
([#7419](https://github.com/n8n-io/n8n/issues/7419))
([46977a2](46977a2aff))
* **editor:** Fix remote options fetching on every keystroke
([#7320](https://github.com/n8n-io/n8n/issues/7320))
([367255a](367255ab2c))
* **editor:** Open only one tab with plans page
([#7377](https://github.com/n8n-io/n8n/issues/7377))
([c599006](c599006b91))
* **Google Sheets Node:** Update by row_number, restored 'Handling Extra
Data Option', updated Cell Format default
([#7357](https://github.com/n8n-io/n8n/issues/7357))
([d8531a5](d8531a53b9))
* **Ldap Node:** Fix issue with connections not closing correctly
([#7432](https://github.com/n8n-io/n8n/issues/7432))
([c3f0be8](c3f0be809f))
* **Set Node:** Null should not throw an error
([#7416](https://github.com/n8n-io/n8n/issues/7416))
([e9b6ab0](e9b6ab04cd))
* **TheHive 5 Node:** Observable encoding in alert > create fix
([#7450](https://github.com/n8n-io/n8n/issues/7450))
([a2d2e3d](a2d2e3dda7))


### Features

* **core:** Make executions pruning interval configurable
([#7439](https://github.com/n8n-io/n8n/issues/7439))
([40707fa](40707fa692))
* **Google Calendar Trigger Node:** Add support for cancelled events
([#7436](https://github.com/n8n-io/n8n/issues/7436))
([9d241a0](9d241a0d6d))
* **HubSpot Trigger Node:** Add support for ticket related events
([#7156](https://github.com/n8n-io/n8n/issues/7156))
([57c6093](57c609384a))
* **n8n Form Trigger Node:** New node
([#7130](https://github.com/n8n-io/n8n/issues/7130))
([3ddc176](3ddc176dfa))
* **Spreadsheet File Node:** Improve CSV parsing
([#7448](https://github.com/n8n-io/n8n/issues/7448))
([79f23fb](79f23fb939))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-10-18 17:43:29 +02:00
Iván Ovejero 40707fa692
feat(core): Make executions pruning interval configurable (#7439) 2023-10-18 17:01:57 +02:00
Michael Kret 3ddc176dfa
feat(n8n Form Trigger Node): New node (#7130)
Github issue / Community forum post (link here to close automatically):

based on https://github.com/joffcom/n8n-nodes-form-trigger

---------

Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
2023-10-17 07:09:30 +03:00
Michael Auerswald e01b9e5ae1
fix(core): Prevent false stalled jobs in queue mode from displaying as errored (#7435)
This is related to an issue with how Bull handles stalled jobs, see
https://github.com/OptimalBits/bull/issues/1415 for reference.

CPU intensive workflows can in certain cases take a long while to finish
up, thereby blocking the thread and causing Bull queue to think the job
has stalled, even though it finished successfully. In these cases the
error handling could then overwrite the successful execution data with
the error message.
2023-10-13 16:07:08 +02:00
Iván Ovejero c6ee1e30c0
refactor(core): Add binary data S3 to telemetry (#7412)
https://n8nio.slack.com/archives/C04B1GZ4T0U/p1697033523039729
2023-10-13 13:16:43 +02:00
Michael Auerswald 45f2ef373e
fix(core): Add check that queue is defined and remove cyclic dependency (#7404)
In a rare edge case an undefined queue could be returned - this should
not happen and now an error is thrown.
Also using the opportunity to remove a cyclic dependency from the Queue.
2023-10-13 11:53:59 +02:00
Omar Ajoue 46977a2aff
fix: Prevent undefined issues when restoring binary data (#7419)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-10-12 16:41:51 +02:00
Iván Ovejero 54e900955a
refactor(core): Move frontend settings to service (no-changelog) (#7396)
Quick follow-up to https://github.com/n8n-io/n8n/pull/7283
2023-10-11 17:12:19 +02:00
कारतोफ्फेलस्क्रिप्ट™ 1e0753516c Merge tag 'n8n@1.11.0' 2023-10-11 15:55:52 +02:00
Michael Auerswald 2f4d91b2cd
fix(core): Fix ignoring crashed executions without event msgs (#7368)
when the event logs do not contain messages for running executions, the
recovery/crash detection on startup would skip these. this PR fixes
that.
2023-10-11 14:22:43 +02:00
github-actions[bot] e6ba841c5f
🚀 Release 1.11.0 (#7402)
# [1.11.0](https://github.com/n8n-io/n8n/compare/n8n@1.10.0...n8n@1.11.0)
(2023-10-11)


### Bug Fixes

* **core:** Add an option to enable postgres ssl with default certs
([#6889](https://github.com/n8n-io/n8n/issues/6889))
([789e1e7](789e1e7ed4))
* **core:** Fix error on missing paired item data
([#7399](https://github.com/n8n-io/n8n/issues/7399))
([47e8953](47e8953ec9))
* **core:** Missing pairing info
([#7326](https://github.com/n8n-io/n8n/issues/7326))
([e2c3c7a](e2c3c7aceb))
* **core:** Prevent object deletion request on no prefix match
([#7366](https://github.com/n8n-io/n8n/issues/7366))
([63e11e4](63e11e4be9))
* **editor:** Fix completions for `.json` on quoted node name in Code
node ([#7382](https://github.com/n8n-io/n8n/issues/7382))
([86e7ec7](86e7ec796a))
* **editor:** Implement canvas zoom UX improvements
([#7376](https://github.com/n8n-io/n8n/issues/7376))
([7e06b31](7e06b31a5f))
* **editor:** Make workflow history button available only for dev builds
([#7392](https://github.com/n8n-io/n8n/issues/7392))
([7ed466d](7ed466db7f))
* **editor:** Remove excess margin below run data editor
([#7372](https://github.com/n8n-io/n8n/issues/7372))
([3fa2764](3fa27647d8))
* **editor:** Sanitize HTML binary-data before rendering in the UI
([#7400](https://github.com/n8n-io/n8n/issues/7400))
([2b075bf](2b075bfc2d))
* **editor:** Use display option's @Version specifier
([#7351](https://github.com/n8n-io/n8n/issues/7351))
([afbf0c3](afbf0c3d5e))
* **Google BigQuery Node:** Location default to jobReference
([#7354](https://github.com/n8n-io/n8n/issues/7354))
([97bb703](97bb703d0a))
* **Google Drive Trigger Node:** Add Shared Drives support
([#7369](https://github.com/n8n-io/n8n/issues/7369))
([3e7a4d3](3e7a4d3b2c))
* **Google Sheets Node:** Fix "Maximum call stack size exceeded" error
on too many rows ([#7384](https://github.com/n8n-io/n8n/issues/7384))
([732b15a](732b15a1fa))
* **HTML Node:** Update property fields to not use expressions on drag
([#7379](https://github.com/n8n-io/n8n/issues/7379))
([77643e5](77643e5ccb))
* **Notion Node:** Handle empty values correctly for Notion selects +
multi selects ([#7383](https://github.com/n8n-io/n8n/issues/7383))
([fbcd1d4](fbcd1d40ed))
* **Set Node:** Increase search priority
([#7358](https://github.com/n8n-io/n8n/issues/7358))
([e5ad1e7](e5ad1e7e4d))
* **Webhook Node:** Backward compatible form-data parsing for non-array
files ([#7385](https://github.com/n8n-io/n8n/issues/7385))
([6479eb1](6479eb180f))


### Features

* **core:** Add Job Summary to Worker response
([#7360](https://github.com/n8n-io/n8n/issues/7360))
([b8608ce](b8608cee6d))
* **core:** Integrate object store as binary data manager
([#7253](https://github.com/n8n-io/n8n/issues/7253))
([1a661e6](1a661e6d00))
* **core:** Switch binary filesystem mode to nested path structure
([#7307](https://github.com/n8n-io/n8n/issues/7307))
([0847623](0847623f85))
* **editor:** Make PDF and Audio binary-data viewable in the UI
([#7367](https://github.com/n8n-io/n8n/issues/7367))
([8187be1](8187be1b7d))
* **editor:** Support autologin for upgrade path
([#7316](https://github.com/n8n-io/n8n/issues/7316))
([1dfa052](1dfa052301))
* **Execute Workflow Node:** Run once for each item mode
([#7289](https://github.com/n8n-io/n8n/issues/7289))
([c8c14ca](c8c14ca0af))
* **Item Lists Node:** Split merge binary data
([#7297](https://github.com/n8n-io/n8n/issues/7297))
([965db8f](965db8f7f2))
* **Loop Over Items (Split in Batches) Node:** Automatically add a loop
+ rename ([#7228](https://github.com/n8n-io/n8n/issues/7228))
([7b773cc](7b773cc5cc))
* **Notion Node:** Fetch child blocks recursively
([#7304](https://github.com/n8n-io/n8n/issues/7304))
([193181a](193181a9c6))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-10-11 13:38:34 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6479eb180f
fix(Webhook Node): Backward compatible form-data parsing for non-array files (#7385)
Fixes
https://community.n8n.io/t/possible-bug-0-added-to-end-of-files-sent-via-webhook/31169
2023-10-10 15:19:05 +02:00
Iván Ovejero 0847623f85
feat(core): Switch binary filesystem mode to nested path structure (#7307)
Depends on #7253 | Story:
[PAY-863](https://linear.app/n8n/issue/PAY-863/switch-binary-filesystem-mode-to-nested-path-structure)

This PR introduces `filesystem-v2` to store binary data in the
filesystem in the same format as `s3`.
2023-10-10 10:06:06 +02:00
कारतोफ्फेलस्क्रिप्ट™ c5ee06cc61
refactor(core): Refactor nodes loading (no-changelog) (#7283)
fixes PAY-605
2023-10-09 16:09:23 +02:00
कारतोफ्फेलस्क्रिप्ट™ 789e1e7ed4
fix(core): Add an option to enable postgres ssl with default certs (#6889)
CP-809
2023-10-09 13:55:03 +02:00
Michael Auerswald b8608cee6d
feat(core): Add Job Summary to Worker response (#7360) 2023-10-06 17:52:27 +02:00
Iván Ovejero 34bda535e6
refactor(core): Create controller for binary data (no-changelog) (#7363)
This PR adds a controller for binary data + integration tests.
2023-10-06 16:21:13 +02:00
Michael Auerswald afa683a06f
refactor(core): Have one orchestration service per instance type (#7303)
webhook instances will not listen to either worker or event log messages
on the Redis pub/sub channel
2023-10-06 13:58:11 +02:00
Cornelius Suermann f4d8c9eed5
feat: Improve error msg when attempting to redeem the same activation code multiple times (no-changelog) (#7355) 2023-10-05 17:08:30 +02:00
Iván Ovejero 1a661e6d00
feat(core): Integrate object store as binary data manager (#7253)
Depends on: #7225 | Story:
[PAY-848](https://linear.app/n8n/issue/PAY-848)

This PR integrates the object store service as a new binary data manager
for Enterprise.
2023-10-05 15:25:17 +02:00
github-actions[bot] aa1bf95136
🚀 Release 1.10.0 (#7350)
# [1.10.0](https://github.com/n8n-io/n8n/compare/n8n@1.9.0...n8n@1.10.0)
(2023-10-05)


### Bug Fixes

* **Convert to/from binary data Node:** Rename 'Move Binary Data' to
'Convert to/from binary data'
([#7318](https://github.com/n8n-io/n8n/issues/7318))
([5e6c1d4](5e6c1d4f4b))
* **core:** Account for itemless case on restoring binary data ID
([#7305](https://github.com/n8n-io/n8n/issues/7305))
([1691223](1691223789))
* **core:** Fix pruning of non-finished executions
([#7333](https://github.com/n8n-io/n8n/issues/7333))
([1b4848a](1b4848afcb))
* **editor:** Disable email confirmation banner for trialing users
([#7340](https://github.com/n8n-io/n8n/issues/7340))
([6d3d178](6d3d1789db))
* **editor:** Display value of selected matching column in RMC
([#7298](https://github.com/n8n-io/n8n/issues/7298))
([3aac22b](3aac22b4c1))
* **editor:** Fix canvas endpoint snapping when dragging connection
([#7346](https://github.com/n8n-io/n8n/issues/7346))
([b59b908](b59b9086d7))
* **editor:** Fix disappearing NDV header in code nodes
([#7290](https://github.com/n8n-io/n8n/issues/7290))
([7ebf8f3](7ebf8f327a))
* **editor:** Fix RLC not loading when an expression can't resolve
([#7295](https://github.com/n8n-io/n8n/issues/7295))
([ddc26c2](ddc26c21bd))
* **editor:** Separate cloud endpoint calls
([#7312](https://github.com/n8n-io/n8n/issues/7312))
([04dfcd7](04dfcd73be))
* **Jira Software Node:** Get all users in dropdown/RLC
([#7322](https://github.com/n8n-io/n8n/issues/7322))
([3704760](3704760724)),
closes [#2670](https://github.com/n8n-io/n8n/issues/2670)
* **Notion Node:** Rename Notion API Key to Internal Integration Token
([#7176](https://github.com/n8n-io/n8n/issues/7176))
([ec2aa38](ec2aa3819c))
* **Postgres Node:** Node requires comma-separated string even when
using a single parameter through an expression
([#7300](https://github.com/n8n-io/n8n/issues/7300))
([763d451](763d4514fa))
* **Set Node:** Do not stringify null and undefined
([#7313](https://github.com/n8n-io/n8n/issues/7313))
([f0a6687](f0a66873b9))
* **Typeform Trigger Node:** Change output format for TypeForm trigger
to object instead of array
([#7315](https://github.com/n8n-io/n8n/issues/7315))
([b3fc00e](b3fc00e045))


### Features

* **core:** Add "Sent by n8n" attribution
([#7183](https://github.com/n8n-io/n8n/issues/7183))
([8f9fe62](8f9fe6269b))
* **core:** Add support for building LLM applications
([#7235](https://github.com/n8n-io/n8n/issues/7235))
([00a4b8b](00a4b8b0c6)),
closes [#7246](https://github.com/n8n-io/n8n/issues/7246)
[#7137](https://github.com/n8n-io/n8n/issues/7137)
* Workflow History pruning and prune time settings
([#7343](https://github.com/n8n-io/n8n/issues/7343))
([0adc533](0adc533719))

Co-authored-by: krynble <krynble@users.noreply.github.com>
2023-10-05 14:12:37 +02:00
Omar Ajoue 5cfd87692f
refactor: Add log messages to debug worker init issues (#7238)
Github issue / Community forum post (link here to close automatically):
2023-10-05 13:37:25 +02:00
कारतोफ्फेलस्क्रिप्ट™ 169175080a
ci: Fix WorkflowHistoryManager tests (no-changelog) (#7356)
[DB Tests](https://github.com/n8n-io/n8n/actions/runs/6418058186)
2023-10-05 13:14:57 +02:00
Tomi Turtiainen 1b4848afcb
fix(core): Fix pruning of non-finished executions (#7333)
This fixes a bug in the pruning (soft-delete). The pruning was a bit too
aggressive, as it also pruned executions that weren't in an end state
yet. This only becomes an issue if there are long-running executions
(e.g. workflow with Wait node) or the prune parameters are set to keep
only a tiny number of executions.
2023-10-04 16:32:05 +03:00
Val 0adc533719
feat: Workflow History pruning and prune time settings (#7343)
Github issue / Community forum post (link here to close automatically):
2023-10-04 13:57:21 +01:00
कारतोफ्फेलस्क्रिप्ट™ 101255d186
ci: Make builds release-channel aware. Add support for scheduled beta builds (#7323)
ADO-1121

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2023-10-03 20:49:04 +02:00
कारतोफ्फेलस्क्रिप्ट™ 00a4b8b0c6
feat(core): Add support for building LLM applications (#7235)
This extracts all core and editor changes from #7246 and #7137, so that
we can get these changes merged first.

ADO-1120

[DB Tests](https://github.com/n8n-io/n8n/actions/runs/6379749011)
[E2E Tests](https://github.com/n8n-io/n8n/actions/runs/6379751480)
[Workflow Tests](https://github.com/n8n-io/n8n/actions/runs/6379752828)

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-02 17:33:43 +02:00
Iván Ovejero 1691223789
fix(core): Account for itemless case on restoring binary data ID (#7305)
https://linear.app/n8n/issue/PAY-862
2023-10-02 09:13:55 +02:00
Csaba Tuncsik d1b6c7fd79
feat(editor): Workflow history [WIP]- create workflow history list component (no-changelog) (#7186)
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-09-29 17:48:36 +02:00
Omar Ajoue ec0379378e
feat(core): Add plan name to telemetry (no-changelog) (#7296)
Github issue / Community forum post (link here to close automatically):
2023-09-29 15:41:32 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6a1557bc50 Merge tag 'n8n@1.9.0' 2023-09-29 14:28:06 +02:00
कारतोफ्फेलस्क्रिप्ट™ f8406c04b1
ci: Fix typescript incremental builds (no-changelog) (#7275)
`tsBuildInfoFile` is supposed to be relative to `tsconfig` like `outDir`
is.
Because of this, we are currently saving the TS incremental build cache
for all packages in the same file. This is likely causing issues where
the built backend code sometimes does not accurately map to the current
source code.

This PR changes the incremental build setup to keep the cache in
individual `dist` folders, like it used to be up until a 2 months ago,
before https://github.com/n8n-io/n8n/pull/6816.
2023-09-29 13:26:06 +02:00
github-actions[bot] 167124ceb8
🚀 Release 1.9.0 (#7288)
# [1.9.0](https://github.com/n8n-io/n8n/compare/n8n@1.8.0...n8n@1.9.0)
(2023-09-28)


### Bug Fixes

* **Airtable Node:** Attachments field type fix
([#7227](https://github.com/n8n-io/n8n/issues/7227))
([2af967c](2af967cf88))
* **core:** Change WorkflowHistory nodes/connections columns to be json
([#7282](https://github.com/n8n-io/n8n/issues/7282))
([a80abad](a80abad3af))
* **core:** Fix binary data manager check on pruning
([#7251](https://github.com/n8n-io/n8n/issues/7251))
([484035e](484035eb51))
* **core:** Fix missing execution ID in webhook-based workflow producing
binary data ([#7244](https://github.com/n8n-io/n8n/issues/7244))
([33991e9](33991e92d0))
* **core:** Handle filename* with quotes in Content-Disposition header
([#7229](https://github.com/n8n-io/n8n/issues/7229))
([67b985f](67b985fe89))
* **core:** Make DNS resolution order configurable
([#7272](https://github.com/n8n-io/n8n/issues/7272))
([5b3121c](5b3121c415))
* **core:** Make senderId required for all command messages
([#7252](https://github.com/n8n-io/n8n/issues/7252))
([4b01428](4b014286cf))
* **core:** Prevent executions from displaying Running status
incorrectly ([#7261](https://github.com/n8n-io/n8n/issues/7261))
([861cac5](861cac5257))
* **core:** Use consistent timezone-aware timestamps in postgres
([#6948](https://github.com/n8n-io/n8n/issues/6948))
([0132514](0132514f8b)),
closes [#2178](https://github.com/n8n-io/n8n/issues/2178)
[#2810](https://github.com/n8n-io/n8n/issues/2810)
[#3855](https://github.com/n8n-io/n8n/issues/3855)
[#2813](https://github.com/n8n-io/n8n/issues/2813)
* **editor:** Add debug feature docs link
([#7240](https://github.com/n8n-io/n8n/issues/7240))
([4614e1e](4614e1e1c9))
* **editor:** Fix SQL editor issue
([#7236](https://github.com/n8n-io/n8n/issues/7236))
([647fc6c](647fc6c555))
* **editor:** Ensure new Set node is on top of search list
([#7215](https://github.com/n8n-io/n8n/issues/7215))
([2491ccf](2491ccf4d9))
* **editor:** Forbid password reset when cloud account is limited in the
number of users [7188](https://github.com/n8n-io/n8n/issues/7188)
([303bc8e](303bc8e71e))
* **HTTP Request Node:** Add suggestion how to fix '429 - too many
requests' errors ([#7293](https://github.com/n8n-io/n8n/issues/7293))
([0bc33b1](0bc33b1cc2))
* **Item Lists Node:** Concatenate operation pairedItems fix
([#7286](https://github.com/n8n-io/n8n/issues/7286))
([cde23a1](cde23a1bb1))
* **Respond to Webhook Node:** JSON output from expression fix
([#7294](https://github.com/n8n-io/n8n/issues/7294))
([8bc369d](8bc369dd40))


### Features

* Add onboarding flow
([#7212](https://github.com/n8n-io/n8n/issues/7212))
([01e9340](01e9340621))
* **core:** Add secrets provider reload and refactor
([#7277](https://github.com/n8n-io/n8n/issues/7277))
([53a7502](53a7502d20))
* **core:** Add Tournament as the new default expression evaluator
([#6964](https://github.com/n8n-io/n8n/issues/6964))
([bf74f09](bf74f09d69))
* **core:** Initial workflow history API
([#7234](https://github.com/n8n-io/n8n/issues/7234))
([0083a9e](0083a9e45d))
* **core:** Introduce object store service
([#7225](https://github.com/n8n-io/n8n/issues/7225))
([fa84545](fa845453bb))
* **editor:** Add user cloud ID to telemetry
[#7232](https://github.com/n8n-io/n8n/issues/7232)
([60c152d](60c152dc72))
* **editor:** Rework banners framework and add email confirmation banner
([#7205](https://github.com/n8n-io/n8n/issues/7205))
([b0e98b5](b0e98b59a6))
* **MISP Node:** Update credential to support HTTP Request node
([#7268](https://github.com/n8n-io/n8n/issues/7268))
([e4c302c](e4c302c683))


### Performance Improvements

* **core:** Skip unneeded calls on every pruning cycle
([#7260](https://github.com/n8n-io/n8n/issues/7260))
([db01164](db01164ce1))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-09-28 17:22:28 +02:00
कारतोफ्फेलस्क्रिप्ट™ cf5a0ca456
ci: Refactor DB tests (no-changelog) (#7292)
[DB tests](https://github.com/n8n-io/n8n/actions/runs/6340094467)
2023-09-28 16:53:05 +02:00
Michael Auerswald 53a7502d20
feat(core): Add secrets provider reload and refactor (#7277)
This PR adds a message for queue mode which triggers an external secrets
provider reload inside the workers if the configuration has changed on
the main instance.

It also refactors some of the message handler code to remove cyclic
dependencies, as well as remove unnecessary duplicate redis clients
inside services (thanks to no more cyclic deps)
2023-09-28 12:57:35 +02:00
Val a80abad3af
fix(core): Change WorkflowHistory nodes/connections columns to be json (#7282)
Github issue / Community forum post (link here to close automatically):
2023-09-28 10:37:33 +02:00
कारतोफ्फेलस्क्रिप्ट™ 0132514f8b
fix(core): Use consistent timezone-aware timestamps in postgres (#6948)
Fixes:
* ENG-51 / N8N-2490
* PAY-397
* #2178
* #2810
* #3855

Supersedes #2813

[DB
Tests](https://github.com/n8n-io/n8n/actions/runs/6000780146/job/16273596338)
2023-09-27 18:44:47 +02:00
कारतोफ्फेलस्क्रिप्ट™ ebce6fe1b0
refactor(core): Skip sending webhook activation errors to Sentry (no-changelog) (#7171) 2023-09-27 16:57:52 +02:00
Michael Auerswald 07d072c28f
fix(core): Bump License SDK Version (no-changelog) (#7279) 2023-09-27 16:29:09 +02:00
Val 0083a9e45d
feat(core): Initial workflow history API (#7234)
Github issue / Community forum post (link here to close automatically):
2023-09-27 15:22:39 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5b3121c415
fix(core): Make DNS resolution order configurable (#7272) 2023-09-27 12:19:18 +02:00
Michael Auerswald 6d7fe95c58
fix(core): Do not set ttl globally in test (no-changelog) (#7271) 2023-09-27 12:03:15 +02:00
Iván Ovejero fa845453bb
feat(core): Introduce object store service (#7225)
Depends on https://github.com/n8n-io/n8n/pull/7220 | Story:
[PAY-840](https://linear.app/n8n/issue/PAY-840/introduce-object-store-service-and-manager-for-binary-data)

This PR introduces an object store service for Enterprise edition. Note
that the service is tested but currently unused - it will be integrated
soon as a binary data manager, and later for execution data.
`amazonaws.com` in the host is temporarily hardcoded until we integrate
the service and test against AWS, Cloudflare and Backblaze, in the next
PR.

This is ready for review - the PR it depends on is approved and waiting
for CI.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-27 09:42:35 +02:00
Iván Ovejero db01164ce1
perf(core): Skip unneeded calls on every pruning cycle (#7260) 2023-09-26 16:53:38 +02:00
Michael Auerswald 4b014286cf
fix(core): Make senderId required for all command messages (#7252)
all commands sent between main instance and workers need to contain a
server id to prevent senders from reacting to their own messages,
causing loops

this PR makes sure all sent messages contain a sender id by default as
part of constructing a sending redis client.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-26 13:58:06 +02:00
Iván Ovejero 77d6e3fc07
refactor(core): Include workflow ID in binary data writes (no-changelog) (#7220)
Depends on: https://github.com/n8n-io/n8n/pull/7195 | Story:
[PAY-837](https://linear.app/n8n/issue/PAY-837/implement-object-store-manager-for-binary-data)

This PR includes `workflowId` in binary data writes so that the S3
manager can support this filepath structure
`/workflows/{workflowId}/executions/{executionId}/binaryData/{binaryFilename}`
to easily delete binary data for workflows. Also all binary data service
and manager methods that take `workflowId` and `executionId` are made
consistent in arg order.

Note: `workflowId` is included in filesystem mode for compatibility with
the common interface, but `workflowId` will remain unused by filesystem
mode until we decide to restructure how this mode stores data.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-25 18:04:52 +02:00
Iván Ovejero 75541e91f2
refactor(core)!: Make getBinaryStream async (#7247)
Story: [PAY-846](https://linear.app/n8n/issue/PAY-846) | Related:
https://github.com/n8n-io/n8n/pull/7225

For the S3 backend for external storage of binary data and execution
data, the `getAsStream` method in the binary data manager interface used
by FS and S3 will need to become async. This is a breaking change for
nodes-base.
2023-09-25 16:59:45 +02:00
Ricardo Espinoza d47986aec3
fix: Bug when trailing user reset password on instance (no-changelog) (#7250)
Github issue / Community forum post (link here to close automatically):
2023-09-25 09:55:33 -04:00
Mutasem Aldmour 01e9340621
feat: Add onboarding flow (#7212)
Github issue / Community forum post (link here to close automatically):
2023-09-25 15:49:36 +02:00
Iván Ovejero 33991e92d0
fix(core): Fix missing execution ID in webhook-based workflow producing binary data (#7244)
Story: https://linear.app/n8n/issue/PAY-839

This is a longstanding bug, fixed now so that the S3 backend for binary
data can use execution IDs as part of the filename.

To reproduce:

1. Set up a workflow with a POST Webhook node that accepts binary data.
2. Activate the workflow and call it sending a binary file, e.g. `curl
-X POST -F "file=@/path/to/binary/file/test.jpg"
http://localhost:5678/webhook/uuid`
3. Check `~/.n8n/binaryData`. The binary data and metadata files will be
missing the execution ID, e.g. `11869055-83c4-4493-876a-9092c4708b9b`
instead of `39011869055-83c4-4493-876a-9092c4708b9b`.
2023-09-25 12:30:28 +02:00
Iván Ovejero 6d6e2488c6
refactor(core): Generalize binary data manager interface (no-changelog) (#7164)
Depends on: #7092 | Story:
[PAY-768](https://linear.app/n8n/issue/PAY-768)

This PR: 
- Generalizes the `IBinaryDataManager` interface.
- Adjusts `Filesystem.ts` to satisfy the interface.
- Sets up an S3 client stub to be filled in in the next PR.
- Turns `BinaryDataManager` into an injectable service.
- Adjusts the config schema and adds new validators.

Note that the PR looks large but all the main changes are in
`packages/core/src/binaryData`.

Out of scope:
- `BinaryDataManager` (now `BinaryDataService`) and `Filesystem.ts` (now
`fs.client.ts`) were slightly refactored for maintainability, but fully
overhauling them is **not** the focus of this PR, which is meant to
clear the way for the S3 implementation. Future improvements for these
two should include setting up a backwards-compatible dir structure that
makes it easier to locate binary data files to delete, removing
duplication, simplifying cloning methods, using integers for binary data
size instead of `prettyBytes()`, writing tests for existing binary data
logic, etc.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-22 17:22:12 +02:00
Val bf74f09d69
feat(core): Add Tournament as the new default expression evaluator (#6964)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-21 13:57:45 +01:00
Ricardo Espinoza 303bc8e71e
fix: Issue enforcing user limits on start plan (#7188) 2023-09-21 05:56:40 -04:00
कारतोफ्फेलस्क्रिप्ट™ 8bb22292d5 Merge tag 'n8n@1.8.0' 2023-09-20 16:20:34 +02:00
Iván Ovejero cd08c8e4c6
refactor(core): Implement soft-deletions for executions (#7092)
Based on #7065 | Story: https://linear.app/n8n/issue/PAY-771

n8n on filesystem mode marks binary data to delete on manual execution
deletion, on unsaved execution completion, and on every execution
pruning cycle. We later prune binary data in a separate cycle via these
marker files, based on the configured TTL. In the context of introducing
an S3 client to manage binary data, the filesystem mode's mark-and-prune
setup is too tightly coupled to the general binary data management
client interface.

This PR...
- Ensures the deletion of an execution causes the deletion of any binary
data associated to it. This does away with the need for binary data TTL
and simplifies the filesystem mode's mark-and-prune setup.
- Refactors all execution deletions (including pruning) to cause soft
deletions, hard-deletes soft-deleted executions based on the existing
pruning config, and adjusts execution endpoints to filter out
soft-deleted executions. This reduces DB load, and keeps binary data
around long enough for users to access it when building workflows with
unsaved executions.
- Moves all execution pruning work from an execution lifecycle hook to
`execution.repository.ts`. This keeps related logic in a single place.
- Removes all marking logic from the binary data manager. This
simplifies the interface that the S3 client will meet.
- Adds basic sanity-check tests to pruning logic and execution deletion.

Out of scope:

- Improving existing pruning logic.
- Improving existing execution repository logic.
- Adjusting dir structure for filesystem mode.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-20 15:21:42 +02:00
github-actions[bot] ecd5d93c19
🚀 Release 1.8.0 (#7219)
# [1.8.0](https://github.com/n8n-io/n8n/compare/n8n@1.7.0...n8n@1.8.0)
(2023-09-20)


### Bug Fixes

* **core:** Make parsing of content-type and content-disposition headers
more flexible ([#7217](https://github.com/n8n-io/n8n/issues/7217))
([d41546b](d41546b899)),
closes [#7149](https://github.com/n8n-io/n8n/issues/7149)
* **core:** Resolve domains to IPv4 first
([#7206](https://github.com/n8n-io/n8n/issues/7206))
([e9ce531](e9ce531210))
* **editor:** Add ssh key type selection to source control settings when
regenerating key ([#7172](https://github.com/n8n-io/n8n/issues/7172))
([54bf66d](54bf66d335))
* **editor:** No need to add click emitting click events, VUE delegates
the handler to the root element of the component
([#7182](https://github.com/n8n-io/n8n/issues/7182))
([3c055e4](3c055e4d8d))
* **editor:** Prevent duplicate creation of credential for OAuth2
([#7163](https://github.com/n8n-io/n8n/issues/7163))
([07a6417](07a6417f0f))
* **editor:** Testing flaky resource mapper feature in e2e tests
([#7165](https://github.com/n8n-io/n8n/issues/7165))
([aaf87c3](aaf87c3edd))
* **HTML Node:** Add pairedItem support for 'Convert to HTML Table'
operation ([#7196](https://github.com/n8n-io/n8n/issues/7196))
([6bc477b](6bc477b50e))
* **HTTP Request Node:** Decrease default timeout to 5min
([#7177](https://github.com/n8n-io/n8n/issues/7177))
([321780d](321780d4a2))
* **seven Node:** Rename sms77 to seven, fix credentials test
([#7180](https://github.com/n8n-io/n8n/issues/7180))
([cf776b8](cf776b8f17))
* **X (Formerly Twitter) Node:** Rename Twitter to X (keep Twitter
alias) ([#7179](https://github.com/n8n-io/n8n/issues/7179))
([d317e09](d317e09c59))


### Features

* **core:** Add command to trigger license refresh on workers
([#7184](https://github.com/n8n-io/n8n/issues/7184))
([9f797b9](9f797b96d8))
* **core:** Add rsa option to ssh key generation
([#7154](https://github.com/n8n-io/n8n/issues/7154))
([fdac2c8](fdac2c8572))
* **Linear Node:** Add support for OAuth2
([#7201](https://github.com/n8n-io/n8n/issues/7201))
([12a3168](12a3168367))
* **Microsoft Outlook Node:** Node overhaul
([#4449](https://github.com/n8n-io/n8n/issues/4449))
([556a613](556a6132ba))
* **Set Node:** Overhaul
([#6348](https://github.com/n8n-io/n8n/issues/6348))
([3a47455](3a474552b2))

Co-authored-by: krynble <krynble@users.noreply.github.com>
2023-09-20 15:10:20 +02:00
कारतोफ्फेलस्क्रिप्ट™ e9ce531210
fix(core): Resolve domains to IPv4 first (#7206) 2023-09-19 15:56:38 +02:00
Iván Ovejero 28598ed1a7
ci: Fix tests failing on MySQL (no-changelog) (#7208)
https://github.com/n8n-io/n8n/actions/runs/6229338666/job/16907667212
2023-09-19 15:42:39 +02:00
Cornelius Suermann 050ba706d3
fix: Attempt license renewal when n8n starts (no-changelog) (#7204)
This change is needed so that the newly introduced floating licenses
will be attempted to be claimed when n8n starts up.
2023-09-19 12:10:23 +02:00
Michael Auerswald 9f797b96d8
feat(core): Add command to trigger license refresh on workers (#7184)
This PR implements the updated license SDK so that worker and webhook
instances do not auto-renew licenses any more.

Instead, they receive a `reloadLicense` command via the Redis client
that will fetch the updated license after it was saved on the main
instance

This also contains some refactoring with moving redis sub and pub
clients into the event bus directly, to prevent cyclic dependency
issues.
2023-09-17 11:05:54 +02:00
Csaba Tuncsik 240b2f075e
feat(editor): Add Workflow history route and base page (no-changelog) (#7161) 2023-09-15 13:17:04 +02:00
Michael Auerswald fdac2c8572
feat(core): Add rsa option to ssh key generation (#7154)
PR adds a new field to the SourceControlPreferences as well as to the
POST parameters for the `source-control/preferences` and
`source-control/generate-key-pair` endpoints. Both now accept an
optional string parameter `keyGeneratorType` of `'ed25519' | 'rsa'`

Calling the `source-control/generate-key-pair` endpoint with the
parameter set, it will also update the stored preferences accordingly
(so that in the future new keys will use the same method)

By default ed25519 is being used. The default may be changed using a new
environment parameter:

`N8N_SOURCECONTROL_DEFAULT_SSH_KEY_TYPE` which can be `rsa` or `ed25519`

RSA keys are generated with a length of 4096 bytes.
2023-09-14 11:34:51 +02:00
Michael Auerswald 0c6169ee22
refactor(core): Move event and telemetry handling into workers in queue mode (#7138)
# Motivation

In Queue mode, finished executions would cause the main instance to
always pull all execution data from the database, unflatten it and then
use it to send out event log events and telemetry events, as well as
required returns to Respond to Webhook nodes etc.

This could cause OOM errors when the data was large, since it had to be
fully unpacked and transformed on the main instance’s side, using up a
lot of memory (and time).

This PR attempts to limit this behaviour to only happen in those
required cases where the data has to be forwarded to some waiting
webhook, for example.

# Changes

Execution data is only required in cases, where the active execution has
a `postExecutePromise` attached to it. These usually forward the data to
some other endpoint (e.g. a listening webhook connection).

By adding a helper `getPostExecutePromiseCount()`, we can decide that in
cases where there is nothing listening at all, there is no reason to
pull the data on the main instance.

Previously, there would always be postExecutePromises because the
telemetry events were called. Now, these have been moved into the
workers, which have been given the various InternalHooks calls to their
hook function arrays, so they themselves issue these telemetry and event
calls.

This results in all event log messages to now be logged on the worker’s
event log, as well as the worker’s eventbus being the one to send out
the events to destinations. The main event log does…pretty much nothing.

We are not logging executions on the main event log any more, because
this would require all events to be replicated 1:1 from the workers to
the main instance(s) (this IS possible and implemented, see the worker’s
`replicateToRedisEventLogFunction` - but it is not enabled to reduce the
amount of traffic over redis).

Partial events in the main log could confuse the recovery process and
would result in, ironically, the recovery corrupting the execution data
by considering them crashed.

# Refactor

I have also used the opportunity to reduce duplicate code and move some
of the hook functionality into
`packages/cli/src/executionLifecycleHooks/shared/sharedHookFunctions.ts`
in preparation for a future full refactor of the hooks
2023-09-14 07:58:15 +02:00
github-actions[bot] a6e027b3ff
🚀 Release 1.7.0 (#7162)
# [1.7.0](https://github.com/n8n-io/n8n/compare/n8n@1.6.0...n8n@1.7.0)
(2023-09-13)


### Bug Fixes

* **Code Node:** Disable WASM to address CVE-2023-37903
([#7122](https://github.com/n8n-io/n8n/issues/7122))
([36a8e91](36a8e911e6))
* **Code Node:** Upgrade vm2 to address CVE-2023-37466
([#7123](https://github.com/n8n-io/n8n/issues/7123))
([0a35025](0a35025e5e))
* **core:** Disable Node.js custom inspection to address CVE-2023-37903
([#7125](https://github.com/n8n-io/n8n/issues/7125))
([a223734](a223734a4a))
* **editor** Account for nanoid workflow ids for subworkflow execute
policy ([#7094](https://github.com/n8n-io/n8n/issues/7094))
([67092c0](67092c0a1b))
* **editor:** Tweak hover area of workflow / cred cards
([#7108](https://github.com/n8n-io/n8n/issues/7108))
([217de21](217de21605))
* **editor:** Unbind workflow endpoint events in case of workspace reset
([#7129](https://github.com/n8n-io/n8n/issues/7129))
([c9b7948](c9b79485cf))
* **editor:** Update git repo url validation regex
([#7151](https://github.com/n8n-io/n8n/issues/7151))
([e51f173](e51f173608))
* **Google Cloud Firestore Node:** Fix empty string interpreted as
number ([#7136](https://github.com/n8n-io/n8n/issues/7136))
([915cfa0](915cfa0f6a))
* **HubSpot Node:** Fix issue with contact lists not working
([#5582](https://github.com/n8n-io/n8n/issues/5582))
([6e5a4f6](6e5a4f6a58))
* **Postgres Node:** Fix automatic column mapping
([#7121](https://github.com/n8n-io/n8n/issues/7121))
([92af131](92af1314fe))
* **Zoho CRM Node:** Fix issue with Sales Order not updating
([#6959](https://github.com/n8n-io/n8n/issues/6959))
([fd800b6](fd800b674b))


### Features

* **core:** Add an option to enable WAL mode for SQLite
([#7118](https://github.com/n8n-io/n8n/issues/7118))
([1d1a022](1d1a022def))
* **core:** Add commands to workers to respond with current state
([#7029](https://github.com/n8n-io/n8n/issues/7029))
([7b49cf2](7b49cf2a2c))
* **Salesforce Node:** Add fax field to lead option
([#7030](https://github.com/n8n-io/n8n/issues/7030))
([01f875a](01f875a94d))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-09-13 14:55:52 +02:00
कारतोफ्फेलस्क्रिप्ट™ 34ebffea45
refactor(core): Move workerCommandHandler into worker.ts (no-changelog) (#7160) 2023-09-13 14:51:41 +02:00
कारतोफ्फेलस्क्रिप्ट™ 22edc03cab
fix(core): Ignore missing user-agent on bot check (no-changelog) (#7153) 2023-09-12 19:57:25 +02:00
कारतोफ्फेलस्क्रिप्ट™ 1d1a022def
feat(core): Add an option to enable WAL mode for SQLite (#7118)
https://www.sqlite.org/wal.html
2023-09-07 15:58:48 +02:00
Michael Auerswald 7b49cf2a2c
feat(core): Add commands to workers to respond with current state (#7029)
This PR adds new endpoints to the REST API:
`/orchestration/worker/status` and `/orchestration/worker/id`

Currently these just trigger the return of status / ids from the workers
via the redis back channel, this still needs to be handled and passed
through to the frontend.

It also adds the eventbus to each worker, and triggers a reload of those
eventbus instances when the configuration changes on the main instances.
2023-09-07 14:44:19 +02:00
कारतोफ्फेलस्क्रिप्ट™ a223734a4a
fix(core): Disable Node.js custom inspection to address CVE-2023-37903 (#7125)
This seems like a better fix than #7122
2023-09-07 10:25:59 +02:00
github-actions[bot] 955bd327ff
🚀 Release 1.6.0 (#7120)
# [1.6.0](https://github.com/n8n-io/n8n/compare/n8n@1.5.1...n8n@1.6.0)
(2023-09-06)


### Bug Fixes

* **core:** Add support for in-transit encryption (TLS) on Redis
connections ([#7047](https://github.com/n8n-io/n8n/issues/7047))
([a910757](a910757cc5))
* **core:** Disallow orphan executions
([#7069](https://github.com/n8n-io/n8n/issues/7069))
([8a28e98](8a28e98ec8))
* **core:** Split event bus controller into community and ee
([#7107](https://github.com/n8n-io/n8n/issues/7107))
([011ee2e](011ee2e04b))
* **editor:** Standardize save text
([#7093](https://github.com/n8n-io/n8n/issues/7093))
([58b3492](58b3492b0d))
* Ensure all new executions are saved
([#7061](https://github.com/n8n-io/n8n/issues/7061))
([b8e06d2](b8e06d245f))
* Load remote resources even if expressions in non requried parameters
resolve ([#6987](https://github.com/n8n-io/n8n/issues/6987))
([8a8d4e8](8a8d4e8bb3))
* **Postgres Node:** Connection pool of the database object has been
destroyed ([#7074](https://github.com/n8n-io/n8n/issues/7074))
([9dd5f0e](9dd5f0e579))
* **Postgres Node:** Tunnel doesn't always close
([#7087](https://github.com/n8n-io/n8n/issues/7087))
([58e55ba](58e55ba669))


### Features

* **core:** Add list query middleware to credentials
([#7041](https://github.com/n8n-io/n8n/issues/7041))
([fd78021](fd78021b68))
* **core:** Add support for floating licenses
([#7090](https://github.com/n8n-io/n8n/issues/7090))
([e26553f](e26553f198))
* **core:** Migration for soft deletions for executions
([#7088](https://github.com/n8n-io/n8n/issues/7088))
([413e0bc](413e0bccb4))
* **HTTP Request Node:** Determine binary file name from
content-disposition headers
([#7032](https://github.com/n8n-io/n8n/issues/7032))
([273d091](273d0913fe))
* **TheHive Node:** Overhaul
([#6457](https://github.com/n8n-io/n8n/issues/6457))
([73e782e](73e782e2cf))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-09-06 13:35:31 +02:00
कारतोफ्फेलस्क्रिप्ट™ 273d0913fe
feat(HTTP Request Node): Determine binary file name from content-disposition headers (#7032)
Fixes: 

https://community.n8n.io/t/http-request-node-read-filename-from-content-disposition-header-when-downloading-files/13453

https://community.n8n.io/t/read-filename-from-content-disposition-header-when-downloading-files/22192
2023-09-06 12:38:37 +02:00
Omar Ajoue 25dc4d7825
feat: Add workflow history repository files (no-changelog) (#7071) 2023-09-06 12:23:40 +02:00
कारतोफ्फेलस्क्रिप्ट™ 2f647974f4
refactor: Use actual nodes/credentials in cli and core tests (no-changelog) (#7115) 2023-09-06 10:23:47 +02:00
कारतोफ्फेलस्क्रिप्ट™ a910757cc5
fix(core): Add support for in-transit encryption (TLS) on Redis connections (#7047)
Fixes https://community.n8n.io/t/upgrade-from-1-1-1-to-1-2-0/30148
2023-09-05 18:18:50 +02:00
कारतोफ्फेलस्क्रिप्ट™ cc37a5046a
fix(core): Lazy-load express-openapi-validator to reduce initial memory spike (no-changelog) (#7111) 2023-09-05 14:42:14 +02:00
कारतोफ्फेलस्क्रिप्ट™ 36f246929e
ci: Fix linting (no-changelog) (#7110) 2023-09-05 14:41:56 +02:00
Iván Ovejero 0036a4726c
refactor(core): Move static data handling to workflow service (no-changelog) (#7104) 2023-09-05 13:42:31 +02:00
Michael Auerswald 011ee2e04b
fix(core): Split event bus controller into community and ee (#7107) 2023-09-05 13:32:09 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6aa7b93473
refactor(core): Deprecate prepareOutputData (no-changelog) (#7091) 2023-09-05 12:59:02 +02:00
Iván Ovejero b7320f5322
refactor(core): Set up ExecutionMetadata service (no-changelog) (#7103)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-05 09:13:30 +02:00
कारतोफ्फेलस्क्रिप्ट™ cffda65b33
refactor(core): Add an option to use simple recovery process by default (#7097) 2023-09-04 19:58:36 +02:00
कारतोफ्फेलस्क्रिप्ट™ ee36f2d20b
refactor(core): Disable slow-query log by default (no-changelog) (#7096)
Fixes:
https://community.n8n.io/t/stop-logging-full-query-for-execution/29732

[Slack
Conversation](https://n8nio.slack.com/archives/C035KBDA917/p1693218994681939)
2023-09-04 17:59:08 +02:00
कारतोफ्फेलस्क्रिप्ट™ f286bd33c1
ci: Fix linting (no-changelog) (#7099) 2023-09-04 17:07:11 +02:00
Iván Ovejero 8a28e98ec8
fix(core): Disallow orphan executions (#7069)
Until https://github.com/n8n-io/n8n/pull/7061 we had an edge case where
a manual unsaved workflow when run creates an orphan execution, i.e. a
saved execution not pointing to any workflow. This execution is only
ever visible to the instance owner (even if triggered by a member), and
is wrongly stored as unfinished and crashed. This PR enforces that the
DB disallows any such executions from making it into the DB.

This is needed also for the S3 client, which will include the
`workflowId` in the path-like filename.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-04 16:57:10 +02:00
Cornelius Suermann e26553f198
feat(core): Add support for floating licenses (#7090)
This PR updates the license-sdk to v2.5.0 which introduces optional
support for floating licenses.
2023-09-04 15:56:20 +02:00
Iván Ovejero fd78021b68
feat(core): Add list query middleware to credentials (#7041) 2023-09-04 15:00:25 +02:00
Iván Ovejero 413e0bccb4
feat(core): Migration for soft deletions for executions (#7088)
Based on https://github.com/n8n-io/n8n/pull/7065

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-04 14:34:03 +02:00
Iván Ovejero 442b910ffb
refactor(core): Consolidate CredentialsService.getMany() (no-changelog) (#7028)
Consolidate `CredentialsService.getMany()` in preparation for adding
list query middleware to `GET /credentials`.
2023-09-04 10:37:16 +02:00
Iván Ovejero 008cdcce56
ci: Fix lint to fix build (#7076) 2023-09-01 16:23:23 +02:00
कारतोफ्फेलस्क्रिप्ट™ 97f87ae0fc
refactor(core): Add addColumns and dropColumns to the migrations DSL (no-changelog) (#7073) 2023-09-01 15:19:49 +02:00
Iván Ovejero 51093f649d
refactor: Move community package logic to service (no-changelog) (#6973) 2023-09-01 15:13:19 +02:00
कारतोफ्फेलस्क्रिप्ट™ 2432dcc661
fix(core): Prevent bots from scanning the application (no-changelog) (#7066)
N8N-6878
2023-09-01 13:54:35 +02:00
कारतोफ्फेलस्क्रिप्ट™ a693b29134
ci: Fix prettier auto-formatting (no-changelog) (#7063) 2023-09-01 13:29:31 +02:00
Iván Ovejero fa3d7070b0
refactor(core): Remove unneeded call from CreateWorkflowHistoryTable migration (no-changelog) (#7072)
https://github.com/n8n-io/n8n/pull/7069/files#r1312786460
2023-09-01 12:16:24 +02:00
Iván Ovejero 95cb127dfa
refactor(core): Remove slow LDAP query and unused telemetry event (#7068)
https://linear.app/n8n/issue/PAY-660
2023-09-01 12:05:14 +02:00
Mutasem Aldmour 8a8d4e8bb3
fix: Load remote resources even if expressions in non requried parameters resolve (#6987)
Github issue / Community forum post (link here to close automatically):
2023-08-31 16:40:20 +02:00
Iván Ovejero 8cd4db0ab7
refactor(core): Simplify marking logic in binary data manager (no-changelog) (#7046)
- For a saved execution, we write to disk binary data and metadata.
These two are only ever deleted via `POST /executions/delete`. No marker
file, so untouched by pruning.
- For an unsaved execution, we write to disk binary data, binary data
metadata, and a marker file at `/meta`. We later delete all three during
pruning.
- The third flow is legacy. Currently, if the execution is unsaved, we
actually store it in the DB while running the workflow and immediately
after the workflow is finished during the `onWorkflowPostExecute()` hook
we delete that execution, so the second flow applies. But formerly, we
did not store unsaved executions in the DB ("ephemeral executions") and
so we needed to write a marker file at `/persistMeta` so that, if the
ephemeral execution crashed after the step where binary data was stored,
we had a way to later delete its associated dangling binary data via a
second pruning cycle, and if the ephemeral execution succeeded, then we
immediately cleaned up the marker file at `/persistMeta` during the
`onWorkflowPostExecute()` hook.

This creation and cleanup at `/persistMeta` is still happening, but this
third flow no longer has a purpose, as we now store unsaved executions
in the DB and delete them immediately after. Hence the third flow can be
removed.
2023-08-31 16:02:20 +02:00
github-actions[bot] 24cb23adfc
🚀 Release 1.5.1 (#7059)
## [1.5.1](https://github.com/n8n-io/n8n/compare/n8n@1.5.0...n8n@1.5.1)
(2023-08-31)


### Features

* **Strapi Node:** Add token credentials
([#7048](https://github.com/n8n-io/n8n/issues/7048))
([c01bca5](c01bca562b))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-08-31 14:47:59 +02:00
github-actions[bot] 0ca2c780ed
🚀 Release 1.5.0 (#7056)
# [1.5.0](https://github.com/n8n-io/n8n/compare/n8n@1.4.0...n8n@1.5.0)
(2023-08-31)


### Bug Fixes

* **Agile CRM Node:** Fix issue with company address not working
([#6997](https://github.com/n8n-io/n8n/issues/6997))
([2f81652](2f81652400))
* **Code Node:** Switch over to vm2 fork
([#7018](https://github.com/n8n-io/n8n/issues/7018))
([dfe0fa6](dfe0fa65f8))
* **core:** Invalid NODES_INCLUDE should not crash the app
([#7038](https://github.com/n8n-io/n8n/issues/7038))
([04e3178](04e3178901)),
closes [#6683](https://github.com/n8n-io/n8n/issues/6683)
* **core:** Setup websocket keep-live messages
([#6866](https://github.com/n8n-io/n8n/issues/6866))
([8bdb07d](8bdb07d33d)),
closes [#6757](https://github.com/n8n-io/n8n/issues/6757)
* **core:** Throw `NodeSSLError` only for nodes that allow ignoring SSL
issues ([#6928](https://github.com/n8n-io/n8n/issues/6928))
([a01c3fb](a01c3fbc19))
* **Date & Time Node:** Dont parse date if it's not set (null or
undefined) ([#7050](https://github.com/n8n-io/n8n/issues/7050))
([d72f79f](d72f79ffb3))
* **editor:** Fix sending of Ask AI tracking events
([#7002](https://github.com/n8n-io/n8n/issues/7002))
([fb05afa](fb05afa165))
* **Microsoft Excel 365 Node:** Support for more extensions in workbook
rlc ([#7020](https://github.com/n8n-io/n8n/issues/7020))
([d6e1cf2](d6e1cf232f))
* **MongoDB Node:** Stringify response ObjectIDs
([#6990](https://github.com/n8n-io/n8n/issues/6990))
([9ca990b](9ca990b993))
* **MongoDB Node:** Upgrade mongodb package to address CVE-2021-32050
([#7054](https://github.com/n8n-io/n8n/issues/7054))
([d3f6356](d3f635657c))
* **Postgres Node:** Empty return data fix for Postgres and MySQL
([#7016](https://github.com/n8n-io/n8n/issues/7016))
([176ccd6](176ccd62bc))
* **Webhook Node:** Fix URL params for webhooks
([#6986](https://github.com/n8n-io/n8n/issues/6986))
([596b569](596b5695cd))


### Features

* **core:** External Secrets storage for credentials
([#6477](https://github.com/n8n-io/n8n/issues/6477))
([ed927d3](ed927d34b2))
* **core:** Add MFA ([#4767](https://github.com/n8n-io/n8n/issues/4767))
([2b7ba6f](2b7ba6fdf1))
* **core:** Add filtering, selection and pagination to users
([#6994](https://github.com/n8n-io/n8n/issues/6994))
([b716241](b716241b42))
* **editor:** Debug executions in the editor
([#6834](https://github.com/n8n-io/n8n/issues/6834))
([c833078](c833078c87))
* **RSS Read Node:** Add support for self signed certificates
([#7039](https://github.com/n8n-io/n8n/issues/7039))
([3b9f0fe](3b9f0fed7a))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-08-31 12:57:20 +02:00
कारतोफ्फेलस्क्रिप्ट™ 281c0ae829
ci: Define explicit charset for mysql/mariadb test database (no-changelog) (#7053)
[DB
Tests](https://github.com/n8n-io/n8n/actions/runs/6035513299/job/16375993427)
2023-08-31 11:57:40 +02:00
कारतोफ्फेलस्क्रिप्ट™ 9d70ce3a15
ci: Fix occasionally failing MFA e2e test (no-changelog) (#7040) 2023-08-29 15:39:10 +02:00
Omar Ajoue a4578d68a5
feat: Create workflow history database migration (no-changelog) (#7031)
Github issue / Community forum post (link here to close automatically):

For the upcoming workflow history feature, we're creating the necessary
database tables.

Also changes the schema for Postgres so the versionId column is now
properly a UUID. The `using` statement prevents losing data, basically
converting the strings to UUIDs.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2023-08-29 12:01:11 +02:00
Iván Ovejero 53361d1d62
refactor: Move node i18n logic to NodeTypes (no-changelog) (#7035) 2023-08-29 10:46:24 +02:00
Iván Ovejero b716241b42
feat(core): Add filtering, selection and pagination to users (#6994)
https://linear.app/n8n/issue/PAY-646
2023-08-28 16:13:17 +02:00
कारतोफ्फेलस्क्रिप्ट™ 8bdb07d33d
fix(core): Setup websocket keep-live messages (#6866)
fixes #6757
2023-08-28 10:26:27 +02:00
कारतोफ्फेलस्क्रिप्ट™ 0356419c1a
feat(Code Node)!: Add a flag to disable forwarding of code logging to stdout (#6966) 2023-08-25 14:23:23 +02:00
कारतोफ्फेलस्क्रिप्ट™ 596b5695cd
fix(Webhook Node): Fix URL params for webhooks (#6986)
Fixes:

https://community.n8n.io/t/empty-params-variables-in-webhook-node-after-upgrading-to-n8n-1-3-1/29624
2023-08-25 13:28:32 +02:00
Iván Ovejero 87cf1d9c1b
refactor(core): Make controller constructors consistent (no-changelog) (#7015) 2023-08-25 13:23:22 +02:00
Alex Grozav ed927d34b2
feat: External Secrets storage for credentials (#6477)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Romain Minaud <romain.minaud@gmail.com>
Co-authored-by: Valya Bullions <valya@n8n.io>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-08-25 10:33:46 +02:00
कारतोफ्फेलस्क्रिप्ट™ 72f65dcdd6
refactor(core): Do not import BaseCommand outside src/commands (no-changelog) (#7008) 2023-08-25 00:17:00 +02:00
कारतोफ्फेलस्क्रिप्ट™ 92d4befea6
fix(core): Fix AddMfaColumns migration for sqlite (no-changelog) (#7006)
When ever we have migrations that use `.addColumn` or `.dropColumn`,
typeorm recreates tables for sqlite. so, we need to disable foreign key
enforcement for sqlite, or else data in some tables can get deleted
because of `ON DELETE CASCADE`

[This has happened in the
past](https://github.com/n8n-io/n8n/pull/6739), and we should really
come up with a way to prevent this from happening again.

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-08-24 09:31:37 -04:00
Ricardo Espinoza 2b7ba6fdf1
feat(core): Add MFA (#4767)
https://linear.app/n8n/issue/ADO-947/sync-branch-with-master-and-fix-fe-e2e-tets

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-08-23 22:59:16 -04:00
github-actions[bot] 0e89a65b38
🚀 Release 1.4.0 (#7001)
# [1.4.0](https://github.com/n8n-io/n8n/compare/n8n@1.3.0...n8n@1.4.0)
(2023-08-23)


### Bug Fixes

* **core:** Add recoveryInProgress flag file
([#6962](https://github.com/n8n-io/n8n/issues/6962))
([7b96820](7b96820218))
* **core:** Fix `continueOnFail` for expression error in Set
([#6939](https://github.com/n8n-io/n8n/issues/6939))
([d4fac05](d4fac0527b))
* **core:** Fix `import:workflow` command
([#6996](https://github.com/n8n-io/n8n/issues/6996))
([8c38d85](8c38d85e76))
* **core:** Replace throw with warning when deactivating a non-active
workflow ([#6969](https://github.com/n8n-io/n8n/issues/6969))
([b6a00fe](b6a00febbd))
* **core:** Set up OAuth2 cred test
([#6960](https://github.com/n8n-io/n8n/issues/6960))
([4fc69b7](4fc69b776c))
* **editor:** Do not flag dynamic load options issue on expression
([#6932](https://github.com/n8n-io/n8n/issues/6932))
([60a1ef0](60a1ef0993))
* **editor:** Ensure community node install button tracks user agreement
([#6976](https://github.com/n8n-io/n8n/issues/6976))
([0ddfc73](0ddfc73bee))
* **editor:** Fix parsing for single quoted resolvables
([#6982](https://github.com/n8n-io/n8n/issues/6982))
([f32e993](f32e993227))
* **editor:** Fix Remove all fields not removing values in resource
mapper ([#6940](https://github.com/n8n-io/n8n/issues/6940))
([e6cff3f](e6cff3fce4))
* **editor:** Prevent Code node linter from erroring on `null` parse
([#6934](https://github.com/n8n-io/n8n/issues/6934))
([40d3a29](40d3a295d3))
* **Google Sheets Node:** Fix short sheet name interpreted as range
([#6989](https://github.com/n8n-io/n8n/issues/6989))
([00268a0](00268a019a))
* **Google Sheets Trigger Node:** Support sheet names with non-latin
characters ([#6970](https://github.com/n8n-io/n8n/issues/6970))
([052dd7c](052dd7cc9d))
* **GraphQL Node:** Improve error handling
([#6955](https://github.com/n8n-io/n8n/issues/6955))
([41db637](41db6371f0))
* **Mautic Node:** Fix issue with owner not being set correctly
([#6991](https://github.com/n8n-io/n8n/issues/6991))
([64b950f](64b950f294))
* **Salesforce Node:** Fix Account update owner operation
([#6958](https://github.com/n8n-io/n8n/issues/6958))
([9b27878](9b27878d8f))
* **Shopify Node:** Fix pagination when using options
([#6972](https://github.com/n8n-io/n8n/issues/6972))
([475d9c9](475d9c98e8))
* **Webhook Node:** Backward compatible form-data parsing for non-array
fields ([#6967](https://github.com/n8n-io/n8n/issues/6967))
([9455bcf](9455bcfef5))


### Features

* **core:** Add a warning to error workflows that cannot be started due
to permission or settings
([#6961](https://github.com/n8n-io/n8n/issues/6961))
([67b88f7](67b88f75f4))
* **core:** Add support for ready hooks, and credentials overwrite
endpoint in workers ([#6954](https://github.com/n8n-io/n8n/issues/6954))
([8f8a1de](8f8a1de3dd))
* **editor:** Show banner for non-production licenses
([#6943](https://github.com/n8n-io/n8n/issues/6943))
([413570c](413570c49d))
* Remove PostHog event calls
([#6915](https://github.com/n8n-io/n8n/issues/6915))
([270946a](270946a93b))
* **Send Email Node:** Add support for sending text and html email
simultaneously ([#6978](https://github.com/n8n-io/n8n/issues/6978))
([3860d41](3860d41d73))

Co-authored-by: krynble <krynble@users.noreply.github.com>
2023-08-23 15:41:49 +02:00
Iván Ovejero 8c38d85e76
fix(core): Fix import:workflow command (#6996)
Ref: https://github.com/n8n-io/n8n/actions/runs/5946170960

To test:

```sh
./packages/cli/bin/n8n export:workflow --all --output=./all-workflows.json
./packages/cli/bin/n8n import:workflow --input=./all-workflows.json
```
2023-08-23 15:15:14 +02:00
Iván Ovejero 96a9de68a0
refactor(core): Move all user DB access to UserRepository (#6910)
Prep for https://linear.app/n8n/issue/PAY-646
2023-08-22 15:58:05 +02:00
Omar Ajoue 67b88f75f4
feat(core): Add a warning to error workflows that cannot be started due to permission or settings (#6961)
Github issue / Community forum post (link here to close automatically):

This PR aims to address an issue where an Error workflow cannot be
started, either due to insufficient permissions or because its settings
prevent it from being called.

The way of addressing this is by creating a failed execution for the
appointed error workflow stating the error, as can be seen below.

This means the execution itself won't start, as it's prevented before
the execution beings, but we save a "stub" execution to show the error.

![Screenshot 2023-08-17 at 16 17
02](https://github.com/n8n-io/n8n/assets/219272/d8ec0144-13c5-4b11-b91c-a6b440816ccf)
2023-08-22 15:26:33 +02:00
Iván Ovejero 2d1d638654
ci: Remove --report-unused-disable-directives to speed up CI (#6988)
https://n8nio.slack.com/archives/C03MZF137FV/p1692610341832309
2023-08-22 13:42:05 +02:00
Iván Ovejero 2cfa6d344e
refactor: Consolidate WorkflowService.getMany() (no-changelog) (#6892)
In scope:

- Consolidate `WorkflowService.getMany()`.
- Support non-entity field `ownedBy` for `select`.
- Support `tags` for `filter`.
- Move `addOwnerId` to `OwnershipService`.
- Remove unneeded check for `filter.id`.
- Simplify DTO validation for `filter` and `select`.
- Expand tests for `GET /workflows`.

Workflow list query DTOs:

```
filter → name, active, tags
select → id, name, active, tags, createdAt, updatedAt, versionId, ownedBy
```

Out of scope:

- Migrate `shared_workflow.roleId` and `shared_credential.roleId` to
string IDs.
- Refactor `WorkflowHelpers.getSharedWorkflowIds()`.
2023-08-22 13:19:37 +02:00
Iván Ovejero 9b9b891e68
refactor(core): Move remaining tags logic to service (no-changelog) (#6920)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-08-22 12:24:43 +02:00
Iván Ovejero dd233bdf7d
test: Fix license tests when tenantId is not default (no-changelog) (#6977)
License tests fail if the env has a non-default `tenantId`:

<details>
<summary>Stack trace</summary>

```
nt -- license

> n8n@1.3.0 test /Users/ivov/Development/n8n/packages/cli
> pnpm test:sqlite "--" "license"


> n8n@1.3.0 test:sqlite /Users/ivov/Development/n8n/packages/cli
> N8N_LOG_LEVEL=silent DB_TYPE=sqlite jest "--" "license"

 FAIL  test/unit/License.test.ts
  License
    ✕ initializes license manager (8 ms)
    ✓ attempts to activate license with provided key
    ✓ renews license (1 ms)
    ✓ check if feature is enabled (2 ms)
    ✓ check if sharing feature is enabled (1 ms)
    ✓ check fetching entitlements
    ✓ check fetching feature values (1 ms)
    ✓ check management jwt
    ✓ getMainPlan() returns the right entitlement (3 ms)
    ✓ getMainPlan() returns undefined if there is no main plan

  ● License › initializes license manager

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    - Expected
    + Received

      Object {
        "autoRenewEnabled": true,
        "autoRenewOffset": 259200,
    -   "deviceFingerprint": Any<Function>,
    -   "loadCertStr": Any<Function>,
    -   "logger": Anything,
    +   "deviceFingerprint": [Function deviceFingerprint],
    +   "loadCertStr": [Function loadCertStr],
    +   "logger": Logger {
    +     "logger": DerivedLogger {
    +       "_events": Object {
    +         "data": [Function ondata],
    +         "end": [Function bound onceWrapper],
    +         "prefinish": [Function prefinish],
    +       },
    +       "_eventsCount": 3,
    +       "_maxListeners": undefined,
    +       "_readableState": ReadableState {
    +         "autoDestroy": false,
    +         "awaitDrain": 0,
    +         "buffer": BufferList {
    +           "head": null,
    +           "length": 0,
    +           "tail": null,
    +         },
    +         "decoder": null,
    +         "defaultEncoding": "utf8",
    +         "destroyed": false,
    +         "emitClose": true,
    +         "emittedReadable": false,
    +         "encoding": null,
    +         "endEmitted": false,
    +         "ended": false,
    +         "flowing": true,
    +         "highWaterMark": 16,
    +         "length": 0,
    +         "needReadable": true,
    +         "objectMode": true,
    +         "paused": false,
    +         "pipes": Console {
    +           "__winstonerror": [Function bound transportEvent],
    +           "__winstonwarn": [Function bound transportEvent],
    +           "_events": Object {
    +             "close": [Function bound onceWrapper],
    +             "drain": [Function pipeOnDrainFunctionResult],
    +             "error": Array [
    +               [Function onerror],
    +               [Function bound transportEvent],
    +             ],
    +             "finish": [Function bound onceWrapper],
    +             "unpipe": Array [
    +               [Function bound onceWrapper],
    +               [Function onunpipe],
    +             ],
    +             "warn": [Function bound transportEvent],
    +           },
    +           "_eventsCount": 6,
    +           "_maxListeners": 30,
    +           "_writableState": WritableState {
    +             "autoDestroy": false,
    +             "bufferProcessing": false,
    +             "bufferedRequest": null,
    +             "bufferedRequestCount": 0,
    +             "corked": 0,
    +             "corkedRequestsFree": CorkedRequest {
    +               "entry": null,
    +               "finish": [Function anonymous],
    +               "next": null,
    +             },
    +             "decodeStrings": true,
    +             "defaultEncoding": "utf8",
    +             "destroyed": false,
    +             "emitClose": true,
    +             "ended": false,
    +             "ending": false,
    +             "errorEmitted": false,
    +             "finalCalled": false,
    +             "finished": false,
    +             "highWaterMark": 16,
    +             "lastBufferedRequest": null,
    +             "length": 0,
    +             "needDrain": false,
    +             "objectMode": true,
    +             "onwrite": [Function anonymous],
    +             "pendingcb": 0,
    +             "prefinished": false,
    +             "sync": true,
    +             "writecb": null,
    +             "writelen": 0,
    +             "writing": false,
    +           },
    +           "consoleWarnLevels": Object {},
    +           "eol": "
    + ",
    +           "format": Printf {
    +             "template": [Function anonymous],
    +           },
    +           "handleExceptions": undefined,
    +           "handleRejections": undefined,
    +           "level": undefined,
    +           "levels": Object {
    +             "debug": 5,
    +             "error": 0,
    +             "http": 3,
    +             "info": 2,
    +             "silly": 6,
    +             "verbose": 4,
    +             "warn": 1,
    +           },
    +           "name": "console",
    +           "parent": [Circular],
    +           "silent": undefined,
    +           "stderrLevels": Object {},
    +           "writable": true,
    +           Symbol(kCapture): false,
    +         },
    +         "pipesCount": 1,
    +         "readableListening": false,
    +         "reading": false,
    +         "readingMore": false,
    +         "resumeScheduled": true,
    +         "sync": false,
    +       },
    +       "_transformState": Object {
    +         "afterTransform": [Function bound afterTransform],
    +         "needTransform": false,
    +         "transforming": false,
    +         "writecb": null,
    +         "writechunk": null,
    +         "writeencoding": null,
    +       },
    +       "_writableState": WritableState {
    +         "autoDestroy": false,
    +         "bufferProcessing": false,
    +         "bufferedRequest": null,
    +         "bufferedRequestCount": 0,
    +         "corked": 0,
    +         "corkedRequestsFree": CorkedRequest {
    +           "entry": null,
    +           "finish": [Function anonymous],
    +           "next": null,
    +         },
    +         "decodeStrings": true,
    +         "defaultEncoding": "utf8",
    +         "destroyed": false,
    +         "emitClose": true,
    +         "ended": false,
    +         "ending": false,
    +         "errorEmitted": false,
    +         "finalCalled": false,
    +         "finished": false,
    +         "highWaterMark": 16,
    +         "lastBufferedRequest": null,
    +         "length": 0,
    +         "needDrain": false,
    +         "objectMode": true,
    +         "onwrite": [Function anonymous],
    +         "pendingcb": 0,
    +         "prefinished": false,
    +         "sync": true,
    +         "writecb": null,
    +         "writelen": 0,
    +         "writing": false,
    +       },
    +       "allowHalfOpen": true,
    +       "defaultMeta": null,
    +       "exceptions": ExceptionHandler {
    +         "handlers": Map {},
    +         "logger": [Circular],
    +       },
    +       "exitOnError": true,
    +       "format": Format {
    +         "options": Object {},
    +       },
    +       "level": "silent",
    +       "levels": Object {
    +         "debug": 5,
    +         "error": 0,
    +         "http": 3,
    +         "info": 2,
    +         "silly": 6,
    +         "verbose": 4,
    +         "warn": 1,
    +       },
    +       "profilers": Object {},
    +       "readable": true,
    +       "rejections": RejectionHandler {
    +         "handlers": Map {},
    +         "logger": [Circular],
    +       },
    +       "silent": true,
    +       "writable": true,
    +       Symbol(kCapture): false,
    +     },
    +   },
        "productIdentifier": "n8n-1.3.0",
    -   "saveCertStr": Any<Function>,
    +   "saveCertStr": [Function saveCertStr],
        "server": "https://server.com/v1",
    -   "tenantId": 1,
    +   "tenantId": 1001,
      },

    Number of calls: 1

      29 |
      30 | 	test('initializes license manager', async () => {
    > 31 | 		expect(LicenseManager).toHaveBeenCalledWith({
         | 		                       ^
      32 | 			autoRenewEnabled: true,
      33 | 			autoRenewOffset: MOCK_RENEW_OFFSET,
      34 | 			deviceFingerprint: expect.any(Function),

      at Object.<anonymous> (test/unit/License.test.ts:31:26)


 RUNS  test/integration/license.api.test.ts

Test Suites: 1 failed, 1 of 2 total
Tests:       1 failed, 9 passed, 10 total
Snapshots:   0 total
Time:        2 s, estimated 4 s
████████████████████████████████████████^C ELIFECYCLE  Command failed.
 ELIFECYCLE  Test failed. See above for more details.
```

</details>
2023-08-21 10:29:21 +02:00
Michael Auerswald 7b96820218
fix(core): Add recoveryInProgress flag file (#6962)
Issue: during startup, unfinished executions trigger a recovery process
that, under certain circumstances, can in itself crash the instance
(e.g. by running our of memory), resulting in an infinite recovery loop

This PR aims to change this behaviour by writing a flag file when the
recovery process starts, and removing it when it finishes. In the case
of a crash, this flag will persist and upon the next attempt, the
recovery will instead do the absolute minimal (marking executions as
'crashed'), without attempting any 'crashable' actions.
2023-08-18 17:12:24 +02:00
Iván Ovejero 4fc69b776c
fix(core): Set up OAuth2 cred test (#6960)
https://linear.app/n8n/issue/PAY-728
2023-08-18 16:18:44 +02:00
Michael Auerswald b6a00febbd
fix(core): Replace throw with warning when deactivating a non-active workflow (#6969)
Replaces a throw with a warning message instead, since the failure in
question is not serious enough to warrant stopping the application.
2023-08-18 14:04:49 +02:00
कारतोफ्फेलस्क्रिप्ट™ 9455bcfef5
fix(Webhook Node): Backward compatible form-data parsing for non-array fields (#6967) 2023-08-18 12:34:42 +02:00
Ricardo Espinoza 270946a93b
feat: Remove PostHog event calls (#6915) 2023-08-17 11:39:32 -04:00
कारतोफ्फेलस्क्रिप्ट™ 41c3cc89ca
refactor(core): Delete some duplicate code between ActiveWebhooks and ActiveWorkflowRunner (no-changelog) (#6951) 2023-08-17 17:18:14 +02:00
कारतोफ्फेलस्क्रिप्ट™ 8f8a1de3dd
feat(core): Add support for ready hooks, and credentials overwrite endpoint in workers (#6954) 2023-08-17 15:42:57 +02:00
Iván Ovejero 413570c49d
feat(editor): Show banner for non-production licenses (#6943)
https://linear.app/n8n/issue/PAY-692
2023-08-17 14:00:17 +02:00
कारतोफ्फेलस्क्रिप्ट™ 0913e0dbd3 Merge tag 'n8n@1.3.0' 2023-08-16 18:36:01 +02:00
Iván Ovejero 7ce5d8fd90
refactor: Upgrade to Prettier 3 (no-changelog) (#6947)
Supersedes https://github.com/n8n-io/n8n/pull/6937

Excluding fixtures and test workflow JSONs to avoid having to update
tests.
2023-08-16 17:13:57 +02:00
github-actions[bot] f86d9a4b34
🚀 Release 1.3.0 (#6945)
# [1.3.0](https://github.com/n8n-io/n8n/compare/n8n@1.2.0...n8n@1.3.0)
(2023-08-16)


### Bug Fixes

* **core:** Don't let bull override the default redis config
([#6897](https://github.com/n8n-io/n8n/issues/6897))
([cfeb322](cfeb322b3b))
* **core:** Fix fetching of EE executions
([#6901](https://github.com/n8n-io/n8n/issues/6901))
([f3fce48](f3fce48155))
* **core:** Update frontend urls when using the `--tunnel` option
([#6898](https://github.com/n8n-io/n8n/issues/6898))
([718e613](718e61354d))
* **editor:** Disable telemetry in dev mode and in E2E tests
([#6869](https://github.com/n8n-io/n8n/issues/6869))
([808a928](808a92809e))
* **editor:** Fix code node’s content property to be reactive
([#6931](https://github.com/n8n-io/n8n/issues/6931))
([3b75bc6](3b75bc6bc1))
* **editor:** Fix event emit on credential sharing
([#6922](https://github.com/n8n-io/n8n/issues/6922))
([297c3c9](297c3c91f2))
* **editor:** Fix multiOptions parameters resetting on initial load
([#6903](https://github.com/n8n-io/n8n/issues/6903))
([49867c2](49867c2b17))
* **editor:** Update execution view layout
([#6882](https://github.com/n8n-io/n8n/issues/6882))
([0339732](0339732378))
* **Email Trigger (IMAP) Node:** Fix connection issue with unexpected
spaces in host ([#6886](https://github.com/n8n-io/n8n/issues/6886))
([f3248e4](f3248e46e4))
* Fix issue with key formatting if null or undefined
([#6924](https://github.com/n8n-io/n8n/issues/6924))
([4e4a3cf](4e4a3cf7ab))
* Fix issue with key formatting introduced in 1.2.0
([#6896](https://github.com/n8n-io/n8n/issues/6896))
([0e075c9](0e075c9cb5))
* Fix lag when node parameters are updated
([#6941](https://github.com/n8n-io/n8n/issues/6941))
([3eb65e0](3eb65e08c4))
* **HTTP Request Node:** Improve error handling for TCP socket errors
when `Continue On Fail` is enabled
([#6925](https://github.com/n8n-io/n8n/issues/6925))
([96ff1f8](96ff1f847d))
* Prevent workflow breaking when credential type is unknown
([#6923](https://github.com/n8n-io/n8n/issues/6923))
([e83b93f](e83b93f293))
* **Respond to Webhook Node:** Return headers in response
([#6921](https://github.com/n8n-io/n8n/issues/6921))
([a82107f](a82107fb05))


### Features

* **core:** Add support for not requiring SMTP auth with user management
([#3742](https://github.com/n8n-io/n8n/issues/3742))
([eead6d4](eead6d49f2))
* **core:** Descriptive message for common nodeJS errors
([#6841](https://github.com/n8n-io/n8n/issues/6841))
([3adb0b6](3adb0b66ea))
* **editor:** Ask AI in Code node
([#6672](https://github.com/n8n-io/n8n/issues/6672))
([fde6ad1](fde6ad1e7f))
* Enable parallel processing on multiple queue nodes
([#6295](https://github.com/n8n-io/n8n/issues/6295))
([44afcff](44afcff959))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-08-16 16:55:05 +02:00
कारतोफ्फेलस्क्रिप्ट™ bb76c18073
ci: Fix executeBatch command to fix workflow tests (no-changelog) (#6946)
This broke because [we started returning an explicit `undefined` on
error
descriptions](https://github.com/n8n-io/n8n/pull/6841/files#diff-ea9bff15fe880ac829cc642c7e72a25d2348e331e77fc060cbe11a6effb6aeaeR430)

[Test
run](https://github.com/n8n-io/n8n/actions/runs/5879776481/job/15945235163)
2023-08-16 16:53:17 +02:00
OlegIvaniv fde6ad1e7f
feat(editor): Ask AI in Code node (#6672)
* feat(editor): Ask AI tab and CLi connection

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove old getSchema util method

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Increase CSS specificity of the CodeNodeEditor global overrides

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* feat(editor): Magic Connect

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Improve AI controller, load conditionally, UX modal imporvements

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Extract-out AI curl

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Move loading phrases to locale, add support for ask ai experiment

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix build

* adjust communication

* fix: Remove duplicate source control preferences fetching (no-changelog) (#6675)

fix: remove duplicate source control preferences fetching (no-changelog)

* fix(Slack Node): Add UTM params to n8n reference in Slack message (no-changelog) (#6668)

fix(Slack Node): Add UTM params to n8n reference in Slack message

* fix(FileMaker Node): Improve returned error responses (#6585)

* fix(Microsoft Outlook Node): Fix issue with category not correctly applying (#6583)

* feat(Airtable Node): Overhaul (#6200)

* fix(core): Deleting manual executions should defer deleting binary data (#6680)

deleting manual executions should defer deleting binary data

* fix(editor): Add paywall state to non owner users for Variables (#6679)

* fix(editor): Add paywall state to non owner users for Variables

* fix(editor): Add variables view tests

* fix(editor): remove link from paywall state for non owner

* fix(editor): fix displaying logic

* refactor(core): Refactor WorkflowStatistics code (no-changelog) (#6617)

refactor(core): Refactor WorkflowStatistics code

* fix(editor): Hide Execute Node button for unknown nodes (#6684)

* feat: Allow hiding credential params on cloud (#6687)

* fix: Stop n8n from complaining about credentials when saving a new workflow form a template (#6671)

* fix(core): Upgrade semver to address CVE-2022-25883 (#6689)

* fix(core): Upgrade semver to address CVE-2022-25883

[GH Advisory](https://github.com/advisories/GHSA-c2qf-rxjj-qqgw)

* enforce the patched version of semver everywhere in the dev setup

* ci: Fix test checker glob (no changelog) (#6682)

ci: Fix test checker glob

* fix(API): Do not add starting node on workflow creation (#6686)

* fix(API): Do not add starting node on workflow creation

* chore: Remove comment

* fix(core): Filter out workflows that failed to activate on startup (#6676)

* fix(core): Deactivate on init workflow that should not be retried

* fix(core): Filter out workflows with activation errors

* fix(core): Load SAML libraries dynamically (#6690)

load SAML dynamically

* fix(crowd.dev Node): Fix documentation urls for crowd.dev credentials and nodes (#6696)

* feat(Read PDF Node): Replace pdf-parse with pdfjs, and add support for streaming and encrypted PDFs (#6640)

* feat: Allow `eslint-config` to be externally consumable (#6694)

* feat: Allow `eslint-config` to be externally consumable

* refactor: Adjust import styles

* fix(Contentful Node): Fix typo in credential name (no-changelog) (#6692)

* fix(editor): Ensure default credential values are not detected as dirty state (#6677)

* fix(editor): Ensure default credential values are not detected as dirty state

* chore: Remove logging

* refactor: Improve comment

* feat(Google Cloud Storage Node): Use streaming for file uploads (#6462)

fix(Google Cloud Storage Node): Use streaming for file uploads

* fix(editor): Prevent RMC from loading schema if it's already cached (#6695)

* fix(editor): Prevent RMC from loading schema if it's already cached
*  Adding new tests for RMC
* 👕 Fixing lint errors
* 👌 Updating inline loader styling

* fix(API): Fix issue with workflow setting not supporting newer nanoids (#6699)

* ci: Fix test workflows (no-changelog) (#6698)

* ci: Fix test workflows (no-changelog)

We removed `pdf-parse` in #6640, so we need to get these test PDF files from the `test-workflows` repo instead ([which has been updated to include these files](0f6ef1c804))

* remove `\n` from ids and skipList text files

* fix(core): Banner dismissal should also work for users migrating to v1 (no-changelog) (#6700)

* fix(Postgres Node): For select queries, empty result should be be replaced with `{"success":true}` (#6703)

* fix(Postgres Node): For select queries, empty result should be be replaced with `{"success":true}`

*  less checks

---------

Co-authored-by: Michael Kret <michael.k@radency.com>

* feat(editor): Removing `ph-no-capture` class from some elements (#6674)

* feat(editor): Remove `.ph-no-capture` class from some of the fields
* ✔️ Updating test snapshots
*  Redacting expressions preview in credentials form
* 🔧 Disable posthog input masking
* 🚨 Testing PostHog iFrame settings
* Reverting iframe test
*  Hiding API key in PostHog recordings
*  Added tests for redacted values
* ✔️ Updating checkbox snapshots after label component update
* ✔️ Updating test snapshots in editor-ui
* 👕 Fix lint errors

* fix(editor): Remove global link styling in v1 banner (#6705)

* fix: Add missing indices on sqlite (#6673)

* fix: enforce tag name uniqueness on sqlite

* rename migration and add other missing indices

* add tags tests

* test: Move test timeout to `/cli` (no-changelog) (#6712)

* fix(core): Redirect user to previous url after SSO signin (#6710)

redirect user to previous url after SSO signin

* fix(FTP Node): List recursive ignore . and .. to prevent infinite loops (#6707)

ignore . and .. to prevent infinite loop

Co-authored-by: Michael Kret <michael.k@radency.com>

* ci: Fix running e2e tests in dev mode (no-changelog) (#6717)

* fix(Google BigQuery Node): Error description improvement (#6715)

* fix(GitLab Trigger Node): Fix trigger activation 404 error  (#6711)

* fix webhook checkExists not deleting static data

* improve webhook checkExists not deleting static data

* fix(core): Support redis cluster in queue mode (#6708)

* support redis cluster

* cleanup, fix config schema

* set default prefix to bull

* fix(editor): Skip error line highlighting if out of range (#6721)

* fix(AwsS3 Node): Fix issue if bucket name contains a '.' (#6542)

* test(editor): Add canvas actions E2E tests (#6723)

* test(editor): Add canvas actions E2E tests

* test(editor): Open category items in node creator when category dropped on canvas

* test(editor): Have new position counted only once in drag

* test(editor): rename test

* feat(Rundeck Node): Add support for node filters  (#5633)

* fix(Gmail Trigger Node): Early returns in case of no data (#6727)

* fix(core): Use JWT as reset password token (#6714)

* use jwt to reset password

* increase expiration time to 1d

* drop user id query string

* refactor

* use service instead of package in tests

* sqlite migration

* postgres migration

* mysql migration

* remove unused properties

* remove userId from FE

* fix test for users.api

* move migration to the common folder

* move type assertion to the jwt.service

* Add jwt secret as a readonly property

* use signData instead of sign in user.controller

* remove base class

* remove base class

* add tests

* ci: Fix tests on postgres (no-changelog)

* refactor(core): Prevent community packages queries if feature is disabled (#6728)

* feat(core): Add cache service (#6729)

* add cache service

* PR adjustments

* switch to maxSize for memory cache

* Revert "test(editor): Add canvas actions E2E tests" (#6736)

Revert "test(editor): Add canvas actions E2E tests (#6723)"

This reverts commit 052d82b220.

* fix(Postgres Node): Arrays in query replacement fix (#6718)

* fix(Telegram Trigger Node): Add guard to 'include' call on null or undefined (#6730)

* fix(core): Use `exec` in docker images to forward signals correctly (#6732)

* refactor(core): Move webhook DB access to repository (no-changelog) (#6706)

* refactor(core): Move webhook DB access to repository (no-changelog)

* make sure `DataSource` is initialized before it's dependencies

at some point I hope to replace `DataSource` with a custom `DatabaseConnection` service class that can then disconnect and reconnect from DB without having to update all repositories.

---------

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

* feat: Environments release using source control (#6653)

* initial telemetry setup and adjusted pull return

* quicksave before merge

* feat: add conflicting workflow list to pull modal

* feat: update source control pull modal

* fix: fix linting issue

* feat: add Enter keydown event for submitting source control push modal (no-changelog)

feat: add Enter keydown event for submitting source control push modal

* quicksave

* user workflow table for export

* improve telemetry data

* pull api telemetry

* fix lint

* Copy tweaks.

* remove authorName and authorEmail and pick from user

* rename owners.json to workflow_owners.json

* ignore credential conflicts on pull

* feat: several push/pull flow changes and design update

* pull and push return same data format

* fix: add One last step toast for successful pull

* feat: add up to date pull toast

* fix: add proper Learn more link for push and pull modals

* do not await tracking being sent

* fix import

* fix await

* add more sourcecontrolfile status

* Minor copy tweak for "More info".

* Minor copy tweak for "More info".

* ignore variable_stub conflicts on pull

* ignore whitespace differences

* do not show remote workflows that are not yet created

* fix telemetry

* fix toast when pulling deleted wf

* lint fix

* refactor and make some imports dynamic

* fix variable edit validation

* fix telemetry response

* improve telemetry

* fix unintenional delete commit

* fix status unknown issue

* fix up to date toast

* do not export active state and reapply versionid

* use update instead of upsert

* fix: show all workflows when clicking push to git

* feat: update Up to date pull translation

* fix: update read only env checks

* do not update versionid of only active flag changes

* feat: prevent access to new workflow and templates import when read only env

* feat: send only active state and version if workflow state is not dirty

* fix: Detect when only active state has changed and prevent generation a new version ID

* feat: improve readonly env messages

* make getPreferences public

* fix telemetry issue

* fix: add partial workflow update based on dirty state when changing active state

* update unit tests

* fix: remove unsaved changes check in readOnlyEnv

* fix: disable push to git button when read onyl env

* fix: update readonly toast duration

* fix: fix pinning and title input in protected mode

* initial commit (NOT working)

* working push

* cleanup and implement pull

* fix getstatus

* update import to new method

* var and tag diffs are no conflicts

* only show pull conflict for workflows

* refactor and ignore faulty credentials

* add sanitycheck for missing git folder

* prefer fetch over pull and limit depth to 1

* back to pull...

* fix setting branch on initial connect

* fix test

* remove clean workfolder

* refactor: Remove some unnecessary code

* Fixed links to docs.

* fix getstatus query params

* lint fix

* dialog to show local and remote name on conflict

* only show remote name on conflict

* fix credential expression export

* fix: Broken test

* dont show toast on pull with empty var/tags and refactor

* apply frontend changes from old branch

* fix tag with same name import

* fix buttons shown for non instance owners

* prepare local storage key for removal

* refactor: Change wording on pushing and pulling

* refactor: Change menu item

* test: Fix broken test

* Update packages/cli/src/environments/sourceControl/types/sourceControlPushWorkFolder.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

---------

Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* fix(core): Fix RemoveResetPasswordColumns migration for sqlite (no-changelog) (#6739)

* ci: Update changelog generation to work with node 18

* refactor: Remove webhook from `IDatabaseCollections` (no-changelog) (#6745)

* refactor: Remove webhook from `IDatabaseCollections`

* refactor: Remove also from `collections`

* 🚀 Release 1.1.0 (#6746)

Co-authored-by: netroy <netroy@users.noreply.github.com>

* fix(Lemlist Node): Fix pagination issues with campaigns and activities (#6734)

* ci: Fix linting issues (no-changelog) (#6747)

* fix(core): Allow ignoring SSL issues on generic oauth2 credentials (#6702)

* refactor: Remove all references to the resetPasswordToken field (no-changelog) (#6751)

refactor: remove all references to the resetPasswordToken field (no-changelog)

* refactor(core): Use mixins to delete redundant code between Entity classes (no-changelog) (#6616)

* db entities don't need an ID before they are inserted

* don't define constructors on entity classes, use repository.create instead

* use mixins to reduce duplicate code in db entity classes

* fix: Display source control buttons properly (#6756)

* feat(editor): Migrate Design System and Editor UI to Vue 3 (#6476)

* feat: remove vue-fragment (no-changelog)

* feat: partial design-system migration

* feat: migrate info-accordion and info-tip components

* feat: migrate several components to vue 3

* feat: migrated several components

* feat: migrate several components

* feat: migrate several components

* feat: migrate several components

* feat: re-exported all design system components

* fix: fix design for popper components

* fix: editor kind of working, lots of issues to fix

* fix: fix several vue 3 migration issues

* fix: replace @change with @update:modelValue in several places

* fix: fix translation linking

* fix: fix inline-edit input

* fix: fix ndv and dialog design

* fix: update parameter input event bindings

* fix: rename deprecated lifecycle methods

* fix: fix json view mapping

* build: update lock file

* fix(editor): revisit last conflict with master and fix issues

* fix(editor): revisit last conflict with master and fix issues

* fix: fix expression editor bug causing code mirror to no longer be reactive

* fix: fix resource locator bug

* fix: fix vue-agile integration

* fix: remove global import for vue-agile

* fix: replace element-plus buttons with n8n-buttons everywhere

* fix(editor): Fix various element-plus styles (#6571)

* fix(editor): Fix various element-plus styles

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove debugging code

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Fix loading in production mode [Vue 3] (#6578)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): First round of e2e tests fixes with Vue 3 (#6579)

* fix(editor): Fix broken smoke and workflow list e2e tests
* ✔️ Fix failing canvas action tests. Updating some selectors used in credentials and workflow tests

* feat: add vue 3 eslint rules and fix issues

* fix: fix tags-dropdown

* fix: fix white-space issues caused by i18n-t

* fix: rename non-generic click events

* fix: fix search in resources list layout

* fix: fix datatable paginator

* fix: fix popper select caret and dropdown size

* fix: add width to action-dropdown

* fix: fix workflow settings icon not being hidden

* fix: refactor newly added code

* fix: fix merge issue

* fix: fix ndv credentials watcher

* fix: fix workflow saving and grabber notch

* fix: fix nodes list panel transition

* fix: fix node title visibility

* fix: fix data unpinning

* fix: fix value access

* fix: show  input panel only if trigger panel enabled or not trigger node

* fix: fix tags dropdown and executions status spcing

* fix(editor): Prevent execution list to load back when leaving the route (#6697)

fix(editor): prevent execution list to load back when leaving the route

* fix: fix drawer visibility

* fix: fix expression toggle padding

* fix: fix expressions editor styling

* chore: prepare for testing

* fix: fix styling for el-button without patching

* test: fix unit tests in design-system

* test: fix most unit tests

* fix: remove import cycle.

* fix: fix personalization modal tests

* fix further resource mapper test adjustments

* fix: fix multiple tests and n8n-route attr duplication

* fix: fix source control tets

* fix: fixed remaining unit tests

* fix: fix workflows and credentials e2e tests

* fix: fix localizeNodeNames

* fix: update ndv e2e tests

* fix: fix popper left placement arrow

* fix: fix 5-ndv e2e tests

* fix: fix 6-code-node e2e tests

* fix(editor): Drop click outside directive from NodeCreator (#6716)

* fix(editor): Drop click outside directive from NodeCreator

* fix(editor): make sure mouseup outside is unbound at least before the component is unmounted

* fix: fix 10-settings-log-streaming e2e tests

* fix: fix node redrawing

* fix: fix tooltip buttons styling

* fix: fix varous e2e suites

* fix: fix 15-scheduler-node e2e suite

* fix: fix route watcher

* fix: fixed param name update and credential edit

* feat: update event names

* refactor: Remove deprecated `$data` (#6576)

Co-authored-by: Alex Grozav <alex@grozav.com>

* fix: fix 17-sharing e2e suite

* fix: fix tags dropdown

* fix: fix tags manager

* fix(editor): move :deep selectors to a separate scoped style block

* fix: fix sticky component and inline text edit

* fix: update e2e tests

* fix: remove button override references

* fix(editor): Adjust spacing in templates for Vue 3 (#6744)

* fix(editor): Adjust spacing in templates

* fix: Undo unneeded change

* fix: Undo unneeded change

* fix(editor): Adjust NDV height for Vue 3 (#6742)

fix(editor): Adjust NDV height

* fix(editor): Restore collapsed sidebar items for Vue 3 (#6743)

fix(editor): Restore collapsed sidebar items

* fix: fix linting issues

* fix: fix design-system deps

* fix: post-merge fixes

* fix: update tests

* fix: increase timeout for executionslist tets

* chore: fix linting issue

* fix: fix 14-mapping e2e tests in ci

* fix: re-enable tests

* fix: fix workflow duplication e2e tests after tags update

* fix(editor): Change component prop to be typed

* fix: fix tags dropdown in duplicate wf modal

* fix: fix focus behaviour in tags selector

* fix: fix tag creation

* fix: fix log streaming e2e race condition

* fix(editor): Fix Vue 3 linting issues (#6748)

* fix(editor): Fix Vue 3 linting issues

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix MainSidebar linter issues

* revert pnpm lock

* update pnpm lock file

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Some css fixes for vue3 branch (#6749)

*  Fixing filter button height

*  Update input modal button position

*  Updating tags styling

*  Fix event logging settings spacing

* 👕 Fixing lint errors

* fix: fix linting issues

* Revert to `// eslint-disable-next-line @typescript-eslint/no-misused-promises` disabling of mixins init

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix css issue

* fix(editor): Lint fix

* fix(editor): Fix settings initialisation (#6750)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix initial settings loading

* fix: replace realClick with click force

* fix: fix randomly failing mapping e2e tests

* fix(editor): Fix menu item event handling

* fix: fix resource filters dropdown events (#6752)

* fix: fix resource filters dropdown events

* fix: remove teleported:false

* fix: fix event selection event naming (#6753)

* fix: removed console.log (#6754)

* fix: rever await nextTick changes

* fix: redo linting changes

* fix(editor): Redraw node connections if adding more than one node to canvas (#6755)

* fix(editor): Redraw node connections if adding more than one node to canvas

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Update position before connection two nodes

* Lint fix

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Fix `ResourceMapper` unit tests (#6758)

* ✔️ Fix matching columns test

* ✔️ Fix multiple matching columns test

* ✔️ Removing `skip` from the last test

* fix: Allow pasting a big workflow (#6760)

* fix: pasting a big workflow

* chore: update comment

* refactor: move try/catch to function

* refactor: move try/catch to function

* fix(editor): Fix modal layer width

* fix: fix position changes

* fix: undo it.only

* fix: make undo/redo multiple steps more verbose

* fix: Fix value survey styles (#6764)

* fix: fix value survey styles

* fix: lint

* Revert "fix: lint"

72869c431f

* fix: lint

* fix(editor): Fix collapsed sub menu

* fix: Fix drawer animation (#6767)

fix: drawer animation

* fix(editor): Fix source control buttons (#6769)

* fix(editor): Fix App loading & auth  (#6768)

* fix(editor): Fix App loading & auth

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Await promises

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix eslint error

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>

* perf(editor): Memoize locale translate calls during actions generation (#6773)

performance(editor): Memoize locale translate calls during actions generation

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Close tags dropdown when modal is opened (#6766)

* feat: remove vue-fragment (no-changelog)

* feat: partial design-system migration

* feat: migrate info-accordion and info-tip components

* feat: migrate several components to vue 3

* feat: migrated several components

* feat: migrate several components

* feat: migrate several components

* feat: migrate several components

* feat: re-exported all design system components

* fix: fix design for popper components

* fix: editor kind of working, lots of issues to fix

* fix: fix several vue 3 migration issues

* fix: replace @change with @update:modelValue in several places

* fix: fix translation linking

* fix: fix inline-edit input

* fix: fix ndv and dialog design

* fix: update parameter input event bindings

* fix: rename deprecated lifecycle methods

* fix: fix json view mapping

* build: update lock file

* fix(editor): revisit last conflict with master and fix issues

* fix(editor): revisit last conflict with master and fix issues

* fix: fix expression editor bug causing code mirror to no longer be reactive

* fix: fix resource locator bug

* fix: fix vue-agile integration

* fix: remove global import for vue-agile

* fix: replace element-plus buttons with n8n-buttons everywhere

* fix(editor): Fix various element-plus styles (#6571)

* fix(editor): Fix various element-plus styles

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove debugging code

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Fix loading in production mode [Vue 3] (#6578)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): First round of e2e tests fixes with Vue 3 (#6579)

* fix(editor): Fix broken smoke and workflow list e2e tests
* ✔️ Fix failing canvas action tests. Updating some selectors used in credentials and workflow tests

* feat: add vue 3 eslint rules and fix issues

* fix: fix tags-dropdown

* fix: fix white-space issues caused by i18n-t

* fix: rename non-generic click events

* fix: fix search in resources list layout

* fix: fix datatable paginator

* fix: fix popper select caret and dropdown size

* fix: add width to action-dropdown

* fix: fix workflow settings icon not being hidden

* fix: refactor newly added code

* fix: fix merge issue

* fix: fix ndv credentials watcher

* fix: fix workflow saving and grabber notch

* fix: fix nodes list panel transition

* fix: fix node title visibility

* fix: fix data unpinning

* fix: fix value access

* fix: show  input panel only if trigger panel enabled or not trigger node

* fix: fix tags dropdown and executions status spcing

* fix(editor): Prevent execution list to load back when leaving the route (#6697)

fix(editor): prevent execution list to load back when leaving the route

* fix: fix drawer visibility

* fix: fix expression toggle padding

* fix: fix expressions editor styling

* chore: prepare for testing

* fix: fix styling for el-button without patching

* test: fix unit tests in design-system

* test: fix most unit tests

* fix: remove import cycle.

* fix: fix personalization modal tests

* fix further resource mapper test adjustments

* fix: fix multiple tests and n8n-route attr duplication

* fix: fix source control tets

* fix: fixed remaining unit tests

* fix: fix workflows and credentials e2e tests

* fix: fix localizeNodeNames

* fix: update ndv e2e tests

* fix: fix popper left placement arrow

* fix: fix 5-ndv e2e tests

* fix: fix 6-code-node e2e tests

* fix(editor): Drop click outside directive from NodeCreator (#6716)

* fix(editor): Drop click outside directive from NodeCreator

* fix(editor): make sure mouseup outside is unbound at least before the component is unmounted

* fix: fix 10-settings-log-streaming e2e tests

* fix: fix node redrawing

* fix: fix tooltip buttons styling

* fix: fix varous e2e suites

* fix: fix 15-scheduler-node e2e suite

* fix: fix route watcher

* fix: fixed param name update and credential edit

* feat: update event names

* refactor: Remove deprecated `$data` (#6576)

Co-authored-by: Alex Grozav <alex@grozav.com>

* fix: fix 17-sharing e2e suite

* fix: fix tags dropdown

* fix: fix tags manager

* fix(editor): move :deep selectors to a separate scoped style block

* fix: fix sticky component and inline text edit

* fix: update e2e tests

* fix: remove button override references

* fix(editor): Adjust spacing in templates for Vue 3 (#6744)

* fix(editor): Adjust spacing in templates

* fix: Undo unneeded change

* fix: Undo unneeded change

* fix(editor): Adjust NDV height for Vue 3 (#6742)

fix(editor): Adjust NDV height

* fix(editor): Restore collapsed sidebar items for Vue 3 (#6743)

fix(editor): Restore collapsed sidebar items

* fix: fix linting issues

* fix: fix design-system deps

* fix: post-merge fixes

* fix: update tests

* fix: increase timeout for executionslist tets

* chore: fix linting issue

* fix: fix 14-mapping e2e tests in ci

* fix: re-enable tests

* fix: fix workflow duplication e2e tests after tags update

* fix(editor): Change component prop to be typed

* fix: fix tags dropdown in duplicate wf modal

* fix: fix focus behaviour in tags selector

* fix: fix tag creation

* fix: fix log streaming e2e race condition

* fix(editor): Fix Vue 3 linting issues (#6748)

* fix(editor): Fix Vue 3 linting issues

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix MainSidebar linter issues

* revert pnpm lock

* update pnpm lock file

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Some css fixes for vue3 branch (#6749)

*  Fixing filter button height

*  Update input modal button position

*  Updating tags styling

*  Fix event logging settings spacing

* 👕 Fixing lint errors

* fix: fix linting issues

* Revert to `// eslint-disable-next-line @typescript-eslint/no-misused-promises` disabling of mixins init

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix css issue

* fix(editor): Lint fix

* fix(editor): Fix settings initialisation (#6750)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix initial settings loading

* fix: replace realClick with click force

* fix: fix randomly failing mapping e2e tests

* fix(editor): Fix menu item event handling

* fix: fix resource filters dropdown events (#6752)

* fix: fix resource filters dropdown events

* fix: remove teleported:false

* fix: fix event selection event naming (#6753)

* fix: removed console.log (#6754)

* fix: rever await nextTick changes

* fix: redo linting changes

* fix(editor): Redraw node connections if adding more than one node to canvas (#6755)

* fix(editor): Redraw node connections if adding more than one node to canvas

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Update position before connection two nodes

* Lint fix

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Fix `ResourceMapper` unit tests (#6758)

* ✔️ Fix matching columns test

* ✔️ Fix multiple matching columns test

* ✔️ Removing `skip` from the last test

* fix: Allow pasting a big workflow (#6760)

* fix: pasting a big workflow

* chore: update comment

* refactor: move try/catch to function

* refactor: move try/catch to function

* fix(editor): Fix modal layer width

* fix: fix position changes

* fix: undo it.only

* fix: make undo/redo multiple steps more verbose

* fix: Fix value survey styles (#6764)

* fix: fix value survey styles

* fix: lint

* Revert "fix: lint"

72869c431f

* fix: lint

* fix(editor): Close tags dropdown when modal is opened

* ✔️ Updating tag selectors in e2e tests

* ✔️ Using tab to blur dropdown after adding tags

* ✔️ Clicking on the New Tab button instead of the tags dropdown to open it

* Reverting merge changes added by mistake

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>

* fix: Show NodeIcon tooltips by removing pointer-events: none (#6777)

fix: show NodeIcon tooltips by removing pointer-events: none

* fix: Respect set modal widths (#6771)

* feat: remove vue-fragment (no-changelog)

* feat: partial design-system migration

* feat: migrate info-accordion and info-tip components

* feat: migrate several components to vue 3

* feat: migrated several components

* feat: migrate several components

* feat: migrate several components

* feat: migrate several components

* feat: re-exported all design system components

* fix: fix design for popper components

* fix: editor kind of working, lots of issues to fix

* fix: fix several vue 3 migration issues

* fix: replace @change with @update:modelValue in several places

* fix: fix translation linking

* fix: fix inline-edit input

* fix: fix ndv and dialog design

* fix: update parameter input event bindings

* fix: rename deprecated lifecycle methods

* fix: fix json view mapping

* build: update lock file

* fix(editor): revisit last conflict with master and fix issues

* fix(editor): revisit last conflict with master and fix issues

* fix: fix expression editor bug causing code mirror to no longer be reactive

* fix: fix resource locator bug

* fix: fix vue-agile integration

* fix: remove global import for vue-agile

* fix: replace element-plus buttons with n8n-buttons everywhere

* fix(editor): Fix various element-plus styles (#6571)

* fix(editor): Fix various element-plus styles

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove debugging code

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Fix loading in production mode [Vue 3] (#6578)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): First round of e2e tests fixes with Vue 3 (#6579)

* fix(editor): Fix broken smoke and workflow list e2e tests
* ✔️ Fix failing canvas action tests. Updating some selectors used in credentials and workflow tests

* feat: add vue 3 eslint rules and fix issues

* fix: fix tags-dropdown

* fix: fix white-space issues caused by i18n-t

* fix: rename non-generic click events

* fix: fix search in resources list layout

* fix: fix datatable paginator

* fix: fix popper select caret and dropdown size

* fix: add width to action-dropdown

* fix: fix workflow settings icon not being hidden

* fix: refactor newly added code

* fix: fix merge issue

* fix: fix ndv credentials watcher

* fix: fix workflow saving and grabber notch

* fix: fix nodes list panel transition

* fix: fix node title visibility

* fix: fix data unpinning

* fix: fix value access

* fix: show  input panel only if trigger panel enabled or not trigger node

* fix: fix tags dropdown and executions status spcing

* fix(editor): Prevent execution list to load back when leaving the route (#6697)

fix(editor): prevent execution list to load back when leaving the route

* fix: fix drawer visibility

* fix: fix expression toggle padding

* fix: fix expressions editor styling

* chore: prepare for testing

* fix: fix styling for el-button without patching

* test: fix unit tests in design-system

* test: fix most unit tests

* fix: remove import cycle.

* fix: fix personalization modal tests

* fix further resource mapper test adjustments

* fix: fix multiple tests and n8n-route attr duplication

* fix: fix source control tets

* fix: fixed remaining unit tests

* fix: fix workflows and credentials e2e tests

* fix: fix localizeNodeNames

* fix: update ndv e2e tests

* fix: fix popper left placement arrow

* fix: fix 5-ndv e2e tests

* fix: fix 6-code-node e2e tests

* fix(editor): Drop click outside directive from NodeCreator (#6716)

* fix(editor): Drop click outside directive from NodeCreator

* fix(editor): make sure mouseup outside is unbound at least before the component is unmounted

* fix: fix 10-settings-log-streaming e2e tests

* fix: fix node redrawing

* fix: fix tooltip buttons styling

* fix: fix varous e2e suites

* fix: fix 15-scheduler-node e2e suite

* fix: fix route watcher

* fix: fixed param name update and credential edit

* feat: update event names

* refactor: Remove deprecated `$data` (#6576)

Co-authored-by: Alex Grozav <alex@grozav.com>

* fix: fix 17-sharing e2e suite

* fix: fix tags dropdown

* fix: fix tags manager

* fix(editor): move :deep selectors to a separate scoped style block

* fix: fix sticky component and inline text edit

* fix: update e2e tests

* fix: remove button override references

* fix(editor): Adjust spacing in templates for Vue 3 (#6744)

* fix(editor): Adjust spacing in templates

* fix: Undo unneeded change

* fix: Undo unneeded change

* fix(editor): Adjust NDV height for Vue 3 (#6742)

fix(editor): Adjust NDV height

* fix(editor): Restore collapsed sidebar items for Vue 3 (#6743)

fix(editor): Restore collapsed sidebar items

* fix: fix linting issues

* fix: fix design-system deps

* fix: post-merge fixes

* fix: update tests

* fix: increase timeout for executionslist tets

* chore: fix linting issue

* fix: fix 14-mapping e2e tests in ci

* fix: re-enable tests

* fix: fix workflow duplication e2e tests after tags update

* fix(editor): Change component prop to be typed

* fix: fix tags dropdown in duplicate wf modal

* fix: fix focus behaviour in tags selector

* fix: fix tag creation

* fix: fix log streaming e2e race condition

* fix(editor): Fix Vue 3 linting issues (#6748)

* fix(editor): Fix Vue 3 linting issues

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix MainSidebar linter issues

* revert pnpm lock

* update pnpm lock file

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Some css fixes for vue3 branch (#6749)

*  Fixing filter button height

*  Update input modal button position

*  Updating tags styling

*  Fix event logging settings spacing

* 👕 Fixing lint errors

* fix: fix linting issues

* Revert to `// eslint-disable-next-line @typescript-eslint/no-misused-promises` disabling of mixins init

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix css issue

* fix(editor): Lint fix

* fix(editor): Fix settings initialisation (#6750)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: fix initial settings loading

* fix: replace realClick with click force

* fix: fix randomly failing mapping e2e tests

* fix(editor): Fix menu item event handling

* fix: fix resource filters dropdown events (#6752)

* fix: fix resource filters dropdown events

* fix: remove teleported:false

* fix: fix event selection event naming (#6753)

* fix: removed console.log (#6754)

* fix: rever await nextTick changes

* fix: redo linting changes

* fix(editor): Redraw node connections if adding more than one node to canvas (#6755)

* fix(editor): Redraw node connections if adding more than one node to canvas

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Update position before connection two nodes

* Lint fix

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>

* fix(editor): Fix `ResourceMapper` unit tests (#6758)

* ✔️ Fix matching columns test

* ✔️ Fix multiple matching columns test

* ✔️ Removing `skip` from the last test

* fix: Allow pasting a big workflow (#6760)

* fix: pasting a big workflow

* chore: update comment

* refactor: move try/catch to function

* refactor: move try/catch to function

* fix(editor): Fix modal layer width

* fix: fix position changes

* fix: undo it.only

* fix: make undo/redo multiple steps more verbose

* fix: Fix value survey styles (#6764)

* fix: fix value survey styles

* fix: lint

* Revert "fix: lint"

72869c431f

* fix: lint

* fix(editor): Fix collapsed sub menu

* fix: Fix drawer animation (#6767)

fix: drawer animation

* fix(editor): Fix source control buttons (#6769)

* fix: Respect modal width

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* fix(editor): Fix tooltip opening delay prop name (#6776)

fix(editor): fix tooltip opening delay prop name

* fix(editor): Fix collapsed sub menu elements (#6778)

* fix: Remove number input arrows (no-changelog) (#6782)

fix: remove number input arrows

* ci: Update most of the dev tooling (no-changelog) (#6780)

* fix(TheHive Node): Treat  `ApiKey` as a secret (#6786)

* test(editor): Prevent node view unload by default in e2e run (#6787)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Resolve vue 3 related console-warnings (#6779)

* fix(editor): Resolve vue 3 related console-warnings

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Use span as component wrapper instead of div

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Wrap popover component in span

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(editor): Vue3 - Fix modal positioning and multi-select tag sizing (#6783)

*  Updating modals positioning within the overlay
* 💄 Implemented multi-select variant with small tabs
* ✔️ Removing password link clicks while modal is open in e2e tests
* Set generous timeout for $paramter resolve
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>

* ci: Fix linting issues (no-changelog) (#6788)

* ci: Fix linting (no-changelog)

* lintfix for nodes-base as well

* fix(editor): Fix code node highlight error (#6791)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* feat(core): Credentials for popular SecOps services, Part 1 (#6775)

* refactor: Clear unused ESLint directives from BE packages (no-changelog) (#6798)

* refactor(core): Cache workflow ownership (#6738)

* refactor: Set up ownership service

* refactor: Specify cache keys and values

* refactor: Replace util with service calls

* test: Mock service in tests

* refactor: Use dependency injection

* test: Write tests

* refactor: Apply feedback from Omar and Micha

* test: Fix tests

* test: Fix missing spot

* refactor: Return user entity from cache

* refactor: More dependency injection!

* fix(editor): Prevent text edit dialog from re-opening in same tick (#6781)

* fix: prevent reopenning textedit dialog in same tick

* fix: add same logic for code edit dialog

* fix: remove stop modifier

* fix: blur input field when closing modal, removing default element-plus behaviour

* test(editor): Do not chain invoke calls after assertions in 24-ndv-paired-item e2e spec (no-changelog) (#6800)

* test(editor): Do not chaing invoke calls after assertions in 24-ndv-paired-item e2e spec

* Do not chaing realHover after assertion

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove .only

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix(Todoist Node): Fix issue with section id being ignored (#6799)

* test(editor): Add canvas actions E2E tests (#6723) (#6790)

* test(editor): Add canvas actions E2E tests (#6723)

* test(editor): Add canvas actions E2E tests

* test(editor): Open category items in node creator when category dropped on canvas

* test(editor): Have new position counted only once in drag

* test(editor): rename test

(cherry picked from commit 052d82b220)

* test: fix drag positioning

* fix(core): Add missing primary key on the `execution_data` table on postgres (#6797)

* fix: Review fixes

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* fix: Fin locales

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix merging errors

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Map erros based on statusCode

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix code replacing

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix code formatting

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address review points

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Optionally access total_tokens

* Clean-up Ask AI modal

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Store prompt in sessionStorage

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Improve schema generation, only get parent nodes

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Send error messages to telemetry, aske before switching tabs

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Add locale

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Post-merge cleanup

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Move Ask AI into separate folder

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Lint fix

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Constants lint fix

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Add Ask AI e2e tests and fix linting issues

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Move CircleLoader to design-lib

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Replace circle-lodaer and move el-tabs styles to n8n theme

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix placeholder & e2e tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove old CircleLoader

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Romain Dunand <romain@1-more-thing.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
Co-authored-by: Milorad FIlipović <milorad@n8n.io>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Marcus <56945030+maspio@users.noreply.github.com>
Co-authored-by: Jordan Hall <Jordan@libertyware.co.uk>
Co-authored-by: qg-horie <36725144+qg-horie@users.noreply.github.com>
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
2023-08-16 13:08:10 +02:00
Cornelius Suermann 198a977f57
feat(core): Show a banner when running a non-prod license (no-changelog) (#6849)
* add feat:showNonProdBanner

* fix linting

* fix linting
2023-08-16 10:05:03 +02:00
Xavier Calland eead6d49f2
feat: Add support for not requiring SMTP auth with user management (#3742) 2023-08-15 09:55:58 +01:00
कारतोफ्फेलस्क्रिप्ट™ 96ff1f847d
fix(HTTP Request Node): Improve error handling for TCP socket errors when Continue On Fail is enabled (#6925) 2023-08-14 17:26:40 +02:00
कारतोफ्फेलस्क्रिप्ट™ a82107fb05
fix(Respond to Webhook Node): Return headers in response (#6921) 2023-08-14 12:38:17 +02:00
Omar Ajoue 139e08a549
fix: Add only necessary information to executions (no-changelog) (#6916)
* fix: Add only necessary information to executions

* Fix lint

* fix: lint issue

---------

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-08-14 09:44:04 +02:00
कारतोफ्फेलस्क्रिप्ट™ 10c15874b2
fix(core): Restore body parsing for all content-types for non webhook routes (no-changelog)(#6911)
Changes in https://github.com/n8n-io/n8n/pull/6394 removed xml body parsing for all non-webhook routes. This broken SAML endpoints as they need the XML body parser to function correctly.
2023-08-11 09:18:33 +02:00
Michael Kret 7f0db60f15
refactor(core): Abstract away duplication when finding first pinned trigger (no-changelog) (#5927) 2023-08-10 15:06:16 +03:00
कारतोफ्फेलस्क्रिप्ट™ f3fce48155
fix(core): Fix fetching of EE executions (#6901)
fix(core): fix fetching of EE executions
2023-08-10 10:38:22 +02:00
कारतोफ्फेलस्क्रिप्ट™ 718e61354d
fix(core): Update frontend urls when using the --tunnel option (#6898)
fix(core): update frontend urls when using the `--tunnel` option
2023-08-09 19:07:45 +02:00
कारतोफ्फेलस्क्रिप्ट™ cfeb322b3b
fix(core): Don't let bull override the default redis config (#6897) 2023-08-09 18:10:58 +02:00
Omar Ajoue 3d2f4406d7
feat(core): Debug in Editor flag (no-changelog) (#6888)
* feat(cli): Debug in Editor flag (no-changelog)

* fix: Lint issue

* chore: Use correct lock version

* fix: Remove dependency cycle
2023-08-09 16:38:17 +02:00
github-actions[bot] eda34a7ae7
🚀 Release 1.2.0 (#6891)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-08-09 14:10:24 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6553d92c7c
fix(core): Log crash causes to console when sentry is disabled (#6890) 2023-08-09 13:29:57 +02:00
Iván Ovejero dceff675ec
perf(core): Add filtering and pagination to GET /workflows (#6845)
* Initial setup

* Specify max paginated items

* Simplify

* Add tests

* Add more tests

* Add migrations

* Add top-level property

* Add field selection

* Cleanup

* Rename `total` to `count`

* More cleanup

* Move query logic into `WorkflowRepository`

* Create `AbstractRepository`

* Cleanup

* Fix name

* Remove leftover comments

* Replace reference

* Add default for `rawSkip`

* Remove unneeded typing

* Switch to `class-validator`

* Simplify

* Simplify

* Type as optional

* Make typing more accurate

* Fix lint

* Use `getOwnPropertyNames`

* Use DSL

* Set schema at repo level

* Cleanup

* Remove comment

* Refactor repository methods to middleware

* Add middleware tests

* Remove old test files

* Remove generic experiment

* Reuse `reportError`

* Remove unused type

* Cleanup

* Improve wording

* Reduce diff

* Add missing mw

* Use `Container.get`

* Adjust lint rule

* Reorganize into subdir

* Remove unused directive

* Remove nodes

* Silly mistake

* Validate take

* refactor(core): Adjust index handling in new migrations DSL (no-changelog) (#6876)

* refactor(core): Adjust index handling in new migrations DSL (no-changelog)

* Account for custom index name

* Also for dropping

* Fix `select` issue with `relations`

* Tighten validation

* Ensure `ownerId` is not added when specifying `select`
2023-08-09 12:30:02 +02:00
Iván Ovejero 6796d9e5d6
fix(core): Add sharing data to workflows in EE executions (#6872)
* fix(core): Add sharing data to workflows in EE executions

* Address feedback
2023-08-08 14:28:05 +02:00
Iván Ovejero 11440bfd3c
refactor(core): Move tag collection into repository (no-changelog) (#6860)
* refactor(core): Move tag collection into repository

* Fix tests

* Address feedback

* Fix missing spot
2023-08-08 14:08:56 +02:00
Michael Auerswald 6499f42481
feat(core): Add unique id to instances (#6863)
* add serverId and workerId

* adjust id format

* fix logger init / test

* update implementation
2023-08-07 17:03:21 +02:00
Michael Auerswald adcf5a96e8
feat(core): Add metrics option to cache (#6846)
* add metrics to cache

* use events for metrics

* pr comments / broken test

* lint fix

* update the test

* improve tests

* Update packages/cli/src/config/schema.ts

* disable flaky test

* lint fix

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2023-08-04 20:51:07 +02:00
Michael Auerswald fdfc6c5a92
fix(core): Handle empty keys in cache service (no-changelog) (#6854)
* fix handle empty keys in cache service

* add test

* add cache mock test

* add simpler mocking, and add tests for all the updated methods

* don't use RedisStore specifically in the mock

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-08-04 19:44:41 +02:00
Michael Kret 5ab30fdd95
fix(core): OAuth1 authentication fix for Clever Cloud API (#6847) 2023-08-04 19:49:00 +03:00
कारतोफ्फेलस्क्रिप्ट™ 75be1a9c0d
feat(core): Create a dsl for writing db agnostic migrations (#6853) 2023-08-04 17:49:02 +02:00
Jan Oberhauser a8bfb46183 fix(core): Fix WebSocket close codes 2023-08-04 16:40:03 +02:00
Omar Ajoue 63ffe67dad
feat(core): Add workflow history initial setup (no-changelog) (#6852)
* feat: Add workflow history initial setup

* fix: Add feature to missing controller
2023-08-04 12:27:06 +02:00
Iván Ovejero 0511458d41
perf(core): Cache webhooks (#6825)
* refactor: Initial setup

* Refactor for clarity

* Comments to clarify

* More replacements

* Simplify with `fullPath`

* Fix tests

* Implement remaining methods

* chore: Fix misresolved conflicts

* Simplify syntax

* Reduce diff

* Minor cleanup

* Fix lint

* Inject dependency

* Improve typings

* Remove unused method

* Restore method

* Add comment

* Rename in test

* Restore comments

* Clean up dynamic webhook handling

* Clean up tests

* Remove redundant `cache` prefix

* fix: Correct `uniquePath` for dynamic webhooks
2023-08-04 11:52:45 +02:00
कारतोफ्फेलस्क्रिप्ट™ a5667e6c42
fix(core): Update packages to address CVE-2023-2142 and CVE-2020-28469 (#6844)
GH Advisories:
[ CVE-2023-2142](https://github.com/advisories/GHSA-x77j-w7wf-fjmw)
[CVE-2020-28469](https://github.com/advisories/GHSA-ww39-953v-wcq6)

---------

Co-authored-by: Marcus <marcus@n8n.io>
2023-08-03 16:31:55 +02:00
Nihaal Sangha 6ec7033bb7
fix(core): Fix source control name and email being switched (#6839) 2023-08-03 15:19:54 +02:00
Val 371bfa0f48
fix: Auth.api user limit test expecting incorrect status (#6836)
fix: auth.api user limit test expecting incorrect status
2023-08-03 13:03:26 +01:00
Iván Ovejero e4f041815a
perf(core): Cache roles (#6803)
* refactor: Create `RoleService`

* refactor: Refactor to use service

* refactor: Move `getUserRoleForWorkflow`

* refactor: Clear out old `RoleService`

* refactor: Consolidate utils into service

* refactor: Remove unused methods

* test: Add tests

* refactor: Remove redundant return types

* refactor: Missing utility

* chore: Remove commented out bit

* refactor: Make `Db.collections.Repository` inaccessible

* chore: Cleanup

* feat: Prepopulate cache

* chore: Remove logging

* fix: Account for tests where roles are undefined

* fix: Restore `prettier.prettierPath`

* test: Account for cache enabled and disabled

* fix: Restore `Role` in `Db.collections`

* refactor: Simplify by removing `orFail`

* refactor: Rename for clarity

* refactor: Use `cacheKey` for readability

* refactor: Validate role before creation

* refacator: Remove redundant `cache` prefix

* ci: Lint fix

* test: Fix e2e
2023-08-03 08:58:36 +02:00
Michael Auerswald 659ca26fe7
fix(core): Change VariablesService to DI and use caching (#6827)
* support redis cluster

* cleanup, fix config schema

* set default prefix to bull

* initial commit

* improve logging

* improve types and refactor

* list support and refactor

* fix redis service and tests

* add comment

* add redis and cache prefix

* use injection

* lint fix

* clean schema comments

* improve naming, tests, cluster client

* merge master

* cache returns unknown instead of T

* update cache service, tests and doc

* remove console.log

* VariablesService as DI, add caching, fix tests

* do not cache null or undefined values

* import fix

* more DI and remove collections

* fix merge

* lint fix

* rename to ~Cached

* fix test for CI

* fix ActiveWorkflowRunner test
2023-08-02 14:51:09 +02:00
Michael Auerswald 3cad60e918
feat(core): Make Redis available for backend communication (#6719)
* support redis cluster

* cleanup, fix config schema

* set default prefix to bull

* initial commit

* improve logging

* improve types and refactor

* list support and refactor

* fix redis service and tests

* add comment

* add redis and cache prefix

* use injection

* lint fix

* clean schema comments

* improve naming, tests, cluster client

* merge master

* cache returns unknown instead of T

* update cache service, tests and doc

* remove console.log

* do not cache null or undefined values

* fix merge

* lint fix
2023-08-02 12:51:25 +02:00
कारतोफ्फेलस्क्रिप्ट™ 34df8b6238
refactor: Consolidate tsconfig and eslintrc files (no-changelog) (#6816)
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2023-08-01 17:32:43 +02:00
कारतोफ्फेलस्क्रिप्ट™ 31d8f478ee
refactor(core): Parse Webhook request bodies on-demand (#6394)
Also,
1. Consistent CORS support ~on all three webhook types~ waiting webhooks never supported CORS. I'll fix that in another PR
2. [Fixes binary-data handling when request body is text, json, or xml](https://linear.app/n8n/issue/NODE-505/webhook-binary-data-handling-fails-for-textplain-files).
3. Reduced number of middleware that each request has to go through.
4. Removed the need to maintain webhook endpoints in the auth-exception list.
5. Skip all middlewares (apart from `compression`) on Webhook routes. 
6. move `multipart/form-data` support out of individual nodes
7. upgrade `formidable`
8. fix the filenames on binary-data in webhooks nodes
9. add unit tests and integration tests for webhook request handling, and increase test coverage
2023-08-01 17:32:30 +02:00
Iván Ovejero fce8cc4275
fix(Linear Node): Fix issue creation priority (#6813) 2023-08-01 10:58:37 +02:00
कारतोफ्फेलस्क्रिप्ट™ 53e58b408a
fix(core): Fix loading of scoped-community packages (#6807)
fix(code): Fix loading of scoped-community packages
2023-07-31 17:55:16 +02:00
कारतोफ्फेलस्क्रिप्ट™ b7ca27afcf
refactor(core): Delete more redundant code across migrations (Part 1) (no-changelog) (#6691) 2023-07-31 17:35:53 +02:00
Michael Kret f6bf9e9887
fix(core): Restrict read/write file paths access (#6582) 2023-07-31 15:20:39 +03:00
कारतोफ्फेलस्क्रिप्ट™ dc295ac5bf
fix(core): Add missing primary key on the execution_data table on postgres (#6797) 2023-07-31 12:35:42 +02:00
Iván Ovejero ffae8edce3
refactor(core): Cache workflow ownership (#6738)
* refactor: Set up ownership service

* refactor: Specify cache keys and values

* refactor: Replace util with service calls

* test: Mock service in tests

* refactor: Use dependency injection

* test: Write tests

* refactor: Apply feedback from Omar and Micha

* test: Fix tests

* test: Fix missing spot

* refactor: Return user entity from cache

* refactor: More dependency injection!
2023-07-31 11:37:09 +02:00
Iván Ovejero 72523462ea
refactor: Clear unused ESLint directives from BE packages (no-changelog) (#6798) 2023-07-31 11:00:48 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6fb8a9ee39
ci: Fix linting issues (no-changelog) (#6788)
* ci: Fix linting (no-changelog)

* lintfix for nodes-base as well
2023-07-28 18:28:17 +02:00
कारतोफ्फेलस्क्रिप्ट™ 7461085408
ci: Update most of the dev tooling (no-changelog) (#6780) 2023-07-28 13:55:16 +02:00
कारतोफ्फेलस्क्रिप्ट™ dc2ba743eb
refactor(core): Use mixins to delete redundant code between Entity classes (no-changelog) (#6616)
* db entities don't need an ID before they are inserted

* don't define constructors on entity classes, use repository.create instead

* use mixins to reduce duplicate code in db entity classes
2023-07-27 11:53:37 +02:00
कारतोफ्फेलस्क्रिप्ट™ e6903a87b5
refactor: Remove all references to the resetPasswordToken field (no-changelog) (#6751)
refactor: remove all references to the resetPasswordToken field (no-changelog)
2023-07-27 11:53:25 +02:00
कारतोफ्फेलस्क्रिप्ट™ feac369f6c
fix(core): Allow ignoring SSL issues on generic oauth2 credentials (#6702) 2023-07-26 17:56:59 +02:00
कारतोफ्फेलस्क्रिप्ट™ db3c12ffc7
ci: Fix linting issues (no-changelog) (#6747) 2023-07-26 13:47:54 +02:00
कारतोफ्फेलस्क्रिप्ट™ 4098c30cb3 Merge remote-tracking branch 'origin/release/1.1.0' 2023-07-26 12:07:55 +02:00
Iván Ovejero 40d7419821
refactor: Remove webhook from IDatabaseCollections (no-changelog) (#6745)
* refactor: Remove webhook from `IDatabaseCollections`

* refactor: Remove also from `collections`
2023-07-26 11:58:38 +02:00
github-actions[bot] 2f3086c8cb
🚀 Release 1.1.0 (#6746)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-07-26 11:55:53 +02:00
कारतोफ्फेलस्क्रिप्ट™ 1438a737b3
fix(core): Fix RemoveResetPasswordColumns migration for sqlite (no-changelog) (#6739) 2023-07-26 09:39:15 +02:00
Michael Auerswald fc7aa8bd66
feat: Environments release using source control (#6653)
* initial telemetry setup and adjusted pull return

* quicksave before merge

* feat: add conflicting workflow list to pull modal

* feat: update source control pull modal

* fix: fix linting issue

* feat: add Enter keydown event for submitting source control push modal (no-changelog)

feat: add Enter keydown event for submitting source control push modal

* quicksave

* user workflow table for export

* improve telemetry data

* pull api telemetry

* fix lint

* Copy tweaks.

* remove authorName and authorEmail and pick from user

* rename owners.json to workflow_owners.json

* ignore credential conflicts on pull

* feat: several push/pull flow changes and design update

* pull and push return same data format

* fix: add One last step toast for successful pull

* feat: add up to date pull toast

* fix: add proper Learn more link for push and pull modals

* do not await tracking being sent

* fix import

* fix await

* add more sourcecontrolfile status

* Minor copy tweak for "More info".

* Minor copy tweak for "More info".

* ignore variable_stub conflicts on pull

* ignore whitespace differences

* do not show remote workflows that are not yet created

* fix telemetry

* fix toast when pulling deleted wf

* lint fix

* refactor and make some imports dynamic

* fix variable edit validation

* fix telemetry response

* improve telemetry

* fix unintenional delete commit

* fix status unknown issue

* fix up to date toast

* do not export active state and reapply versionid

* use update instead of upsert

* fix: show all workflows when clicking push to git

* feat: update Up to date pull translation

* fix: update read only env checks

* do not update versionid of only active flag changes

* feat: prevent access to new workflow and templates import when read only env

* feat: send only active state and version if workflow state is not dirty

* fix: Detect when only active state has changed and prevent generation a new version ID

* feat: improve readonly env messages

* make getPreferences public

* fix telemetry issue

* fix: add partial workflow update based on dirty state when changing active state

* update unit tests

* fix: remove unsaved changes check in readOnlyEnv

* fix: disable push to git button when read onyl env

* fix: update readonly toast duration

* fix: fix pinning and title input in protected mode

* initial commit (NOT working)

* working push

* cleanup and implement pull

* fix getstatus

* update import to new method

* var and tag diffs are no conflicts

* only show pull conflict for workflows

* refactor and ignore faulty credentials

* add sanitycheck for missing git folder

* prefer fetch over pull and limit depth to 1

* back to pull...

* fix setting branch on initial connect

* fix test

* remove clean workfolder

* refactor: Remove some unnecessary code

* Fixed links to docs.

* fix getstatus query params

* lint fix

* dialog to show local and remote name on conflict

* only show remote name on conflict

* fix credential expression export

* fix: Broken test

* dont show toast on pull with empty var/tags and refactor

* apply frontend changes from old branch

* fix tag with same name import

* fix buttons shown for non instance owners

* prepare local storage key for removal

* refactor: Change wording on pushing and pulling

* refactor: Change menu item

* test: Fix broken test

* Update packages/cli/src/environments/sourceControl/types/sourceControlPushWorkFolder.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

---------

Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-07-26 09:25:01 +02:00
Iván Ovejero bcfc5e717b
refactor(core): Move webhook DB access to repository (no-changelog) (#6706)
* refactor(core): Move webhook DB access to repository (no-changelog)

* make sure `DataSource` is initialized before it's dependencies

at some point I hope to replace `DataSource` with a custom `DatabaseConnection` service class that can then disconnect and reconnect from DB without having to update all repositories.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-07-25 18:17:34 +02:00
Michael Auerswald c0d2bac94d
feat(core): Add cache service (#6729)
* add cache service

* PR adjustments

* switch to maxSize for memory cache
2023-07-25 11:56:38 +02:00
Iván Ovejero e1e6d4a749
refactor(core): Prevent community packages queries if feature is disabled (#6728) 2023-07-25 10:22:32 +02:00
कारतोफ्फेलस्क्रिप्ट™ eeb49e9375 ci: Fix tests on postgres (no-changelog) 2023-07-25 00:11:33 +02:00
Ricardo Espinoza 89f44021b9
fix(core): Use JWT as reset password token (#6714)
* use jwt to reset password

* increase expiration time to 1d

* drop user id query string

* refactor

* use service instead of package in tests

* sqlite migration

* postgres migration

* mysql migration

* remove unused properties

* remove userId from FE

* fix test for users.api

* move migration to the common folder

* move type assertion to the jwt.service

* Add jwt secret as a readonly property

* use signData instead of sign in user.controller

* remove base class

* remove base class

* add tests
2023-07-24 17:40:17 -04:00
Michael Auerswald 4029386349
fix(core): Support redis cluster in queue mode (#6708)
* support redis cluster

* cleanup, fix config schema

* set default prefix to bull
2023-07-21 23:31:52 +02:00
Michael Auerswald 08331c63fb
fix(core): Redirect user to previous url after SSO signin (#6710)
redirect user to previous url after SSO signin
2023-07-20 17:23:29 +02:00
Iván Ovejero 2a7f5437e6
test: Move test timeout to /cli (no-changelog) (#6712) 2023-07-20 17:05:43 +02:00
Val b1838f7fab
fix: Add missing indices on sqlite (#6673)
* fix: enforce tag name uniqueness on sqlite

* rename migration and add other missing indices

* add tags tests
2023-07-20 10:34:45 +01:00
कारतोफ्फेलस्क्रिप्ट™ 8bb7243c2d
fix(core): Banner dismissal should also work for users migrating to v1 (no-changelog) (#6700) 2023-07-19 15:59:49 +02:00
कारतोफ्फेलस्क्रिप्ट™ cc29c4da74
ci: Fix test workflows (no-changelog) (#6698)
* ci: Fix test workflows (no-changelog)

We removed `pdf-parse` in #6640, so we need to get these test PDF files from the `test-workflows` repo instead ([which has been updated to include these files](0f6ef1c804))

* remove `\n` from ids and skipList text files
2023-07-19 14:15:38 +02:00
Jon c7e10130d6
fix(API): Fix issue with workflow setting not supporting newer nanoids (#6699) 2023-07-19 13:02:35 +01:00
Iván Ovejero 3566c13afc
feat: Allow eslint-config to be externally consumable (#6694)
* feat: Allow `eslint-config` to be externally consumable

* refactor: Adjust import styles
2023-07-19 09:35:10 +02:00
Michael Auerswald fce5609fa3
fix(core): Load SAML libraries dynamically (#6690)
load SAML dynamically
2023-07-18 16:01:56 +02:00
Iván Ovejero 667c15d0df
fix(core): Filter out workflows that failed to activate on startup (#6676)
* fix(core): Deactivate on init workflow that should not be retried

* fix(core): Filter out workflows with activation errors
2023-07-18 15:57:14 +02:00
Iván Ovejero 92192fbd61
fix(API): Do not add starting node on workflow creation (#6686)
* fix(API): Do not add starting node on workflow creation

* chore: Remove comment
2023-07-18 14:03:19 +02:00
कारतोफ्फेलस्क्रिप्ट™ 9daf944ba5
fix(core): Upgrade semver to address CVE-2022-25883 (#6689)
* fix(core): Upgrade semver to address CVE-2022-25883

[GH Advisory](https://github.com/advisories/GHSA-c2qf-rxjj-qqgw)

* enforce the patched version of semver everywhere in the dev setup
2023-07-18 12:43:49 +02:00
कारतोफ्फेलस्क्रिप्ट™ f4a18ba87d
refactor(core): Refactor WorkflowStatistics code (no-changelog) (#6617)
refactor(core): Refactor WorkflowStatistics code
2023-07-18 11:28:24 +02:00
कारतोफ्फेलस्क्रिप्ट™ 462a674d17
fix(core): Deleting manual executions should defer deleting binary data (#6680)
deleting manual executions should defer deleting binary data
2023-07-18 10:51:22 +02:00
Milorad FIlipović 028c899166
fix(editor): Fix mysql migration query for v1 banner (no-changelog) (#6669)
fix(editor): Fix mysql migration query for v1 banner
2023-07-17 10:54:01 +02:00
Milorad FIlipović 4240e76253
feat(editor): Implement new banners framework (#6603)
*  Implemented new grid row - banners
*  Fixing node creator and executions sidebar position after layout update
* 💄 Added configurable round corners to the Callout component
*  Fixing mouse position detection and main tab bar position
*  Implemented basic banner component structure
*  Implemented banner state and dismiss logic
*  Fixing grid layout. Updating banners height state dynamically
*  Fix zoom to fit position, mouse position in demo mode and callout vertical alignment
*  Implementing proper trial banners logic
* 💄 Only showing execution usage data once the sidebar is fully expanded
*  Implemented permanent/temporary dismiss logic for v1 flag
*  Minor refactoring of banner logic
*  Updating permanent dismiss logic to work with all banners
* 👕 Fixing linting errors
* ✔️ Updating Callout component test snapshots
* 💄 Tweaking zoom to fit position
* ✔️ Updating testing endpoints to use new store data
*  Added banners unit tests
* ✔️ Fixing failing banner tests
*  Added more banner tests
*  Updating banners dimensions on resize, removing leftover code
* ✔️ Removing store import from API file
* 👕 Fixing lint errors
*  Updating migration files
*  Using query parameters in migrations
* 👌 Addressing design review feedback
*  Updating upgrade plan button click
*  Updating the migrations syntax
* 👌 Updating permanent banner dismiss endpoint and back-end logic
* 👌 Refactoring trial banner component and ui store
* 👌 Addressing more points from code review
* 👌 Moving DOM logic from the store
* ✔️ Updated callout component snapshots
* 👌 Updating mysql migration file
* ✔️ Updating e2e test canvas coordinates after setting it's position to absolute
* 👌 Addressing back-end review feedback
* 👌 Improving typing around banners
* 👕 Fixing lint errors
2023-07-14 15:36:17 +02:00
कारतोफ्फेलस्क्रिप्ट™ ff0759530d
fix(core): Handle all uncaught exception, not just the ones from Axios (#6666) 2023-07-14 13:10:25 +02:00
Michael Auerswald eedde24cc0
fix(core): Use lower cased email for SAML email attribute (#6663)
lower case saml email attribute
2023-07-13 23:41:52 +02:00
कारतोफ्फेलस्क्रिप्ट™ b895ba438a
refactor(core): Reduce boilterplate code in between tests 🧹, and fix the tests in node.js 20 (no-changelog) (#6654)
refactor(core): Reduce boilterplate code in between tests

also cleaned up some imports, and fixed the tests in node.js 20
2023-07-13 10:14:48 +02:00
Iván Ovejero 3e07ffa73e
refactor: Move CLI commands types to own dir (no-changelog) (#6658)
refactor: Move CLI commands types to own dir
2023-07-13 10:10:08 +02:00
Iván Ovejero c35f2b97b3
refactor: Remove outdated publicly accessible warning (no-changelog) (#6657) 2023-07-13 09:58:55 +02:00
कारतोफ्फेलस्क्रिप्ट™ b701dcb8ef
ci!: Drop support for Node.js 16. Add initial support for Node.js 20 (#6649)
We need to drop node 16 support, [as support for it is ends much earlier now, due to support for openssl 1.1.1 ending](https://nodejs.org/en/blog/announcements/nodejs16-eol).

`0.236.x` releases will continue to support Node.js 16 for another two months, and `1.x.x` releases will only support Node.js 18 for now.
2023-07-12 15:03:23 +02:00
OlegIvaniv e5620ab1e4
feat(API): Implement users account quota guards (#6434)
* feat(cli): Implement users account quota guards

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Remove comment

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Address PR comments

- Getting `usersQuota` from `Settings` repo
- Revert `isUserManagementEnabled` helper
- Fix FE listing of users

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Refactor isWithinUserQuota getter and fix tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Revert testDb.ts changes

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Cleanup & improve types

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix duplicated method

* Fix failing test

* Remove `isUserManagementEnabled` completely

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Check for globalRole.name to determine if user is owner

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Fix unit tests

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Set isInstanceOwnerSetUp in specs

* Fix SettingsUserView UM

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* refactor: License typings suggestions for users quota guards (#6636)

refactor: License typings suggestions

* Update packages/cli/src/Ldap/helpers.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* Update packages/cli/test/integration/shared/utils.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* Address PR comments

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Use 403 for all user quota related errors

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-07-12 14:11:46 +02:00
कारतोफ्फेलस्क्रिप्ट™ 329d22f5d1
fix(core): Reduce memory consumption on BinaryDataManager.init (#6633)
fix(core): Reduce memory consumption on BinaryDataManager.init

When there are a few thousand binary data file to delete, the `deleteMarkedFiles` and `deleteMarkedPersistedFiles` methods need a lot of memory to process these files, irrespective of if these files have any data or not.
2023-07-12 10:08:29 +02:00
Iván Ovejero d6b2ae0255
refactor: Stop using .d.ts files for type-collection files (no-changelog) (#6634)
refactor: Stop using `.d.ts` files for type-collection files
2023-07-10 19:35:34 +02:00
कारतोफ्फेलस्क्रिप्ट™ 07744986ea
fix(core): Fix credentials lazy-loading (no-changelog) (#6615) 2023-07-10 17:57:26 +02:00
OlegIvaniv aa53c46367
feat(Slack Node): Add option to include link to workflow in Slack node (#6611)
* feat(Slack Node): Add “automated by” message to Slack node’s post message

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Pass instanceBaseUrl to node context

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Move `includeLinkToWorkflow` to options

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* keep "includeLinkToWorkflow" hidden

* Only append the message for version 2.1 and up

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2023-07-10 15:03:21 +02:00
OlegIvaniv 9460bdd3be
ci: Fix v1 banner migration (no-changelog) (#6628)
* fix(cli): Fix v1 banner migration

* Update packages/cli/src/databases/migrations/mysqldb/1646992772331-CreateUserManagement.ts

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

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2023-07-10 11:10:44 +02:00
OlegIvaniv 071e56f7fd
feat(core): Only show V1 banner to users who migrated (#6622)
* feat(editor): Only show V1 banner to users who migrated

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

* Set the v1 banner dismissed flag in settings table create migration

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
2023-07-07 15:57:05 +02:00
कारतोफ्फेलस्क्रिप्ट™ a76223307f
refactor(core): Load cookieParser middleware only once (no-changelog) (#6614)
[Server.ts already explicitly loads `cookieParser`](https://github.com/n8n-io/n8n/blob/master/packages/cli/src/Server.ts#L571)
2023-07-07 09:57:03 +02:00
कारतोफ्फेलस्क्रिप्ट™ 8002213538 ci: Fix linting issues (no-changelog) 2023-07-06 09:28:34 +02:00
कारतोफ्फेलस्क्रिप्ट™ e33cc2c27c Merge remote-tracking branch 'origin/master' into release/1.0.1 2023-07-05 20:01:24 +02:00
github-actions[bot] b47ee52fb3
🚀 Release 1.0.1 (#6606)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-07-05 19:16:05 +02:00
कारतोफ्फेलस्क्रिप्ट™ d97edbcffa
fix(core): Make node execution order configurable, and backward-compatible (#6507)
* fix(core): Make node execution order configurable, and backward-compatible

*  Also add new Merge-Node behaviour

*  Fix typo

* Fix lint issue

* update labels

* rename legacy to v0

* remove the unnecessary log

* default all new workflows to use v1 execution-order

* remove the controller changes

* clone default settings to avoid it getting modified

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2023-07-05 18:47:34 +02:00
github-actions[bot] dd0fe2a7ab
🚀 Release 0.236.0 (#6602)
Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-07-05 15:34:52 +02:00
Jan Oberhauser c8456afd62 Merge tag 'n8n@0.235.0' 2023-07-05 14:57:09 +02:00
कारतोफ्फेलस्क्रिप्ट™ 282e6aedb3
fix: Fix migrations for postgres and mysql (no-changelog) (#6600)
fix: Fix migrations for postgres and mysql
2023-07-05 14:40:35 +02:00
कारतोफ्फेलस्क्रिप्ट™ 31cba87d30
fix(core): Improve the performance of last 2 sqlite migrations (#6522) 2023-07-05 13:46:42 +02:00
कारतोफ्फेलस्क्रिप्ट™ 9def7a729b
fix(core): Remove typeorm patches, but still enforce transactions on every migration (#6594)
* revert(core): Remove typeorm patches, but still enforce transactions on every migration

This reverts #6519

* always re-enable foreign keys, and explicitly rollback transaction
2023-07-05 11:26:49 +02:00
कारतोफ्फेलस्क्रिप्ट™ f0dfc3cf4e ci: Hide v1 banner in e2e tests to fix 2-credentials.cy.ts (no-changelog) 2023-07-04 22:22:35 +02:00
कारतोफ्फेलस्क्रिप्ट™ b9da67b653 fix(core): Fix migrations for MySQL/MariaDB (#6591) 2023-07-04 21:14:05 +02:00
कारतोफ्फेलस्क्रिप्ट™ c906e7391b fix(core): Route /rest/workflows/new correctly (no-changelog) (#6572) 2023-07-04 21:07:48 +02:00
Michael Auerswald 8f244df0f9 fix(core): Fix credentials test (#6569)
fix credentials test
2023-07-04 21:07:21 +02:00
कारतोफ्फेलस्क्रिप्ट™ f841f187ec fix(core): Ensure valid logger is passed to every migration (no-changelog) (#6563) 2023-07-04 21:07:12 +02:00
कारतोफ्फेलस्क्रिप्ट™ 4c854f4f23
refactor: Setup node context API, and consolidate code between Webhook and Wait nodes (no-changelog) (#6464) 2023-07-04 16:17:50 +02:00
कारतोफ्फेलस्क्रिप्ट™ 29882a6f39
fix(core): Fix migrations for MySQL/MariaDB (#6591) 2023-07-04 16:02:40 +02:00
कारतोफ्फेलस्क्रिप्ट™ ffb4e470b5
fix(core): Update pruning related config defaults for v1 (#6577)
* Save manual executions by default
* Enable executions data pruning by default
* Keep a maximum of 10000 executions by default

Co-authored-by: Cornelius Suermann <cornelius@n8n.io>
2023-07-04 10:49:04 +02:00
कारतोफ्फेलस्क्रिप्ट™ 3b9e65e9e0
fix(core): Route /rest/workflows/new correctly (no-changelog) (#6572) 2023-06-30 08:51:39 +02:00
Michael Auerswald 1abd172f73
fix(core): Fix credentials test (#6569)
fix credentials test
2023-06-29 14:48:55 +02:00
कारतोफ्फेलस्क्रिप्ट™ 9bd49e844a
fix(core): Ensure valid logger is passed to every migration (no-changelog) (#6563) 2023-06-28 17:25:43 +02:00