fix: pause browser hosts other than vikingfile

This commit is contained in:
MyLuxy committed 2026-10-16 20:02:44 +02:00
1 parent 0708569d07
commit 39eb853b6a
3 files changed
+34 -2

No files matched your search

+2 -1
View File
@@ -4,6 +4,7 @@
import { features, games, twins } from '../data/catalog.js';
import { formatDate2, formatNumber2, t } from '../i18n/core.js';
import { createPageCache } from './page-cache.js';
import { pausedFilter } from './paused-hosts.js';
import { createReleaseCache } from './release-cache.js';
import { FileSystem, Image } from '@ps5-react/core';
@@ -119,7 +120,7 @@ import { FileSystem, Image } from '@ps5-react/core';
return words.map((word, i) => i ? word[0].toUpperCase() + word.slice(1) : word).join("");
}
var CDN_HOST = "overdrive cdn";
var hosts = [...hostCounts].filter(([host2, count]) => count >= MIN_HOST_GAMES || host2 === CDN_HOST).sort((a, b) => (b[0] === CDN_HOST) - (a[0] === CDN_HOST) || b[1] - a[1]).map(([host2]) => ({ value: host2, name: HOST_NAMES[host2] ?? host2 }));
var hosts = [...hostCounts].filter(([host2, count]) => (count >= MIN_HOST_GAMES || host2 === CDN_HOST) && !pausedFilter(host2)).sort((a, b) => (b[0] === CDN_HOST) - (a[0] === CDN_HOST) || b[1] - a[1]).map(([host2]) => ({ value: host2, name: HOST_NAMES[host2] ?? host2 }));
var onCdn = (game) => Boolean(game.providers?.includes(CDN_HOST));
var SIZES = [
{ value: "small", label: "filters.size.small", test: (gb) => gb < 10 },
+29
View File
@@ -0,0 +1,29 @@
// Browser hosts are paused, except Vikingfile, while each one is tested on the console on its own
// (2026-10-16): a source that needs the console's browser is left out of every game when the
// game's sources load, and its host out of Browse's host filter. Nothing is removed from the
// catalog data; false brings every one of them back. Archive.org stays, its /details/ pages too.
import { sourceKind } from './download-sources.js';
import { vikingLinkPage } from './viking-capture.js';
var PAUSE_BROWSER_HOSTS = true;
// The catalog's own host keys (game.providers) whose every source needs the browser.
var PAUSED_FILTERS = /* @__PURE__ */ new Set([
"1fichier", "datanodes", "filekeeper", "datavaults", "buzzheavier", "gofile", "rapidgator", "filecrypt",
"ranoz", "transfer", "mega", "urlvanish", "fileditchfiles", "tinyurl", "fuckingfast", "akirabox", "rootz.so",
"1024terabox"
]);
function pausedSource(release) {
if (!PAUSE_BROWSER_HOSTS) return false;
let kind;
try {
kind = sourceKind(release);
} catch {
return false;
}
if (kind === "vikingfile" || vikingLinkPage(release) || /archive\.org$/i.test(release.provider || "")) return false;
return kind === "browser" || kind === "datanodes" || kind === "buzzheavier";
}
var pausedFilter = (host) => PAUSE_BROWSER_HOSTS && PAUSED_FILTERS.has(host);
export { pausedFilter, pausedSource };
+3 -1
View File
@@ -1,6 +1,7 @@
// ../pub-game-store/native/state/release-cache.js
// reconstructed from the esbuild bundle in eboot.bin
import { pausedSource } from './paused-hosts.js';
import { releaseSets } from './release-sets.js';
var KEPT2 = 6;
@@ -15,7 +16,8 @@ import { releaseSets } from './release-sets.js';
// Each source carries its game's title ID (CUSA for PS4, PPSA for PS5): the firmware limit on
// fake PKGs is the PS5's alone, and a source never says which console it is for.
const titleId = /([a-z0-9]+)\.json$/i.exec(file)[1].toUpperCase();
releases = releaseSets(parsed.map((release) => ({ ...release, titleId })));
// A paused browser host's sources are left out here, before any screen sees them.
releases = releaseSets(parsed.filter((release) => !pausedSource(release)).map((release) => ({ ...release, titleId })));
if (games2.size === KEPT2) games2.delete(games2.keys().next().value);
}
games2.delete(file);