Add resilient dual-radio network failover
This commit is contained in:
@@ -66,6 +66,28 @@ export type UpdateStatus = {
|
||||
supported: boolean;
|
||||
};
|
||||
|
||||
export type NetworkStatus = {
|
||||
supported: boolean;
|
||||
enabled: boolean;
|
||||
mode: "disabled" | "starting" | "dual_radio" | "built_in_upstream" | "probing_built_in" | "offline_hotspot" | "degraded" | "error";
|
||||
message: string;
|
||||
updatedAt: string;
|
||||
lastTransitionAt: string;
|
||||
probeDeadline: string | null;
|
||||
lastFailure: string | null;
|
||||
connectivity: "full" | "limited" | "portal" | "none" | "unknown";
|
||||
hotspot: NetworkAdapterStatus;
|
||||
upstream: NetworkAdapterStatus;
|
||||
};
|
||||
|
||||
export type NetworkAdapterStatus = {
|
||||
interface: string;
|
||||
available: boolean;
|
||||
connected: boolean;
|
||||
connection: string | null;
|
||||
address: string | null;
|
||||
};
|
||||
|
||||
type ErrorResponse = { error?: { code?: string; message?: string } };
|
||||
|
||||
export class ApiError extends Error {
|
||||
@@ -108,3 +130,7 @@ export async function getStatus(): Promise<SystemStatus> {
|
||||
export async function getUpdateStatus(): Promise<UpdateStatus> {
|
||||
return parseResponse<UpdateStatus>(await fetch("/api/system/update", { credentials: "same-origin" }));
|
||||
}
|
||||
|
||||
export async function getNetworkStatus(): Promise<NetworkStatus> {
|
||||
return parseResponse<NetworkStatus>(await fetch("/api/network", { credentials: "same-origin" }));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user