mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 07:52:24 +00:00
Remove legacy view filter flag
This commit is contained in:
1 parent
860c12cc94
commit
bc8bfd1ed5
3 files changed
+5
-69
No files matched your search
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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");
|
||||
Reference in new issue
Block a user