From 5dbb1504bae8570f08eee840830f1ab0f522a6f0 Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Tue, 5 Aug 2025 15:08:57 -0700 Subject: [PATCH] =?UTF-8?q?chore(extension):=20show=20error=20when=20conne?= =?UTF-8?q?ction=20is=20rejected=20due=20to=20inact=E2=80=A6=20(#836)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …ivity --- extension/src/background.ts | 4 +++- extension/src/ui/connect.tsx | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/extension/src/background.ts b/extension/src/background.ts index e7b2efe..2c6eecb 100644 --- a/extension/src/background.ts +++ b/extension/src/background.ts @@ -166,8 +166,10 @@ class TabShareExtension { if (!pending.timerId) { pending.timerId = setTimeout(() => { const existed = this._pendingTabSelection.delete(tabId); - if (existed) + if (existed) { pending.connection.close('Tab has been inactive for 5 seconds'); + chrome.tabs.sendMessage(tabId, { type: 'connectionTimeout' }); + } }, 5000); return; } diff --git a/extension/src/ui/connect.tsx b/extension/src/ui/connect.tsx index adcc79c..a06ae8b 100644 --- a/extension/src/ui/connect.tsx +++ b/extension/src/ui/connect.tsx @@ -121,6 +121,13 @@ const ConnectApp: React.FC = () => { setStatus({ type: 'error', message: 'Connection rejected. This tab can be closed.' }); }, []); + useEffect(() => { + chrome.runtime.onMessage.addListener(message => { + if (message.type === 'connectionTimeout') + handleReject(); + }); + }, []); + return (