Tutorial: LaunchEmitter

LaunchEmitter

The LaunchEmitter is an EventEmitter. It can listen to app version resolver events.

Supported event types

  • app-version-progress
  • runtime-status
  • app-version-complete
  • app-version-error

App version resolver events

app-version-progress

Generated when RVM tries each manifest in the list of fallbackManifests, validate it and see if it's compatible with the system app.

//This response has the following shape:
{
    type: 'app-version-progress',
    manifest: 'https://cdn.openfin.co/release/system-apps/notifications/1.13.0/app.json',       // A manifest in the fallbackManifest list
    srcManifest: 'https://cdn.openfin.co/myapp.json'    // To keep track of the original manifest url
}

runtime-status

Generated when RVM checks runtime availability.

//This response has the following shape:
{
    type: 'runtime-status',
    version: '29.105.71.32',    // runtime version
    exists: false,    // check if the runtime already exists on the machine
    writeAccess: true,  // check if the runtime directory has write access
    reachable: true, // check if the runtime asset location is reachable/downloadable
    healthCheck: true,   // check if there is runtime health check
    error: 'Not able to resolve runtime version'    // give an error message if runtime version cannot be resolved
}

app-version-complete

Generated when RVM has successfully found the target runtime version and (about to) delegate launch to the runtime.

//This response has the following shape:
{
    type: 'app-version-complete',
    manifest: 'https://cdn.openfin.co/release/system-apps/notifications/1.13.0/app.json',       // A manifest in the fallbackManifest list
    srcManifest: 'https://cdn.openfin.co/myapp.json'    // To keep track of the original manifest url
}

app-version-error

Generated when RVM failed to find an available runtime version after trying each manifest in the list of fallbackManifests.

//This response has the following shape:
{
    type: 'app-version-error',
    srcManifest: 'https://cdn.openfin.co/myapp.json',    // To keep track of the original manifest url
    error: 'All fallback manifest URLs failed'  // error message
}