Version scan terminal cache key

This commit is contained in:
2569718930@qq.com
2026-06-01 06:46:34 +08:00
parent 6bc53c6e5d
commit 6e00160897
2 changed files with 12 additions and 0 deletions
@@ -56,6 +56,16 @@ export function runTests() {
/hasDirectBackendApiBaseUrl/,
"public scan terminal requests should only attach user auth in direct-backend mode so CDN caches can be shared through the Next proxy",
);
assert.match(
scanTerminalClientSource,
/SCAN_TERMINAL_PAYLOAD_VERSION/,
"scan terminal client should include a stable payload version in the URL so CDN caches roll forward after response-shape optimizations",
);
assert.match(
scanTerminalClientSource,
/params\.set\("_v",\s*SCAN_TERMINAL_PAYLOAD_VERSION\)/,
"scan terminal client should vary the CDN cache key without changing backend scan filters",
);
const overviewProxySource = fs.readFileSync(
path.join(
@@ -22,6 +22,7 @@ export const scanTerminalQueryPolicy = {
autoRefreshMs: null,
manualForceRefreshCooldownMs: 2 * 60_000,
} as const;
const SCAN_TERMINAL_PAYLOAD_VERSION = "runway-slim-v1";
type TerminalQueryOptions = {
forceRefresh?: boolean;
@@ -142,6 +143,7 @@ async function getTerminal({
if (Number.isFinite(timezoneOffsetSeconds)) {
params.set("timezone_offset_seconds", String(Math.trunc(Number(timezoneOffsetSeconds))));
}
params.set("_v", SCAN_TERMINAL_PAYLOAD_VERSION);
if (forceRefresh) {
params.set("_ts", String(Date.now()));
}