On September 25th, 2024, we released v2 of the Apps SDK. To learn what’s new and how to upgrade, see Migration FAQ and Migration guide.

appProcess.registerOnStateChange

API reference for the appProcess.registerOnStateChange method.

Registers a callback that runs when the state of the specified app process changes.

Usage: Listen for process state changes

import { appProcess } from '@canva/platform';
const stateDisposer = appProcess.registerOnStateChange(
processId,
({ state }) => {
switch (state) {
case 'opening':
// Process is starting up
break;
case 'open':
// Process is active and visible
break;
case 'closing':
// Process is about to close
// Save state, cleanup resources
break;
case 'closed':
// Process has been terminated
// Final cleanup if needed
break;
}
}
);
// Later: cleanup the listener
await stateDisposer();
TYPESCRIPT

Parameters

targetAppProcessId
Required

The ID of an app process.

callbackOnStateChangeCallback
Required

The callback to run when the state of the process changes.

Parameters

optsobject
Required

Information about the state change.

  • opts.state - The state of the process.
stateProcessState
Required

The state of an app process.

The possible states include:

  • "opening" - The app process is opening.
  • "open" - The app process is open, active, and visible on the designated surface.
  • "closing" - The app process is closing.
  • "closed" - The app process has been closed and is no longer active.

While a process is closing, it won't receive any events or messages from other processes.

Available values:

  • "opening"
  • "open"
  • "closing"
  • "closed"

Returns

void

Returns

A disposer function that cleans up the registered callback.

() => Promise<void>