From 01add4b78e3dfaeef0fbca83dac255dc1853cb47 Mon Sep 17 00:00:00 2001 From: Slava Leleka Date: Wed, 3 Jul 2024 18:26:44 +0400 Subject: [PATCH] fix custom filter subscribing when options page is open --- Extension/src/background/api/ui/pages.ts | 10 ++++++---- Extension/src/common/api/extension/tabs.ts | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Extension/src/background/api/ui/pages.ts b/Extension/src/background/api/ui/pages.ts index 1420070b4c3..c37255552d5 100644 --- a/Extension/src/background/api/ui/pages.ts +++ b/Extension/src/background/api/ui/pages.ts @@ -338,10 +338,12 @@ export class PagesApi { const tab = await TabsApi.findOne({ url: `${PagesApi.settingsUrl}*` }); if (!tab) { - return browser.tabs.create({ url }); + const newTab = await browser.tabs.create({ url }); + return newTab; } - return browser.tabs.update(tab.id, { url }); + const updatedTab = await browser.tabs.update(tab.id, { url }); + return updatedTab; } /** @@ -363,11 +365,11 @@ export class PagesApi { const tab = await PagesApi.openTabOnSettingsPage(path); + await TabsApi.focus(tab); + // Reload option page for force modal window rerender // TODO: track url update in frontend and remove force reloading via webextension API await TabsApi.reload(tab.id); - - await TabsApi.focus(tab); } /** diff --git a/Extension/src/common/api/extension/tabs.ts b/Extension/src/common/api/extension/tabs.ts index c02d7b6f86e..c771f7d3439 100644 --- a/Extension/src/common/api/extension/tabs.ts +++ b/Extension/src/common/api/extension/tabs.ts @@ -101,13 +101,14 @@ export class TabsApi { } /** - * Reload tab without cache by specified id. + * Reloads a tab without cache by specified id. + * * Clearing the cache on reload is necessary for correct application of the rules on pages with service workers. * * @param id Tab id. */ public static async reload(id: number | undefined): Promise { - return browser.tabs.reload(id, { + await browser.tabs.reload(id, { bypassCache: true, }); }