mirror of
https://github.com/BigBodyCobain/Shadowbroker.git
synced 2026-07-14 07:47:23 +02:00
release: prepare v0.9.7
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
import { hasLocalControlBridge } from '@/lib/localControlTransport';
|
||||
import {
|
||||
GATE_ACTIVITY_REFRESH_JITTER_MS,
|
||||
GATE_ACTIVITY_REFRESH_MS,
|
||||
GATE_MESSAGES_POLL_JITTER_MS,
|
||||
GATE_MESSAGES_POLL_MS,
|
||||
} from '@/components/MeshChat/types';
|
||||
import { jitterDelay } from '@/components/MeshChat/utils';
|
||||
|
||||
const GATE_BACKGROUND_MESSAGES_POLL_MS = 60_000;
|
||||
const GATE_BACKGROUND_MESSAGES_POLL_JITTER_MS = 12_000;
|
||||
const GATE_BACKGROUND_ACTIVITY_REFRESH_MS = 18_000;
|
||||
const GATE_BACKGROUND_ACTIVITY_REFRESH_JITTER_MS = 4_000;
|
||||
const GATE_MESSAGES_WAIT_MS = 32_000;
|
||||
const GATE_MESSAGES_WAIT_JITTER_MS = 6_000;
|
||||
const GATE_BACKGROUND_MESSAGES_WAIT_MS = 72_000;
|
||||
const GATE_BACKGROUND_MESSAGES_WAIT_JITTER_MS = 12_000;
|
||||
const GATE_MESSAGES_WAIT_REARM_MS = 3_600;
|
||||
const GATE_MESSAGES_WAIT_REARM_JITTER_MS = 600;
|
||||
const GATE_BACKGROUND_MESSAGES_WAIT_REARM_MS = 9_000;
|
||||
const GATE_BACKGROUND_MESSAGES_WAIT_REARM_JITTER_MS = 3_000;
|
||||
|
||||
export function shouldJitterGateMetadataTiming(): boolean {
|
||||
return !hasLocalControlBridge();
|
||||
}
|
||||
|
||||
function shouldCoarsenBackgroundGateTiming(): boolean {
|
||||
return (
|
||||
shouldJitterGateMetadataTiming() &&
|
||||
typeof document !== 'undefined' &&
|
||||
document.visibilityState === 'hidden'
|
||||
);
|
||||
}
|
||||
|
||||
export function nextGateMessagesPollDelayMs(): number {
|
||||
if (!shouldJitterGateMetadataTiming()) {
|
||||
return GATE_MESSAGES_POLL_MS;
|
||||
}
|
||||
if (shouldCoarsenBackgroundGateTiming()) {
|
||||
return jitterDelay(
|
||||
GATE_BACKGROUND_MESSAGES_POLL_MS,
|
||||
GATE_BACKGROUND_MESSAGES_POLL_JITTER_MS,
|
||||
);
|
||||
}
|
||||
return jitterDelay(GATE_MESSAGES_POLL_MS, GATE_MESSAGES_POLL_JITTER_MS);
|
||||
}
|
||||
|
||||
export function nextGateActivityRefreshDelayMs(): number {
|
||||
if (!shouldJitterGateMetadataTiming()) {
|
||||
return 0;
|
||||
}
|
||||
if (shouldCoarsenBackgroundGateTiming()) {
|
||||
return jitterDelay(
|
||||
GATE_BACKGROUND_ACTIVITY_REFRESH_MS,
|
||||
GATE_BACKGROUND_ACTIVITY_REFRESH_JITTER_MS,
|
||||
);
|
||||
}
|
||||
return jitterDelay(GATE_ACTIVITY_REFRESH_MS, GATE_ACTIVITY_REFRESH_JITTER_MS);
|
||||
}
|
||||
|
||||
export function nextGateMessagesWaitTimeoutMs(): number {
|
||||
if (!shouldJitterGateMetadataTiming()) {
|
||||
return 20_000;
|
||||
}
|
||||
if (shouldCoarsenBackgroundGateTiming()) {
|
||||
return jitterDelay(
|
||||
GATE_BACKGROUND_MESSAGES_WAIT_MS,
|
||||
GATE_BACKGROUND_MESSAGES_WAIT_JITTER_MS,
|
||||
);
|
||||
}
|
||||
return jitterDelay(GATE_MESSAGES_WAIT_MS, GATE_MESSAGES_WAIT_JITTER_MS);
|
||||
}
|
||||
|
||||
export function nextGateMessagesWaitRearmDelayMs(): number {
|
||||
if (!shouldJitterGateMetadataTiming()) {
|
||||
return 750;
|
||||
}
|
||||
if (shouldCoarsenBackgroundGateTiming()) {
|
||||
return jitterDelay(
|
||||
GATE_BACKGROUND_MESSAGES_WAIT_REARM_MS,
|
||||
GATE_BACKGROUND_MESSAGES_WAIT_REARM_JITTER_MS,
|
||||
);
|
||||
}
|
||||
return jitterDelay(GATE_MESSAGES_WAIT_REARM_MS, GATE_MESSAGES_WAIT_REARM_JITTER_MS);
|
||||
}
|
||||
Reference in New Issue
Block a user