feat(serviceworker): Add speedtest support to service worker and dashboard

This commit is contained in:
2025-12-04 11:36:27 +00:00
parent 5a81858df5
commit aa677a2b7c
7 changed files with 429 additions and 2 deletions

View File

@@ -189,4 +189,31 @@ export interface IConnectionResult {
error?: string;
attempts?: number;
duration?: number;
}
// ===============
// Speedtest interfaces
// ===============
/**
* Speedtest request between service worker and backend
*/
export interface IRequest_Serviceworker_Speedtest
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IRequest_Serviceworker_Speedtest
> {
method: 'serviceworker_speedtest';
request: {
type: 'download' | 'upload' | 'latency';
payloadSizeKB?: number; // Size of test payload in KB (default: 100)
payload?: string; // For upload tests, the payload to send
};
response: {
durationMs: number;
bytesTransferred: number;
speedMbps: number;
timestamp: number;
payload?: string; // For download tests, the payload received
};
}