Mark all the unknown achievements as done and remove the survey one during the installation

This commit is contained in:
Andrea Marchesini
2025-10-28 14:56:52 +01:00
parent f6a59ab54e
commit f377174bf2
3 changed files with 32 additions and 10 deletions
+15
View File
@@ -38,6 +38,7 @@ const backgroundLogic = {
browser.runtime.onInstalled.addListener((details) => {
this.updateTranslationInManifest();
this._undoDefault820SortTabsKeyboardShortcut(details);
this._removeSurveyAchievement();
});
browser.runtime.onStartup.addListener(this.updateTranslationInManifest);
},
@@ -68,6 +69,20 @@ const backgroundLogic = {
}
},
/**
* We left an achievement entry in storage during a user research study in
* version 8.3.1. This method removes that entry to prevent broken logic in
* the achievement views.
*/
async _removeSurveyAchievement() {
const achievementsStorage = await browser.storage.local.get({ achievements: [] });
const achievements = achievementsStorage.achievements;
const filtered = achievements.filter(a => a.name !== "survey");
if (filtered.length !== achievements.length) {
await browser.storage.local.set({achievements: filtered});
}
},
updateTranslationInManifest() {
for (let index = 0; index < 10; index++) {
const ajustedIndex = index + 1; // We want to start from 1 instead of 0 in the UI.