Skip to content

Commit

Permalink
Merge branch 'v5.0' into feature/AG-33928
Browse files Browse the repository at this point in the history
  • Loading branch information
slavaleleka committed Jul 1, 2024
2 parents c452d01 + 8514ced commit ed5c02e
Show file tree
Hide file tree
Showing 19 changed files with 212 additions and 124 deletions.
3 changes: 0 additions & 3 deletions Extension/_locales/en/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -770,9 +770,6 @@
"options_rule_limits_warning_list_enabled_now_title": {
"message": "Filters enabled now"
},
"options_rule_limits_warning_nothing_enabled_now_title": {
"message": "No filters enabled now"
},
"options_rule_limits_warning_actions_title": {
"message": "Your possible actions"
},
Expand Down
7 changes: 2 additions & 5 deletions Extension/src/background/api/filters/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -359,11 +359,8 @@ export class FiltersApi {
* @returns Enabled filters metadata array.
*/
public static getEnabledFiltersWithMetadata(): FilterMetadata[] {
const filters = FiltersApi.getEnabledFilters();
return filters
.map(f => {
return FiltersApi.getFilterMetadata(f);
})
return FiltersApi.getEnabledFilters()
.map(f => FiltersApi.getFilterMetadata(f))
.filter((f): f is FilterMetadata => f !== undefined);
}

Expand Down
2 changes: 1 addition & 1 deletion Extension/src/background/api/ui/icons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export class IconsApi {
}

const isMv3LimitsExceeded = __IS_MV3__
? RulesLimitsService.areFilterLimitsExceeded()
? await RulesLimitsService.areFilterLimitsExceeded()
: false;

try {
Expand Down
2 changes: 1 addition & 1 deletion Extension/src/background/app/app-mv3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ export class App {
// Initializes Settings storage data
await SettingsApi.init();

rulesLimitsService.init();
await rulesLimitsService.init();

// TODO mv3 uses other way to inject scripts. AG-33507
// /**
Expand Down
36 changes: 17 additions & 19 deletions Extension/src/background/engine/engine-mv3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,24 +104,11 @@ export class Engine implements TsWebExtensionEngine {

await RulesLimitsService.checkFiltersLimitsChange(this.update.bind(this));

if (RulesLimitsService.areFilterLimitsExceeded()) {
if (await RulesLimitsService.areFilterLimitsExceeded()) {
toasts.showRuleLimitsAlert();
}
}

/**
* Stops the tswebextension and updates the counter of active rules.
*/
async stop(): Promise<void> {
logger.info('Stop tswebextension...');
await this.api.stop();

const rulesCount = this.api.getRulesCount();
logger.info(`tswebextension is stopped. Rules count: ${rulesCount}`);
// TODO: remove after frontend refactoring
listeners.notifyListeners(listeners.RequestFilterUpdated);
}

/**
* Updates tswebextension configuration and after that updates the counter
* of active rules.
Expand All @@ -132,6 +119,9 @@ export class Engine implements TsWebExtensionEngine {
const configuration = await Engine.getConfiguration();

logger.info('Update tswebextension configuration...');
if (skipLimitsCheck) {
logger.info('With skip limits check.');
}
const result = await this.api.configure(configuration);
rulesLimitsService.set(result);

Expand All @@ -143,6 +133,10 @@ export class Engine implements TsWebExtensionEngine {
if (!skipLimitsCheck) {
await RulesLimitsService.checkFiltersLimitsChange(this.update.bind(this));
}

if (await RulesLimitsService.areFilterLimitsExceeded()) {
toasts.showRuleLimitsAlert();
}
}

/**
Expand Down Expand Up @@ -210,12 +204,16 @@ export class Engine implements TsWebExtensionEngine {
* Sets the filtering state.
*
* @param isFilteringEnabled - The filtering state.
*
* Note: we do not pass the parameter to engine because we suppose that
* settings already changed and tswebextension will generate configuration
* itself based on the current settings.
*/
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public async setFilteringState(isFilteringEnabled: boolean): Promise<void> {
if (isFilteringEnabled) {
await this.stop();
} else {
await this.start();
}
// Configure tswebextension with the new settings without checking limits
// if we paused filtering.
const skipCheck = isFilteringEnabled === false;
await this.update(skipCheck);
}
}
5 changes: 2 additions & 3 deletions Extension/src/background/schema/settings/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ export enum SettingOption {
DisableDetectFilters = 'detect-filters-disabled',
DisableSafebrowsing = 'safebrowsing-disabled',
FiltersUpdatePeriod = 'filters-update-period',
// Is filtering disabled or not.
DisableFiltering = 'adguard-disabled',

// Extension specific settings.
UseOptimizedFilters = 'use-optimized-filters',
Expand Down Expand Up @@ -65,9 +67,6 @@ export enum SettingOption {
Metadata = 'filters-metadata',
I18nMetadata = 'filters-i18n-metadata',
CustomFilters = 'custom-filters',

// Allowlist domains.
DisableFiltering = 'adguard-disabled',
}

// Setting options may be stringified, use preprocessors for correct type casting
Expand Down
4 changes: 3 additions & 1 deletion Extension/src/background/services/locale-detect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ export class LocaleDetect {
changeInfo: Tabs.OnUpdatedChangeInfoType,
tab: Tabs.Tab,
): Promise<void> {
if (tab.status === 'complete') {
if (tab.status === 'complete' && !__IS_MV3__) {
await this.detectTabLanguage(tab);
}
}
Expand Down Expand Up @@ -331,6 +331,8 @@ export class LocaleDetect {

const disabledFiltersIds = filterIds.filter(filterId => !FiltersApi.isFilterEnabled(filterId));

// TODO: Check, do we really need always enable language group,
// even if user disabled it manually?
// Always enable language filters group.
groupStateStorage.enableGroups([AntibannerGroupsId.LanguageFiltersGroupId]);

Expand Down
Loading

0 comments on commit ed5c02e

Please sign in to comment.