StartpodDocs

Limitations

Understand runtime, network, and API constraints when building with Startpod.

Startpod is designed for interactive development projects, not arbitrary desktop workloads.

Runtime boundaries

  • A page can have one live pod.
  • Files are limited to 1 MiB each.
  • CPU-heavy work still consumes browser resources.
  • Process signals, permissions, PTY behavior, and operating-system APIs are not complete POSIX implementations.
  • Native Node.js addons cannot run as desktop binaries in the browser.
  • Package compatibility depends on the Node APIs and install behavior each package uses.

Service Worker ownership

Startpod's managed preview uses a separate origin. If you explicitly opt into same-origin previews for trusted code, Startpod uses a root-scoped Service Worker. It will not replace a worker already owned by your application.

Network boundaries

  • Browser CORS rules apply to direct requests.
  • Requests blocked by browser CORS rules need to go through your application's backend.
  • Use public npm packages. Private and authenticated registries are not supported.

API compatibility boundaries

Some compatibility hooks accept calls without providing the corresponding behavior:

  • preview-message listeners can register but do not receive events.
  • xdg-open and code listeners can register but are not emitted.
  • forwardPreviewErrors is accepted but is not a complete error-forwarding channel.
  • Authentication and license helpers do not reproduce a hosted account service.

Use the API reference to check the methods and events available to your integration.

On this page