Skip to content

@modoki/engine / index / OtaCheckResult

Type Alias: OtaCheckResult

OtaCheckResult = { outcome: "up-to-date"; } | { outcome: "no-release-for-bundle"; } | { outcome: "signature-invalid"; } | { outcome: "engine-api-too-old"; required: number; running: number; } | { errors: string[]; outcome: "manifest-invalid"; } | { outcome: "no-bundle-zip-in-manifest"; } | { outcome: "version-rejected"; version: string; } | { delta?: boolean; mandatory: boolean; outcome: "staged"; version: string; }

Union Members

Type Literal

{ outcome: "up-to-date"; }

OTA Updates

outcome

outcome: "up-to-date"


Type Literal

{ outcome: "no-release-for-bundle"; }

OTA Updates

outcome

outcome: "no-release-for-bundle"


Type Literal

{ outcome: "signature-invalid"; }

OTA Updates

outcome

outcome: "signature-invalid"


Type Literal

{ outcome: "engine-api-too-old"; required: number; running: number; }

OTA Updates

outcome

outcome: "engine-api-too-old"

required

required: number

running

running: number


Type Literal

{ errors: string[]; outcome: "manifest-invalid"; }

OTA Updates

errors

errors: string[]

outcome

outcome: "manifest-invalid"


Type Literal

{ outcome: "no-bundle-zip-in-manifest"; }

OTA Updates

outcome

outcome: "no-bundle-zip-in-manifest"


Type Literal

{ outcome: "version-rejected"; version: string; }

The release's target version is one this device already PROVED bad — it exhausted its boot attempts and the watchdog reverted it (Phase 3a quarantine). Staging it again would re-enter the crash-loop → revert → re-stage cycle forever, so we refuse. Recovery is fix-forward only: publish a NEW version. A blocking/mandatory gate MUST treat this as "no update available" and let the player keep playing the working bundle — blocking here is what turns a stale app into a permanent brick.

OTA Updates

outcome

outcome: "version-rejected"

version

version: string


Type Literal

{ delta?: boolean; mandatory: boolean; outcome: "staged"; version: string; }

OTA Updates

delta?

optional delta?: boolean

mandatory

mandatory: boolean

outcome

outcome: "staged"

version

version: string

Built with Modoki.