Remove legacy view filter flag

This commit is contained in:
thePR0M3TH3AN committed 2026-01-06 15:36:37 -05:00
1 parent 860c12cc94
commit bc8bfd1ed5
3 files changed
+5 -69

No files matched your search

-31
View File
@@ -146,7 +146,6 @@ export const DEFAULT_TRUST_SEED_NPUBS = SANITIZED_DEFAULT_TRUST_SEED_NPUBS;
const DEFAULT_FLAGS = Object.freeze({
URL_FIRST_ENABLED: true, // try URL before magnet in the player
ACCEPT_LEGACY_V1: true, // accept v1 magnet-only notes
VIEW_FILTER_INCLUDE_LEGACY_VIDEO: false,
FEATURE_WATCH_HISTORY_V2: true,
FEATURE_PUBLISH_NIP71: false,
FEATURE_HASHTAG_PREFERENCES: false,
@@ -167,8 +166,6 @@ const runtimeFlags = (() => {
const initial = {
URL_FIRST_ENABLED: DEFAULT_FLAGS.URL_FIRST_ENABLED,
ACCEPT_LEGACY_V1: DEFAULT_FLAGS.ACCEPT_LEGACY_V1,
VIEW_FILTER_INCLUDE_LEGACY_VIDEO:
DEFAULT_FLAGS.VIEW_FILTER_INCLUDE_LEGACY_VIDEO,
FEATURE_WATCH_HISTORY_V2: DEFAULT_FLAGS.FEATURE_WATCH_HISTORY_V2,
FEATURE_PUBLISH_NIP71: DEFAULT_FLAGS.FEATURE_PUBLISH_NIP71,
FEATURE_HASHTAG_PREFERENCES: DEFAULT_FLAGS.FEATURE_HASHTAG_PREFERENCES,
@@ -196,11 +193,6 @@ export let ACCEPT_LEGACY_V1 = coerceBoolean(
DEFAULT_FLAGS.ACCEPT_LEGACY_V1
);
export let VIEW_FILTER_INCLUDE_LEGACY_VIDEO = coerceBoolean(
runtimeFlags.VIEW_FILTER_INCLUDE_LEGACY_VIDEO,
DEFAULT_FLAGS.VIEW_FILTER_INCLUDE_LEGACY_VIDEO
);
export let FEATURE_WATCH_HISTORY_V2 = coerceBoolean(
runtimeFlags.FEATURE_WATCH_HISTORY_V2,
DEFAULT_FLAGS.FEATURE_WATCH_HISTORY_V2
@@ -267,20 +259,6 @@ Object.defineProperty(runtimeFlags, "ACCEPT_LEGACY_V1", {
},
});
Object.defineProperty(runtimeFlags, "VIEW_FILTER_INCLUDE_LEGACY_VIDEO", {
configurable: true,
enumerable: true,
get() {
return VIEW_FILTER_INCLUDE_LEGACY_VIDEO;
},
set(next) {
VIEW_FILTER_INCLUDE_LEGACY_VIDEO = coerceBoolean(
next,
DEFAULT_FLAGS.VIEW_FILTER_INCLUDE_LEGACY_VIDEO
);
},
});
Object.defineProperty(runtimeFlags, "FEATURE_WATCH_HISTORY_V2", {
configurable: true,
enumerable: true,
@@ -409,7 +387,6 @@ Object.defineProperty(runtimeFlags, "TRUSTED_SPAM_HIDE_THRESHOLD", {
// Ensure the runtime object reflects the sanitized defaults immediately.
runtimeFlags.URL_FIRST_ENABLED = URL_FIRST_ENABLED;
runtimeFlags.ACCEPT_LEGACY_V1 = ACCEPT_LEGACY_V1;
runtimeFlags.VIEW_FILTER_INCLUDE_LEGACY_VIDEO = VIEW_FILTER_INCLUDE_LEGACY_VIDEO;
runtimeFlags.FEATURE_WATCH_HISTORY_V2 = FEATURE_WATCH_HISTORY_V2;
runtimeFlags.FEATURE_PUBLISH_NIP71 = FEATURE_PUBLISH_NIP71;
runtimeFlags.FEATURE_HASHTAG_PREFERENCES = FEATURE_HASHTAG_PREFERENCES;
@@ -431,11 +408,6 @@ export function setAcceptLegacyV1(next) {
return ACCEPT_LEGACY_V1;
}
export function setViewFilterIncludeLegacyVideo(next) {
runtimeFlags.VIEW_FILTER_INCLUDE_LEGACY_VIDEO = next;
return VIEW_FILTER_INCLUDE_LEGACY_VIDEO;
}
export function getWatchHistoryV2Enabled() {
return FEATURE_WATCH_HISTORY_V2 === true;
}
@@ -468,9 +440,6 @@ export function setHashtagPreferencesEnabled(next) {
export function resetRuntimeFlags() {
setUrlFirstEnabled(DEFAULT_FLAGS.URL_FIRST_ENABLED);
setAcceptLegacyV1(DEFAULT_FLAGS.ACCEPT_LEGACY_V1);
setViewFilterIncludeLegacyVideo(
DEFAULT_FLAGS.VIEW_FILTER_INCLUDE_LEGACY_VIDEO
);
setWatchHistoryV2Enabled(DEFAULT_FLAGS.FEATURE_WATCH_HISTORY_V2);
setHashtagPreferencesEnabled(DEFAULT_FLAGS.FEATURE_HASHTAG_PREFERENCES);
setTrustSeedsEnabled(DEFAULT_FLAGS.FEATURE_TRUST_SEEDS);
-16
View File
@@ -2,7 +2,6 @@ import {
VIEW_COUNT_DEDUPE_WINDOW_SECONDS,
VIEW_COUNT_BACKFILL_MAX_DAYS,
} from "../config.js";
import { VIEW_FILTER_INCLUDE_LEGACY_VIDEO } from "../constants.js";
import {
buildViewEvent,
getNostrEventSchema,
@@ -79,14 +78,6 @@ export function createVideoViewEventFilters(pointer) {
const filters = [pointerFilter];
if (VIEW_FILTER_INCLUDE_LEGACY_VIDEO) {
filters.push({
kinds: [VIEW_EVENT_KIND],
"#t": ["view"],
"#video": [resolved.value],
});
}
return { pointer: resolved, filters };
}
@@ -298,13 +289,6 @@ function isVideoViewEvent(event, pointer) {
continue;
}
if (
VIEW_FILTER_INCLUDE_LEGACY_VIDEO &&
tagName === "video" &&
tagValue === pointerValueLower
) {
matchesPointer = true;
}
}
return hasViewTag && matchesPointer;
+5 -22
View File
@@ -10,10 +10,6 @@ const {
createVideoViewEventFilters,
getViewEventGuardWindowMs,
} = await import("../js/nostr/viewEvents.js");
const {
setViewFilterIncludeLegacyVideo,
resetRuntimeFlags,
} = await import("../js/constants.js");
async function withMockedNow(initialMs, callback) {
const originalNow = Date.now;
@@ -94,28 +90,15 @@ async function testCreateVideoViewEventFiltersForAddressPointer() {
assertPointerFilterStructure(filters[0], pointerValue, "primary");
}
async function testCreateVideoViewEventFiltersIncludeLegacyWhenEnabled() {
async function testCreateVideoViewEventFiltersForEventPointer() {
const pointerValue = "legacy-event";
resetRuntimeFlags();
setViewFilterIncludeLegacyVideo(true);
try {
const { filters } = createVideoViewEventFilters({ type: "e", value: pointerValue });
assert.ok(Array.isArray(filters) && filters.length === 2, "legacy flag should add a secondary filter");
assertPointerFilterStructure(filters[0], pointerValue, "primary");
const legacyFilter = filters[1];
assert.ok(legacyFilter, "legacy filter should exist when flag enabled");
assert.deepEqual(
legacyFilter["#video"],
[pointerValue],
"legacy filter should match the pointer value via #video tag",
);
} finally {
resetRuntimeFlags();
}
const { filters } = createVideoViewEventFilters({ type: "e", value: pointerValue });
assert.ok(Array.isArray(filters) && filters.length === 1, "filters should include only the pointer filter");
assertPointerFilterStructure(filters[0], pointerValue, "primary");
}
await testRememberViewPublishHonorsGuardWindow();
await testCreateVideoViewEventFiltersForAddressPointer();
await testCreateVideoViewEventFiltersIncludeLegacyWhenEnabled();
await testCreateVideoViewEventFiltersForEventPointer();
console.log("nostr view events tests passed");