1import type { Wakeups } from "@t3tools/client-runtime/connection";
2
3export const MOBILE_BACKGROUND_RECONNECT_AFTER_MS = 10_000;
4
5export type MobileApplicationActiveWakeup = Extract<
6 Wakeups.ConnectionWakeup,
7 "application-active-probe" | "application-active-reconnect"
8>;
9
10export function mobileApplicationActiveWakeup(
11 backgroundedAtMs: number | null,
12 activeAtMs: number,
13): MobileApplicationActiveWakeup {
14 return backgroundedAtMs !== null &&
15 activeAtMs - backgroundedAtMs >= MOBILE_BACKGROUND_RECONNECT_AFTER_MS
16 ? "application-active-reconnect"
17 : "application-active-probe";
18}