fix(k1): stabilize live recovery and media admission

This commit is contained in:
DCCONSTRUCTIONS
2026-08-22 00:03:01 +03:00
parent 7217244886
commit eaad9deda1
29 changed files with 1645 additions and 199 deletions
+15 -1
View File
@@ -1875,6 +1875,20 @@ function invokeState(actionId: string, input: object = {}): Promise<XgridsK1Stat
);
}
let stateReadInFlight: Promise<XgridsK1State> | null = null;
function readStateSingleFlight(): Promise<XgridsK1State> {
if (stateReadInFlight) return stateReadInFlight;
const request = invokeState(xgridsK1Actions.stateRead);
stateReadInFlight = request;
const release = () => {
if (stateReadInFlight === request) stateReadInFlight = null;
};
void request.then(release, release);
return request;
}
export const xgridsK1Api = {
async getHealth(): Promise<HealthResponse> {
const payload = await requestJson(
@@ -1890,7 +1904,7 @@ export const xgridsK1Api = {
},
async getState(): Promise<XgridsK1State> {
return invokeState(xgridsK1Actions.stateRead);
return readStateSingleFlight();
},
scanBle(