|
1 | 1 | import browser from 'webextension-polyfill'; |
2 | 2 |
|
3 | | -import type { Profile, RequestHeader } from '#entities/request-profile/types'; |
| 3 | +import type { Profile, RequestCookie, RequestHeader, UrlFilter } from '#entities/request-profile/types'; |
4 | 4 |
|
5 | 5 | import { BrowserStorageKey, ServiceWorkerEvent } from './shared/constants'; |
6 | 6 | import { browserAction } from './shared/utils/browserAPI'; |
7 | 7 | import { logger, LogLevel } from './shared/utils/logger'; |
| 8 | +import { setBrowserCookies } from './shared/utils/setBrowserCookies'; |
8 | 9 | import { setBrowserHeaders } from './shared/utils/setBrowserHeaders'; |
9 | 10 | import { setIconBadge } from './shared/utils/setIconBadge'; |
10 | 11 | import { enableExtensionReload } from './utils/extension-reload'; |
@@ -47,8 +48,11 @@ logger.info('🔍 About to check storage contents...'); |
47 | 48 | // Count active headers for the badge |
48 | 49 | const selectedProfile = profiles.find((p: Profile) => p.id === result[BrowserStorageKey.SelectedProfile]); |
49 | 50 | if (selectedProfile) { |
50 | | - activeHeadersCount = selectedProfile.requestHeaders?.filter((h: RequestHeader) => !h.disabled).length || 0; |
51 | | - logger.info(` - Active headers count: ${activeHeadersCount}`); |
| 51 | + const activeHeaders = selectedProfile.requestHeaders?.filter((h: RequestHeader) => !h.disabled).length || 0; |
| 52 | + const activeCookies = selectedProfile.requestCookies?.filter((c: RequestCookie) => !c.disabled).length || 0; |
| 53 | + const activeUrlFilters = selectedProfile.urlFilters?.filter((f: UrlFilter) => !f.disabled).length || 0; |
| 54 | + activeHeadersCount = activeHeaders + activeCookies + activeUrlFilters; |
| 55 | + logger.info(` - Active rules count: ${activeHeadersCount}`); |
52 | 56 | } |
53 | 57 | } |
54 | 58 | } catch (error) { |
@@ -89,7 +93,7 @@ async function notify(message: ServiceWorkerEvent) { |
89 | 93 | ]); |
90 | 94 |
|
91 | 95 | logger.info('📦 Storage data for reload:', result); |
92 | | - await setBrowserHeaders(result); |
| 96 | + await Promise.all([setBrowserHeaders(result), setBrowserCookies(result)]); |
93 | 97 | } |
94 | 98 | return undefined; |
95 | 99 | } |
@@ -128,7 +132,7 @@ browser.runtime.onStartup.addListener(async function () { |
128 | 132 | if (Object.keys(result).length) { |
129 | 133 | logger.info('🚀 Storage data found, setting browser headers on startup'); |
130 | 134 | try { |
131 | | - await setBrowserHeaders(result); |
| 135 | + await Promise.all([setBrowserHeaders(result), setBrowserCookies(result)]); |
132 | 136 | } catch (error) { |
133 | 137 | logger.error('Failed to set browser headers on startup:', error); |
134 | 138 | } |
@@ -156,7 +160,7 @@ browser.storage.onChanged.addListener(async (changes, areaName) => { |
156 | 160 | ]); |
157 | 161 | logger.debug('Storage changes data:', result); |
158 | 162 | try { |
159 | | - await setBrowserHeaders(result); |
| 163 | + await Promise.all([setBrowserHeaders(result), setBrowserCookies(result)]); |
160 | 164 | } catch (error) { |
161 | 165 | logger.error('Failed to set browser headers on storage change:', error); |
162 | 166 | } |
@@ -199,7 +203,7 @@ browser.runtime.onInstalled.addListener(async details => { |
199 | 203 | if (Object.keys(result).length) { |
200 | 204 | logger.info('🔧 Storage data found, initializing browser headers on install/update'); |
201 | 205 | try { |
202 | | - await setBrowserHeaders(result); |
| 206 | + await Promise.all([setBrowserHeaders(result), setBrowserCookies(result)]); |
203 | 207 | } catch (error) { |
204 | 208 | logger.error('Failed to set browser headers on install/update:', error); |
205 | 209 | } |
|
0 commit comments