From d5df0f68696d37bc4f9f9584cdecd550f63dd40b Mon Sep 17 00:00:00 2001 From: Pavel Movchan Date: Thu, 5 Feb 2026 22:28:48 +0900 Subject: [PATCH 1/3] fix: added url parsing from data attributes --- src/classes/ConditionWatcher.js | 2 +- src/classes/EmbeddedFormWatcher.js | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/classes/ConditionWatcher.js b/src/classes/ConditionWatcher.js index 7d2d9d9..d86d962 100644 --- a/src/classes/ConditionWatcher.js +++ b/src/classes/ConditionWatcher.js @@ -31,7 +31,7 @@ export class ConditionWatcher { const clickTrigger = new ClickTrigger(); clickTrigger.watch((attr) => { - if (attr === `${this.login}/${this.formId}`) { + if (attr.includes(`${this.login}/${this.formId}`)) { resolve('click'); } }); diff --git a/src/classes/EmbeddedFormWatcher.js b/src/classes/EmbeddedFormWatcher.js index 0b24ff1..fccd234 100644 --- a/src/classes/EmbeddedFormWatcher.js +++ b/src/classes/EmbeddedFormWatcher.js @@ -19,7 +19,16 @@ class EmbeddedFormWatcher { return; } el.setAttribute(ATTRIBUTES.INIT, true); - this.activatePopup(`https://sendsay.ru/form/${formId}`, { el }); + let url; + + try { + // eslint-disable-next-line compat/compat + url = new URL(formId).toString(); + } catch { + url = `https://sendsay.ru/form/${formId}`; + } + + this.activatePopup(url, { el }); }); }; From 242776894a524a2b76c2a8ed625ff1934a246e8c Mon Sep 17 00:00:00 2001 From: Pavel Movchan Date: Fri, 6 Feb 2026 20:40:57 +0900 Subject: [PATCH 2/3] fix: fixed click trigger attribute check --- src/classes/ConditionWatcher.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/classes/ConditionWatcher.js b/src/classes/ConditionWatcher.js index d86d962..8bd658f 100644 --- a/src/classes/ConditionWatcher.js +++ b/src/classes/ConditionWatcher.js @@ -31,7 +31,9 @@ export class ConditionWatcher { const clickTrigger = new ClickTrigger(); clickTrigger.watch((attr) => { - if (attr.includes(`${this.login}/${this.formId}`)) { + const pattern = new RegExp(`(^|/)${this.login}/${this.formId}$`); + + if (pattern.test(attr)) { resolve('click'); } }); From 6115fb772db2bd7688165879c46da2ef86540e2e Mon Sep 17 00:00:00 2001 From: Pavel Movchan Date: Fri, 6 Feb 2026 20:47:45 +0900 Subject: [PATCH 3/3] fix: renamed variable --- src/classes/EmbeddedFormWatcher.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/classes/EmbeddedFormWatcher.js b/src/classes/EmbeddedFormWatcher.js index fccd234..a3cc8f1 100644 --- a/src/classes/EmbeddedFormWatcher.js +++ b/src/classes/EmbeddedFormWatcher.js @@ -14,8 +14,8 @@ class EmbeddedFormWatcher { checkEmbeddedForms = () => { const elements = document.querySelectorAll(`[${ATTRIBUTES.EMBEDDED}]`); elements.forEach((el) => { - const formId = el.getAttribute(ATTRIBUTES.EMBEDDED); - if (!formId || el.hasAttribute(ATTRIBUTES.INIT)) { + const formPath = el.getAttribute(ATTRIBUTES.EMBEDDED); + if (!formPath || el.hasAttribute(ATTRIBUTES.INIT)) { return; } el.setAttribute(ATTRIBUTES.INIT, true); @@ -23,9 +23,9 @@ class EmbeddedFormWatcher { try { // eslint-disable-next-line compat/compat - url = new URL(formId).toString(); + url = new URL(formPath).toString(); } catch { - url = `https://sendsay.ru/form/${formId}`; + url = `https://sendsay.ru/form/${formPath}`; } this.activatePopup(url, { el });