Merge pull request #2214 from PR0M3TH3AN/clean-up-legacy-moderation-overrides-18282916472860729392

🧹 Remove legacy moderation overrides support
This commit is contained in:
thePR0M3TH3AN authored and GitHub committed 2026-02-07 19:37:23 -05:00
commit effe152c25
2 files changed
+53 -20

No files matched your search

+1 -20
View File
@@ -30,7 +30,6 @@ const URL_PROBE_TIMEOUT_RETRY_MS = 15 * 1000; // 15 seconds
const MODERATION_OVERRIDE_STORAGE_KEY = "bitvid:moderationOverrides:v2";
const LEGACY_MODERATION_OVERRIDE_STORAGE_KEY = "bitvid:moderationOverrides:v1";
const MODERATION_OVERRIDE_STORAGE_VERSION = 2;
const MODERATION_SETTINGS_STORAGE_KEY = "bitvid:moderationSettings:v1";
const MODERATION_SETTINGS_STORAGE_VERSION = 3;
@@ -1530,9 +1529,7 @@ export function loadModerationOverridesFromStorage() {
return;
}
const raw =
localStorage.getItem(MODERATION_OVERRIDE_STORAGE_KEY) ||
localStorage.getItem(LEGACY_MODERATION_OVERRIDE_STORAGE_KEY);
const raw = localStorage.getItem(MODERATION_OVERRIDE_STORAGE_KEY);
if (!raw) {
return;
}
@@ -1553,20 +1550,6 @@ export function loadModerationOverridesFromStorage() {
} else {
shouldRewrite = true;
}
} else if (payload.version === 1) {
const legacyEntries =
payload.entries && typeof payload.entries === "object"
? payload.entries
: {};
Object.entries(legacyEntries).forEach(([eventId, entry]) => {
entries.push({
eventId,
authorPubkey: "",
showAnyway: entry?.showAnyway === true,
updatedAt: entry?.updatedAt,
});
});
shouldRewrite = true;
} else {
return;
}
@@ -1633,7 +1616,6 @@ export function persistModerationOverridesToStorage() {
if (entries.length === 0) {
try {
localStorage.removeItem(MODERATION_OVERRIDE_STORAGE_KEY);
localStorage.removeItem(LEGACY_MODERATION_OVERRIDE_STORAGE_KEY);
} catch (error) {
userLogger.warn(
"[cache.persistModerationOverridesToStorage] Failed to clear overrides:",
@@ -1654,7 +1636,6 @@ export function persistModerationOverridesToStorage() {
MODERATION_OVERRIDE_STORAGE_KEY,
JSON.stringify(payload),
);
localStorage.removeItem(LEGACY_MODERATION_OVERRIDE_STORAGE_KEY);
} catch (error) {
userLogger.warn(
"[cache.persistModerationOverridesToStorage] Failed to persist overrides:",
+52
View File
@@ -12,6 +12,9 @@ import {
getModerationSettings,
setModerationSettings,
urlHealthConstants,
loadModerationOverridesFromStorage,
getModerationOverridesList,
clearModerationOverride,
} from "../../js/state/cache.js";
// Ensure localStorage is mocked
@@ -102,4 +105,53 @@ test("js/state/cache.js", async (t) => {
assert.strictEqual(updated.blurThreshold, 1);
assert.strictEqual(updated.autoplayBlockThreshold, 2);
});
await t.test("Legacy Moderation Overrides Support", async (t) => {
// Reset internal state by clearing overrides
const current = getModerationOverridesList();
for (const entry of current) {
clearModerationOverride(entry, { persist: false });
}
const VALID_HEX_ID_1 = "0000000000000000000000000000000000000000000000000000000000000001";
const VALID_HEX_ID_2 = "0000000000000000000000000000000000000000000000000000000000000002";
await t.test("ignores legacy v1 overrides", () => {
const legacyData = {
version: 1,
entries: {
[VALID_HEX_ID_1]: { showAnyway: true, updatedAt: 1234567890 },
}
};
localStorage.setItem("bitvid:moderationOverrides:v1", JSON.stringify(legacyData));
loadModerationOverridesFromStorage();
const overrides = getModerationOverridesList();
assert.strictEqual(overrides.length, 0, "Should not load legacy overrides");
// Check if it migrated to v2 key
const v2Data = localStorage.getItem("bitvid:moderationOverrides:v2");
assert.strictEqual(v2Data, null, "Should not migrate/persist v2 data");
// Check if legacy key is NOT removed
assert.ok(localStorage.getItem("bitvid:moderationOverrides:v1"), "Should not remove legacy key");
});
await t.test("loads v2 overrides", () => {
const v2Data = {
version: 2,
entries: [
{ eventId: VALID_HEX_ID_2, authorPubkey: "", showAnyway: true, updatedAt: 1234567890 }
]
};
localStorage.setItem("bitvid:moderationOverrides:v2", JSON.stringify(v2Data));
loadModerationOverridesFromStorage();
const overrides = getModerationOverridesList();
assert.strictEqual(overrides.length, 1);
assert.strictEqual(overrides[0].eventId, VALID_HEX_ID_2);
});
});
});