diff --git a/cypress/e2e/33-settings-personal.cy.ts b/cypress/e2e/33-settings-personal.cy.ts index 73dc7476b8ae0..835634cd01730 100644 --- a/cypress/e2e/33-settings-personal.cy.ts +++ b/cypress/e2e/33-settings-personal.cy.ts @@ -41,7 +41,7 @@ describe('Personal Settings', () => { cy.getByTestId('personal-data-form').find('input[name="firstName"]').clear().type(name); cy.getByTestId('personal-data-form').find('input[name="lastName"]').clear().type(name); cy.getByTestId('save-settings-button').click(); - errorToast().should('contain', 'Malicious firstName | Malicious lastName'); + errorToast().should('contain', 'Potentially malicious string | Potentially malicious string'); errorToast().find('.el-notification__closeBtn').click(); }); }); diff --git a/packages/cli/src/validators/__tests__/no-url.validator.test.ts b/packages/cli/src/validators/__tests__/no-url.validator.test.ts index ead34019889e3..dafba595efcab 100644 --- a/packages/cli/src/validators/__tests__/no-url.validator.test.ts +++ b/packages/cli/src/validators/__tests__/no-url.validator.test.ts @@ -10,7 +10,7 @@ describe('NoUrl', () => { const entity = new Entity(); describe('URLs', () => { - const URLS = ['http://google.com', 'www.domain.tld']; + const URLS = ['http://google.com', 'www.domain.tld', 'n8n.io']; for (const str of URLS) { test(`should block ${str}`, async () => { diff --git a/packages/cli/src/validators/no-url.validator.ts b/packages/cli/src/validators/no-url.validator.ts index 1df05fed5fa0d..0cdacaddc185d 100644 --- a/packages/cli/src/validators/no-url.validator.ts +++ b/packages/cli/src/validators/no-url.validator.ts @@ -1,7 +1,7 @@ import type { ValidationOptions, ValidatorConstraintInterface } from 'class-validator'; import { registerDecorator, ValidatorConstraint } from 'class-validator'; -const URL_REGEX = /^(https?:\/\/|www\.)/i; +const URL_REGEX = /^(https?:\/\/|www\.)|(\.[\p{L}\d-]+)/iu; @ValidatorConstraint({ name: 'NoUrl', async: false }) class NoUrlConstraint implements ValidatorConstraintInterface {