chore(k1): checkpoint connection recovery work
This commit is contained in:
@@ -145,6 +145,12 @@ export type AcquisitionPreparationDraft = Omit<
|
||||
|
||||
export interface CanonicalLivePreparationRequest {
|
||||
acquisition: AcquisitionPreparationDraft;
|
||||
physicalAcceptance: OperatorPresenceConfirmation;
|
||||
}
|
||||
|
||||
function runtimeTimezoneName(): string {
|
||||
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
return typeof timezone === "string" && timezone.trim() ? timezone : "UTC";
|
||||
}
|
||||
|
||||
export interface ProvisioningSubmitResult {
|
||||
@@ -677,7 +683,7 @@ export function connectionVerificationFailureMessage(
|
||||
"connection-verify-exact-uuid-scan-timeout":
|
||||
"Mission Core не получил объявление точного сохранённого CoreBluetooth UUID в отведённое окно. Команды K1 не отправлялись; это не является выводом о состоянии устройства.",
|
||||
"connection-verify-address-unavailable":
|
||||
"K1 ответил, но не сообщил адрес в общей сети. Bridge пока не подключён; настройки устройства не менялись.",
|
||||
"K1 ответил по Bluetooth, но не подключён к сохранённой общей сети. Старый Bridge использовать нельзя; подключите K1 к общей сети заново — настройки устройства не менялись.",
|
||||
"connection-verify-target-not-distinguishable-from-baseline":
|
||||
"K1 ответил, но приложение не смогло подтвердить, что прежние настройки сети были применены. Автоматического повтора и новой записи не было.",
|
||||
"connection-verify-route-mismatch":
|
||||
@@ -1732,6 +1738,27 @@ export function useXgridsK1Runtime(enabled: boolean) {
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (nextState.application_control_session?.inspection_only === true) {
|
||||
nextState = await awaitWhileIntentCurrent(
|
||||
assertOperatorIntentCurrent,
|
||||
() => xgridsK1Api.openApplicationControlSession({
|
||||
...request.physicalAcceptance,
|
||||
timezone_name: runtimeTimezoneName(),
|
||||
expected_snapshot_runtime_id: actionSnapshotRuntimeId,
|
||||
}),
|
||||
);
|
||||
acceptState(nextState);
|
||||
assertOperatorIntentCurrent();
|
||||
nextState = await awaitWhileIntentCurrent(
|
||||
assertOperatorIntentCurrent,
|
||||
() => waitForControlPhase(
|
||||
"connection-ready",
|
||||
acceptState,
|
||||
assertOperatorIntentCurrent,
|
||||
),
|
||||
);
|
||||
continue;
|
||||
}
|
||||
nextState = await awaitWhileIntentCurrent(
|
||||
assertOperatorIntentCurrent,
|
||||
() => {
|
||||
|
||||
Reference in New Issue
Block a user