From 9b38c32b3f5abd156401a0dc9ce5307209801171 Mon Sep 17 00:00:00 2001 From: Ruslan Bakiev Date: Sun, 22 Feb 2026 08:07:03 +0700 Subject: [PATCH] fix: prevent popup blocker on telegram connect link --- frontend/app.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/frontend/app.vue b/frontend/app.vue index 48885ec..a08a3a2 100644 --- a/frontend/app.vue +++ b/frontend/app.vue @@ -650,6 +650,7 @@ async function loadTelegramConnectStatus() { async function startTelegramBusinessConnect() { if (telegramConnectBusy.value) return; telegramConnectBusy.value = true; + const popup = process.client ? window.open("about:blank", "_blank", "noopener,noreferrer") : null; try { const result = await $fetch<{ ok: boolean; @@ -660,8 +661,15 @@ async function startTelegramBusinessConnect() { telegramConnectStatus.value = result?.status ?? "pending_link"; telegramConnectUrl.value = String(result?.connectUrl ?? "").trim(); if (telegramConnectUrl.value && process.client) { - window.open(telegramConnectUrl.value, "_blank", "noopener,noreferrer"); + if (popup) { + popup.location.href = telegramConnectUrl.value; + } else { + window.open(telegramConnectUrl.value, "_blank", "noopener,noreferrer"); + } } + } catch { + popup?.close(); + telegramConnectStatus.value = "not_connected"; } finally { telegramConnectBusy.value = false; await loadTelegramConnectStatus();