Commit graph

762 commits

Author SHA1 Message Date
OlegIvaniv 018f8a3510
fix(editor): Prevent creation of input connections for nodes without input slot (#5425)
* fix(editor): Prevent creation of input connections for nodes without input

* WIP: Workflow checks service and controller

* fix: Created SQLite migration to remove broken connections

* Cleanup & add mysql/posgres migrations

* Linter fixes

* Unify the migration scripts

* Escape migration workflow_entity

* Wrap the migration in try/catch and do not parse nodes and connection if mysql/postgres

* Do migration changes also fro mysql

* refactor: Wrap only the necessary call in try catch block

---------

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-02-09 16:04:26 +01:00
agobrech fdf47a96de
fix(core): Fix import command for workflows with old format(pre UM) (#5403)
* Replace invalid credentials when importing workflows

* Remove useless console.logs
2023-02-09 15:24:09 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0fb4d7fc19
fix(core): Stop creating icons directories (no-changelog) (#5431)
forgot to remove this in https://github.com/n8n-io/n8n/pull/5419
2023-02-09 11:45:32 +01:00
कारतोफ्फेलस्क्रिप्ट™ 52cb185637
refactor(core): Upgrade typeorm (no-changelog) (#5423)
[Now we can use aggregate functions directly over the repository API](https://github.com/typeorm/typeorm/pull/9737)
2023-02-09 10:44:07 +01:00
Valya 9c1f827dad
feat(core): Live reload node/credential descriptions in development (no-changelog) (#4939) 2023-02-08 19:26:07 +01:00
कारतोफ्फेलस्क्रिप्ट™ f23fb92696
fix(core): Stop copying icons to cache (#5419)
Fixes 

- https://github.com/n8n-io/n8n/issues/4973
- https://github.com/n8n-io/n8n/issues/5274
- https://community.n8n.io/t/starting-n8n-fails-with-ebusy-error/21243
- https://community.n8n.io/t/problem-executing-workflow-ebusy-resource-busy-or-locked-copyfile/21280

Replaces

- https://github.com/n8n-io/n8n/pull/5052
- https://github.com/n8n-io/n8n/pull/5401
2023-02-08 18:57:43 +01:00
Omar Ajoue 5e3e70b83b
feat: Change desktop UM experience (#5312)
* refactor: Hide prompt for desktop

* feat: add email field to personalization modal

* fix: update survey interfaces

* chore: enable personalization survey email key display condition

* feat: add users page upsell for desktop client

* feat: disable UM on desktop where possible

* refactor: Have a single function to decide whether UM is enabled

* feat: update community nodes upsell link

---------

Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: krynble <omar@n8n.io>
Co-authored-by: freyamade <freya@n8n.io>
2023-02-08 11:42:22 +02:00
Omar Ajoue c8245b9f87
fix: Error workflow now correctly checks for subworkflow permissions (#5390) 2023-02-07 17:40:36 +01:00
कारतोफ्फेलस्क्रिप्ट™ 7e2f2f7453
refactor(core): Add unit tests for all external auth middlewares (no-changelog) (#5386) 2023-02-07 15:49:35 +01:00
कारतोफ्फेलस्क्रिप्ट™ 3a435f7057
fix(core): Disable transactions on sqlite migrations that use PRAGMA foreign_keys (#5392)
`PRAGMA foreign_keys` is [a no-op within a sqlite transaction](https://www.sqlite.org/pragma.html#pragma_foreign_keys).
This causes cascade deletes to happen when we create a new user table, and drop the old user table.
2023-02-07 15:14:59 +01:00
Michael Auerswald dd652c0b0d
ci: Add E2E test for scheduled trigger (#5391)
* scheduler e2e test and switch to main mode

* adjust e2e options

* rolling back config changes
2023-02-07 12:41:44 +01:00
कारतोफ्फेलस्क्रिप्ट™ 58b0cf66b5
fix(core): Do not block app startup by telemetry (no-changelog) (#5387) 2023-02-07 12:10:16 +01:00
कारतोफ्फेलस्क्रिप्ट™ a115baa1ac
fix(core): CORS middleware should not process the entire handler chain on OPTIONS requests (no-changelog) (#5368)
fix(core): CORS middleware should not process the entire handler chain on OPTIONS requests
2023-02-06 12:43:50 +01:00
OlegIvaniv 6985500a7d
fix(core): Fix populating of node custom api call options (#5347)
* feat(core): Fix populating of node custom api call options

* lint fixes

* Adress PR comments

* Add e2e test and only inject custom API options for latest version

* Make sure to injectCustomApiCallOption for the latest version of node

* feat(cli): Move apiCallOption injection to LoadNodesAndCredentials and add e2e tests to check for custom nodes credentials

* Load nodes and credentials fixtures from a single place

* Console warning if credential is invalid during customApiOptions injection
2023-02-03 13:14:59 +01:00
कारतोफ्फेलस्क्रिप्ट™ 4dab2fec49
fix(core): Add missing schema keys for LDAP (no-changelog) (#5348) 2023-02-03 12:50:08 +01:00
कारतोफ्फेलस्क्रिप्ट™ 56326cb317
fix(core): Use custom cache control only on editor-ui assets (no-changelog) (#5346) 2023-02-03 11:27:24 +01:00
OlegIvaniv 616074158c
fix(core): Revert custom API option injecting (#5345)
Revert "feat(core): Fix populating of node custom api call options (#5303)"

This reverts commit e58bc41d24.
2023-02-02 20:03:45 +01:00
Omar Ajoue b5154d9be5
fix: Prevent unnecessarily touching updatedAt when n8n starts (#5340)
* Include MariaDB in exception list

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2023-02-02 17:01:45 +01:00
freya 6ca49f9d54
fix(core): Prevent shared user details being saved alongside execution data (#5334)
* 🔨 - Remove `shared` key from execution save data

* 👕 - Using import type where needed

* remove console.log

* 🔨 - Create new clean workflowData instead of removing shared

If IWorkflowBase changes in future, TS will error out here ensuring it's kept up to date

* 🔨 - use lodash.pick for less verbosity

* 🔨 - fix lodash imports
2023-02-02 15:27:00 +00:00
कारतोफ्फेलस्क्रिप्ट™ 93a2dac063
fix(core): Fix env file config loading (no-changelog) (#5339)
* fix(core): Do not trim config values read from files (no-changelog)

* do not use config.load. it does not work
2023-02-02 15:34:29 +01:00
OlegIvaniv e58bc41d24
feat(core): Fix populating of node custom api call options (#5303)
* feat(core): Fix populating of node custom api call options

* lint fixes

* Adress PR comments

* Add e2e test and only inject custom API options for latest version

* Make sure to injectCustomApiCallOption for the latest version of node
2023-02-02 14:53:08 +01:00
कारतोफ्फेलस्क्रिप्ट™ 6cba652ff9
fix(core): Load config values from files using _FILE env variables (no-changelog) (#5335)
This broke in https://github.com/n8n-io/n8n/pull/5283/
2023-02-02 14:01:55 +01:00
कारतोफ्फेलस्क्रिप्ट™ ee210e8507
feat(core): Set custom Cache-Control headers for static assets (#5322) 2023-02-02 12:15:46 +01:00
कारतोफ्फेलस्क्रिप्ट™ 8f5f1c3aa5
fix(Mailchimp Trigger Node): Fix webhook recreation (#5328) 2023-02-02 01:00:24 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0de6dc92d7
fix(core): Revert back to console logging in config (no-changelog) (#5319)
broke in https://github.com/n8n-io/n8n/pull/5283
2023-02-01 11:15:00 +01:00
Omar Ajoue b61453d8e6
fix(core): Allow listing users when logged in (no-changelog) (#5308) 2023-01-31 14:18:23 +01:00
Omar Ajoue c7e9a4375f
refactor: Reduce payload size when fetching workflows to prevent memory issues (#5293) 2023-01-31 11:09:33 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5cb7e5007d
feat(core): Export OpenAPI spec for external tools (#5294)
The generated spec is available at /api/v1/openapi.yml
2023-01-30 17:38:31 +01:00
कारतोफ्फेलस्क्रिप्ट™ 72249e0de8
refactor(core): Load and validate all config at startup (no-changelog) (#5283) 2023-01-30 14:42:30 +01:00
Iván Ovejero 2ca959b383
refactor: Integrate consistent-type-imports in BE packages (no-changelog) (#5270) 2023-01-27 14:56:56 +01:00
कारतोफ्फेलस्क्रिप्ट™ 845f0f9d20
refactor(core): Switch over all user-management routes to use decorators (#5115) 2023-01-27 11:19:47 +01:00
Iván Ovejero 0a7ea89633
fix: Fix formatting/linting for CI (no-changelog) (#5264)
* ⬆️ Upgrade Prettier

* 📦 Update `pnpm-lock.yaml`

* 🎨 Format all packages

* 🔧 Specify `prettierPath`
2023-01-27 10:18:15 +01:00
Alex Grozav 99e35f1e94
feat(editor): Update design-system and editor dependencies (no-changelog) (#5188) 2023-01-27 02:09:30 +01:00
कारतोफ्फेलस्क्रिप्ट™ 68e4083bbd
fix(core): Validate numeric ids in the public API (#5251)
This was incorrectly changed in https://github.com/n8n-io/n8n/pull/5041
2023-01-26 11:46:00 +01:00
कारतोफ्फेलस्क्रिप्ट™ c8a146ba31
ci: Fix CI timeout issues (no-changelog) (#5250) 2023-01-26 11:44:50 +01:00
कारतोफ्फेलस्क्रिप्ट™ 21579a8a2a
fix(core): Handle missing binary metadata in download urls (#5242) 2023-01-25 10:19:19 +01:00
Ricardo Espinoza 0c70a40317
feat(core): Add LDAP support (#3835) 2023-01-25 02:18:39 +01:00
कारतोफ्फेलस्क्रिप्ट™ 259296c5c9
fix(core): Upsert credentials and workflows in the import:* commands (#5231) 2023-01-24 19:05:23 +01:00
कारतोफ्फेलस्क्रिप्ट™ a86c9a628b
refactor(core): Add support for implicit schema in postgres migrations (#5233) 2023-01-24 10:55:20 +01:00
Iván Ovejero fcbf4fd587
fix(core): Make pindata with webhook responding on last node manual-only (#5223)
 Add manual check
2023-01-23 12:22:05 +01:00
Michael Auerswald 4f89fb4d4d
fix(core): Fix onWorkflowPostExecute not being called (#5224)
fix onWorkflowPostExecute
2023-01-23 11:53:00 +01:00
Omar Ajoue c5245dd387
fix: Add schema to postgres migrations (hotfix) (#5218)
* fix: Add schema to postgres migrations
2023-01-23 10:16:20 +01:00
agobrech 6e391755e4
fix(core): Fix url in error handelling for the error Trigger (#5201)
* Add workflow id to url in error message

* fix mock message for manual execution

* Fix url missing 's'
2023-01-19 17:56:31 +01:00
Michael Auerswald 9b032d68bc
feat(core): Add Prometheus metrics for n8n events and api invocations (experimental) (#5177)
* create prometheus metrics from events

* feat(core): Add more Prometheus metrics (experimental) (#5187)

* refactor(core): Add Prometheus labels to relevant metrics

* feat(core): Add more Prometheus metrics (experimental)

* add 'v' prefix to value of version label

Co-authored-by: Cornelius Suermann <cornelius@n8n.io>
2023-01-19 12:11:31 +01:00
Cornelius Suermann e36112a6d4
fix(core): Fix migration (no-changelog) (#5186)
* fix(core): Fix migration (no-changelog)

* revert previous fix and apply correct one
2023-01-18 15:42:09 +01:00
Iván Ovejero c0268f572f
fix(core): Restore community nodes installation (#5180)
🐛 Fix check for community nodes not installing
2023-01-17 16:04:58 +01:00
कारतोफ्फेलस्क्रिप्ट™ 97969fc815
fix: Upgrade jsonwebtoken to address CVE-2022-23540 (#5116) 2023-01-13 18:24:59 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0a5ab560b1
refactor: Upgrade typeorm to 0.3.x (#5151) 2023-01-13 18:12:22 +01:00
Michael Auerswald e845eb33f9
fix(core): Remove threads pkg, rewrite log writer worker (#5134) 2023-01-13 15:39:25 +01:00
कारतोफ्फेलस्क्रिप्ट™ a9fb393e1a
fix: DB revert command shouldn't run full migrations before each revert (#5131) 2023-01-11 18:29:31 +01:00
कारतोफ्फेलस्क्रिप्ट™ 62cce2e518
fix: Run every DB migration inside a transaction (#5129)
* always each DB migrations in a transaction

* `VACUUM` isn't allowed inside transactions.

* `PRAGMA foreign_keys` are automatically toggled before and after every down migration
2023-01-11 18:29:05 +01:00
कारतोफ्फेलस्क्रिप्ट™ a573db2ef7
fix: Report app startup and DB migration errors to Sentry (#5127) 2023-01-11 18:28:35 +01:00
Michael Auerswald 62d06b1e6e
fix(core): Fixes event msg confirmations if no subscribers present (#5118)
* adds ExecutionEvents view modal to ExecutionList

* fix time rendering and remove wf column

* checks for unfinished executions and fails them

* prevent re-setting stoppedAt for execution

* removing UI changes but keeping eventbus fixes

* remove comment
2023-01-11 14:09:09 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0e955760a1
refactor: On workflow deletion, cascade delete all entities associated with it (#5102) 2023-01-10 09:23:44 +01:00
Omar Ajoue a43e3e4112
fix: Do not attempt to save statistics data for unsaved workflows (#5106)
* fix: Do not attempt to save data for unsaved workflows
2023-01-09 12:49:27 +01:00
कारतोफ्फेलस्क्रिप्ट™ 6d0f2bff7f
fix: Remove anonymous ID from tracking calls (#5099) 2023-01-06 15:35:30 +01:00
कारतोफ्फेलस्क्रिप्ट™ c4df2049a8
fix: Stop OOM crashes in Execution Data pruning (#5095)
* fix: Stop OOM crashed in Execution Data pruning

Currently while pruning execution data, we are loading all the data in memory. For instances where there are thousands of executions, this causes the container to run out of memory.
Since ids is all we need, we should only query for ids.

* query for Executions only when ids are actually needed for pruning binary data

in default mode the binary data is in the database, and will get pruned along with the executions.
2023-01-06 11:42:58 +01:00
कारतोफ्फेलस्क्रिप्ट™ d77523bd31
fix: Pass in the correct server reference to external hooks (no-changelog) (#5094)
* fix: Pass in the correct server reference to external hooks (no-changelog)

* use the correct reference
2023-01-05 16:56:27 +01:00
Alex Grozav 2327563c44
feat: Add user management invite links without SMTP set up (#5084)
* feat: update n8n-users-list to no longer use preset list of actions

* feat: prepared users settings for invite links feature

* refactor: Return invite link URLs when inviting users (#5079)

* refactor: Return invite link URLs when inviting users

* test: Refactor and add tests to mailer

* feat: Add FE inviteAcceptUrl integration (#5085)

* feat: update n8n-users-list to no longer use preset list of actions

* feat: prepared users settings for invite links feature

* feat: add integration with new inviteAcceptUrl changes

* feat: Add inviteAcceptUrl to user list for pending users

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

* fix conflicts

* fix lint issue

* test: Make sure inviteAcceptUrl is defined

* feat: update smtp setup suggestion

* feat: add invite link summary when inviting multiple users

* refactor: Add telemetry flag for when email is sent

* fix: add email_sent correctly to telemetry event

* feat: move SMTP info-tip to invite modal

Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-01-05 17:10:08 +02:00
Omar Ajoue 11a46a4cbc
fix: Remove annonymous ID (no-changelog) (#5093) 2023-01-05 14:59:21 +01:00
Jan Oberhauser 93da026c0d
fix(core): Fix OAuth credential creation via API (#5064)
* fix(core): Fix OAuth credential creation via API

* Fix tests
2023-01-05 07:06:37 -06:00
Iván Ovejero d548161632
feat(core): Security audit (#5034)
*  Implement security audit

*  Use logger

* 🧪 Fix test

*  Switch logger with stdout

* 🎨 Set new logo

*  Fill out Public API schema

* ✏️ Fix typo

*  Break dependency cycle

*  Add security settings values

* 🧪 Test security settings

*  Add publicly accessible instance warning

*  Add metric to CLI command

* ✏️ Fix typo

* 🔥 Remove unneeded path alias

* 📘 Add type import

* 🔥 Remove inferrable output type

*  Set description at correct level

*  Rename constant for consistency

*  Sort URLs

*  Rename local var

*  Shorten name

* ✏️ Improve phrasing

*  Improve naming

*  Fix casing

* ✏️ Add docline

* ✏️ Relocate comment

*  Add singular/plurals

* 🔥 Remove unneeded await

* ✏️ Improve test description

*  Optimize with sets

*  Adjust post master merge

* ✏️ Improve naming

*  Adjust in spy

* 🧪 Fix outdated instance test

* 🧪 Make diagnostics check consistent

*  Refactor `getAllExistingCreds`

*  Create helper `getNodeTypes`

* 🐛 Fix `InternalHooksManager` call

* 🚚 Rename `execution` to `nodes` risk

*  Add options to CLI command

*  Make days configurable

* :revert: Undo changes to `BaseCommand`

*  Improve CLI command UX

*  Change no-report return value

Empty array to trigger empty state on FE.

*  Add empty check to `reportInstanceRisk`

* 🧪 Extend Jest `expect`

* 📘 Augment `jest.Matchers`

* 🧪 Set extend as setup file

* 🔧 Override lint rule for `.d.ts`

*  Use new matcher

*  Update check

* 📘 Improve typings

*  Adjust instance risk check

* ✏️ Rename `execution` → `nodes` in Public API schema

* ✏️ Add clarifying comment

* ✏️ Fix typo

*  Validate categories in CLI command

* ✏️ Improve naming

* ✏️ Make audit reference consistent

* 📘 Fix typing

*  Use `finally` in CLI command
2023-01-05 13:28:40 +01:00
freya 59004fe7bb
fix(core): Fixes issue with workflow lastUpdated field (#5015)
Fixed issue causing workflow updated field to be affected by statistics data
2023-01-05 12:16:40 +00:00
कारतोफ्फेलस्क्रिप्ट™ 5d746c4a83
fix: Apply credential overwrites recursively (#5072)
This ensures that overwrites defined for a parent credential type also applies to all credentials extending it.
2023-01-04 18:16:48 +01:00
कारतोफ्फेलस्क्रिप्ट™ 8b19fdd5f0
refactor: Delete a lot of unused and duplicate code in Server and WebhookServer (#5080)
* store n8n version string in a const and use that everywhere

* reduce code duplication between Server and WebhookServer

* unify redis checks

* fix linting
2023-01-04 11:38:48 +01:00
Michael Auerswald b67f803cbe
feat: Add global event bus (#4860)
* fix branch

* fix deserialize, add filewriter

* add catchAll eventGroup/Name

* adding simple Redis sender and receiver to eventbus

* remove native node threads

* improve eventbus

* refactor and simplify

* more refactoring and syslog client

* more refactor, improved endpoints and eventbus

* remove local broker and receivers from mvp

* destination de/serialization

* create MessageEventBusDestinationEntity

* db migrations, load destinations at startup

* add delete destination endpoint

* pnpm merge and circular import fix

* delete destination fix

* trigger log file shuffle after size reached

* add environment variables for eventbus

* reworking event messages

* serialize to thread fix

* some refactor and lint fixing

* add emit to eventbus

* cleanup and fix sending unsent

* quicksave frontend trial

* initial EventTree vue component

* basic log streaming settings in vue

* http request code merge

* create destination settings modals

* fix eventmessage options types

* credentials are loaded

* fix and clean up frontend code

* move request code to axios

* update lock file

* merge fix

* fix redis build

* move destination interfaces into workflow pkg

* revive sentry as destination

* migration fixes and frontend cleanup

* N8N-5777 / N8N-5789 N8N-5788

* N8N-5784

* N8N-5782 removed event levels

* N8N-5790 sentry destination cleanup

* N8N-5786 and refactoring

* N8N-5809 and refactor/cleanup

* UI fixes and anonymize renaming

* N8N-5837

* N8N-5834

* fix no-items UI issues

* remove card / settings label in modal

* N8N-5842 fix

* disable webhook auth for now and update ui

* change sidebar to tabs

* remove payload option

* extend audit events with more user data

* N8N-5853 and UI revert to sidebar

* remove redis destination

* N8N-5864 / N8N-5868 / N8N-5867 / N8N-5865

* ui and licensing fixes

* add node events and info bubbles to frontend

* ui wording changes

* frontend tests

* N8N-5896 and ee rename

* improves backend tests

* merge fix

* fix backend test

* make linter happy

* remove unnecessary cfg / limit  actions to owners

* fix multiple sentry DSN and anon bug

* eslint fix

* more tests and fixes

* merge fix

* fix workflow audit events

* remove 'n8n.workflow.execution.error' event

* merge fix

* lint fix

* lint fix

* review fixes

* fix merge

* prettier fixes

* merge

* review changes

* use loggerproxy

* remove catch from internal hook promises

* fix tests

* lint fix

* include review PR changes

* review changes

* delete duplicate lines from a bad merge

* decouple log-streaming UI options from public API

* logstreaming -> log-streaming for consistency

* do not make unnecessary api calls when log streaming is disabled

* prevent sentryClient.close() from being called if init failed

* fix the e2e test for log-streaming

* review changes

* cleanup

* use `private` for one last private property

* do not use node prefix package names.. just yet

* remove unused import

* fix the tests

because there is a folder called `events`, tsc-alias is messing up all imports for native events module.
https://github.com/justkey007/tsc-alias/issues/152

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-01-04 09:47:48 +01:00
Thomas S 0ec66bfb42
feat(core): Add compatibility to redis > 6 ACLs system using username in queue-mode (#5048)
feat(redis): add compatibility to redis > 6 ACLs system using username

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-01-03 11:45:03 +01:00
कारतोफ्फेलस्क्रिप्ट™ 3754c5c734
fix: Fix executions bulk deletion (#5074)
since QueryBuilder api doesn't use entity field transforms, we should remove the usage of QueryBuilder wherever there is a filter on a transformed column.
2023-01-03 10:58:34 +01:00
कारतोफ्फेलस्क्रिप्ट™ ee28213538
refactor: Use string ids on Credentials, Workflows, Tags, and Executions DB entities (#5041) 2023-01-02 17:42:32 +01:00
कारतोफ्फेलस्क्रिप्ट™ a455cce7e6
perf: Lazy-load public-api dependencies to reduce baseline memory usage (#5049)
* refactor: Load swagger and openapi dependencies conditionally

* disable public api in tests to reduce heal usage

* update the link and text in SettingsApiView when swagger ui is disabled
2023-01-02 12:14:58 +01:00
कारतोफ्फेलस्क्रिप्ट™ b828cb31d6
perf: Lazy-load queue-mode and analytics dependencies (#5061)
* refactor: lazy load ioredis and bull

* upgrade bull and hiredis

* refactor: lazy load posthog, rudderstack, and sentry

* upgrade Sentry sdk
2023-01-02 12:14:39 +01:00
Iván Ovejero d9b98fc8be
refactor: Lint for no unneeded backticks (#5057) (no-changelog)
*  Create rule `no-unneeded-backticks`

* 👕 Enable rule

*  Run rule on `cli`

*  Run rule on `core`

*  Run rule on `workflow`

*  Rule rule on `design-system`

*  Run rule on `node-dev`

*  Run rule on `editor-ui`

*  Run rule on `nodes-base`
2022-12-29 12:20:43 +01:00
कारतोफ्फेलस्क्रिप्ट™ 6efbac307f
fix(core): Non owner should be permitted to use their own credentials (#5036) 2022-12-27 09:09:43 -06:00
Iván Ovejero d113977b10
feat(core): Implement webhook-only manual execution (#4960)
*  Implement webhook-only manual execution

* ♻️ Apply feedback
2022-12-27 12:50:50 +01:00
Omar Ajoue 4651147096
refactor: Add missing schema keys (no-changelog) (#5028) 2022-12-23 16:24:11 +01:00
Omar Ajoue bb0eedada9
perf: Improve workflows list performance (#5021)
* spike: Improve workflow list performance

* fix: Correcting override behavior

* refactor: Remove unnecessary promise

* remove duplicate code

* remove the `async` that is breaking the listings page

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2022-12-23 13:58:34 +01:00
कारतोफ्फेलस्क्रिप्ट™ 0333b053ee
fix: Fix the linting issue on master (no-changelog) (#5013)
* get rid of the "`parseForESLint` from parser `@typescript-eslint/parser` is invalid" errors

* fix the formatting issue
2022-12-22 09:42:07 -06:00
Omar Ajoue 746e8487d2
fix: Issue with credentials and workflows not being matched correctly due to incorrect typing (#5011)
* fix: Always return ids as strings
2022-12-22 16:09:06 +01:00
कारतोफ्फेलस्क्रिप्ट™ 365ffec3b2
fix: Make tests pass on MySQl and Postgres (no-changelog) (#5005) 2022-12-22 11:13:22 +01:00
Omar Ajoue 87d8865ad3
fix: Restore missing tags in workflow retrieve (#5004) 2022-12-22 10:16:27 +01:00
Omar Ajoue 25e9f0817a
refactor: Workflow sharing bug bash fixes (#4888)
* fix: Prevent workflows with only manual trigger from being activated

* fix: Fix workflow id when sharing from workflows list

* fix: Update sharing modal translations

* fix: Allow sharees to disable workflows and fix issue with unique key when removing a user

* refactor: Improve error messages and change logging level to be less verbose

* fix: Broken user removal transfer issue

* feat: Implement workflow sharing BE telemetry

* chore: temporarily add sharing env vars

* feat: Implement BE telemetry for workflow sharing

* fix: Prevent issues with possibly missing workflow id

* feat: Replace WorkflowSharing flag references (no-changelog) (#4918)

* ci: Block all external network calls in tests (no-changelog) (#4930)

* setup nock to prevent tests from making any external requests

* mock all calls to posthog sdk

* feat: Replace WorkflowSharing flag references (no-changelog)

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

* refactor: Remove temporary feature flag for workflow sharing

* refactor: add sharing_role to both manual and node executions

* refactor: Allow changing name, position and disabled of read only nodes

* feat: Overhaul dynamic translations for local and cloud (#4943)

* feat: Overhaul dynamic translations for local and cloud

* fix: remove type casting

* chore: remove unused translations

* fix: fix workflow sharing translation

* test: Fix broken test

* refactor: remove unnecessary import

* refactor: Minor code improvements

* refactor: rename dynamicTranslations to contextBasedTranslationKeys

* fix: fix type imports

* refactor: Consolidate sharing feature check

* feat: update cred sharing unavailable translations

* feat: update upgrade message when user management not available

* fix: rename plan names to Pro and Power

* feat: update translations to no longer contain plan names

* wip: subworkflow permissions

* feat: add workflowsFromSameOwner caller policy

* feat: Fix subworkflow permissions

* shared entites should check for role when deleting users

* refactor: remove circular dependency

* role filter shouldn't be an array

* fixed role issue

* fix: Corrected behavior when removing users

* feat: show instance owner credential sharing message only if isnt sharee

* feat: update workflow caller policy caller ids labels

* feat: update upgrade plan links to contain instance ids

* fix: show check errors below creds message only to owner

* fix(editor): Hide usage page on cloud

* fix: update credential validation error message for sharee

* fix(core): Remove duplicate import

* fix(editor): Extending deployment types

* feat: Overhaul contextual translations (#4992)

feat: update how contextual translations work

* refactor: improve messageing for subworkflow permissions

* test: Fix issue with user deletion and transfer

* fix: Explicitly throw error message so it can be displayed in UI

Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
Co-authored-by: freyamade <freya@n8n.io>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2022-12-21 16:42:07 +01:00
कारतोफ्फेलस्क्रिप्ट™ e225c3190e
fix: View option for binary-data shouldn't download the file on Chrome/Edge (#4995)
* delete unused code

* fix: Do not set the `Content-Disposition` header when viewing binary files

* remove the duplicate styles.

these already exist in BinaryDataDisplayEmbed.vue
2022-12-21 13:30:51 +01:00
कारतोफ्फेलस्क्रिप्ट™ 5db9c46043
ci: Break most of the circular dependencies in code (no-changelog) (#4990) 2022-12-21 10:46:26 +01:00
Csaba Tuncsik 0da338f9b5
feat(editor): Add usage and plan pages (#4819)
* feat(editor): Usage and plan page (#4793)

feat(editor): usage and plan page

* feat(editor): Update Usage and plan page (#4842)

* feat(editor): usage and plan store

* feat(editor): usage and plan page updates

* feat(editor): usage and plan add buttons and alert

* tes(editor): usage and plan store

* tes(editor): usage remove refresh button and add link to view plans

* tes(editor): usage use info tip

* tes(editor): usage info style

* feat(editor): Get quotas data (#4866)

feat(editor): get quotas data

* feat(editor): In-app experience (#4875)

* feat: Add license quotas endpoint

* feat: Add trigger count to workflow activation process

* refactor: Get quotas from db

* feat: Add license information

*  - finalised GET /license endpoint

* 🔨 - getActiveTriggerCount return 0 instead of null

* 🐛 - ignore manualTrigger when counting active triggers

*  - add activation endpoint

*  - added renew endpoint

* 🔨 - added return type interfaces

* 🔨 - handle license errors where methods are called

* 🔨 - rename function to match name from lib

* feat(editor): usage add plans buttons logic

* 🚨 - testing new License methods

* feat(editor): usage add more business logic

* chore(editor): code formatting

* 🚨 - added license api tests

* fix(editor): usage store

* fix(editor): usage update translations

* feat(editor): usage add license activation modal

* feat(editor): usage change subscription app url

* feat(editor): usage add contact us link

* feat(editor): usage fix modal width

*  - Add renewal tracking metric

*  - add license data to pulse event

* 🔨 - set default triggercount on entity model

*  - add db migrations for mysql and postgres

* fix(editor): Usage api call data processing and error handling

* fix(editor): Usage fix activation query key

* 🚨 - add initDb to telemetry tests

* 🔨 - move getlicensedata to licenseservice

* 🔨 - return 403 instead of 404 to non owners

* 🔨 - move owner checking to middleware

* 🐛 - fixed incorrectly returned error from middleware

* 🐛 - using mock instead of test db for pulse tests

* fix(editor): Usage fix activation and add success messages

* fix(editor): Usage should not renew activation right after activation

* 🚨 - skipping failing pulse tests for now

* fix(editor): Usage add telemetry calls and apply design review outcomes

* feat(editor): Hide usage page according to BE flag

* feat(editor): Usage modify key activation flow

* feat(editor): Usage change subscription app url

* feat(editor): Usage add telemetry for manage plan

* feat(editor): Usage extend link url query params

* feat(editor): Usage add line chart if there is a workflow limit

* feat(editor): Usage remove query after key activation redirection

* fix(editor): Usage handle limit exceeded workflow chart, add focus to input when modal opened

* fix(editor): Usage activation can return router promise when removing query

* fix(editor): Usage and plan design review

* 🐛 - fix renew endpoint hanging issue

* 🐛 - fix license activation bug

* fix(editor): Usage proper translation for plans and/or editions

* fix(editor): Usage apply David's review results

* fix(editor): Usage page set as default and first under Settings

* fix(editor): Usage open subscription app in new tab

* fix(editor): Usage page having key query param a plan links

* test: Fix broken test

* fix(editor): Usage page address review

* 🧪 Flush promises on telemetry tests

*  Extract helper with `setImmediate`

* 🔥 Remove leftovers

*  Use Adi's helper

* refactor: Comment broken tests

* refactor: add Tenant id to settings

* feat: add environment to license endpoints

* refactor: Move license environment to general settings

* fix: fix routing bug

* fix(editor): Usage page some code review changes and formatting

* fix(editor): Usage page remove direct usage of reusable translation keys

* fix(editor): Usage page async await instead of then

* fix(editor): Usage page show some content only if network requests in component mounted were successful

* chore(editor): code formatting

* fix(editor): Usage checking license environment

* feat(editor): Improve license activation error messages (no-changelog) (#4958)

* fix(editor): Usage changing activation error title

* remove unnecessary import

* fix(editor): Usage refactor notification showing

* fix(editor): Usage using notification directly in store actions

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: freyamade <freya@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: Cornelius Suermann <cornelius@n8n.io>

* fix(editor): Usage change mounted lifecycle logic

* fix(editor): Usage return after successful activation in mounted

* fix: remove console log

* test: fix tests related to settings (#4979)

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: freyamade <freya@n8n.io>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: Cornelius Suermann <cornelius@n8n.io>
Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
2022-12-20 10:52:01 +01:00
freya 60b14116f0
refactor(core): Ensure getSharedWorkflowIds returns string[] instead of number[] (#4971)
* 🔨 - getSharedWorkflowIds returns string[]

* 🔨 - update the sharedWorkflow function in public api

* 🔨 - update existing code to handle new data type

* simplify code

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2022-12-19 17:53:36 +01:00
कारतोफ्फेलस्क्रिप्ट™ 323bd78067
fix: Enable crash journal only in production mode (no-changelog) (#4948)
* consolidate various `NODE_ENV` checks in the `cli` package

* enable crash journal only in production
2022-12-16 15:27:49 +01:00
कारतोफ्फेलस्क्रिप्ट™ 6127c958f5
fix: Do not crash the server when Telemetry is blocked via DNS (#4947)
* do not crash the process on unhandled axios errors

* postHog.capture does not return a promise
2022-12-16 13:23:24 +01:00
Valya fe0f982437
feat: Hide credentials password values (#4868)
* feat: redact password field values in credentials

* feat: disable expanding password fields

* fix: redacting credentials without a valid type

This only seems to be a thing in testing?
2022-12-15 13:31:06 +00:00
Michael Kret efa4c56757
fix(core): Fix for Google and Microsoft generic OAuth2 credentials 2022-12-15 10:54:34 +02:00
freya 0f40ca39ba
feat(core): Allow for hiding usage page via environment (#4899) 2022-12-13 13:59:22 +00:00
कारतोफ्फेलस्क्रिप्ट™ 91e9a88e3a
fix: Ensure parent directory exists before copying over the icons to generated static directory (#4865)
fix: Ensure parent directory exists before copying over the icon to generated static directory.

This fixes the issue of icons not showing up for custom nodes that use a package-name with a `/` in them.
2022-12-12 16:41:18 +01:00
कारतोफ्फेलस्क्रिप्ट™ 593354b6d8
fix: Increase workflow reactivation max timeout to 1 day (#4869) 2022-12-09 09:52:37 +01:00
कारतोफ्फेलस्क्रिप्ट™ 4cb4c5e818
fix: Stop returning UNKNOWN ERROR in the response if an actual error message is available (#4859) 2022-12-08 13:32:33 +01:00
Omar Ajoue 5156328c34
fix: Issue listing executions with Postgres (#4856) 2022-12-08 10:49:48 +01:00
OlegIvaniv 1c36c37a12
test(editor): Fix flaky e2e tests (#4779)
* test(editor): Fix default-owner and credentials saving e2e specs

* test(editor): fix webhook node test

* test(editor): add cy command for browser permissions

* test(editor): add cy command for reading clipboard

* Fix 3-default-owner spec

* Resolve review comments

* Merge spec

* Fix http node and expression editor modal specs

* Add optional param to credentials modal saving action to wait for the test endpoint

* Improve sidebar items clicking and increase credentials saving timeout

* Rename http e2e spec to fix ordering

* Fix pasting and copying of nodes e2e spec

* Make sure to only access error.cause if it exists

* Wait longer for the keyboard press

* Make sure to focus the body when typing

* Try type delay

* Use meta key based on the running platform

* Fix flaky workflowTagElements getter

Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2022-12-07 18:16:38 +01:00
कारतोफ्फेलस्क्रिप्ट™ 7e1a13f9b2
fix: Upgrade sse-channel to mitigate CVE-2019-10744 (#4835)
sse-channel 4 removed CORS support, that's why we need to handle CORS for `/push` ourselves now.
2022-12-07 15:13:36 +01:00
Omar Ajoue 2ad62bcd44
fix: Remove unnecessary console message (no-changelog) (#4848)
* refactor: Remove unnecessary console message (no-changelog)

* fix: Broken test now passing
2022-12-07 12:40:38 +01:00
कारतोफ्फेलस्क्रिप्ट™ 85241fd230
fix: Make nodes.exclude and nodes.include work with lazy-loaded nodes (#4833) 2022-12-06 19:15:15 +01:00
freya 1722c6b0c5
feat(core): Workflow Execution Statistics (#4200)
Add recording and reporting of workflow execution statistics
2022-12-06 14:55:40 +00:00
कारतोफ्फेलस्क्रिप्ट™ 9485e2f12a
fix: Enable source-maps on WorkflowRunnerProcess in own mode (#4832) 2022-12-06 12:16:49 +01:00