Skip to content

Activity

Derive active / idle status from the core session (requires idleTimeout on the session for idle observation).

Previous: Intelligence overview · Next: Presence

Import path

ts
import { createBrowserLifecycle, createActivityApi } from "@jayoncode/browser-lifecycle";

Main package only. Call dispose() on the underlying session when done.

Usage

ts
import { createBrowserLifecycle, createActivityApi } from "@jayoncode/browser-lifecycle";

const lifecycle = createBrowserLifecycle({ idleTimeout: 30_000 });
const activity = createActivityApi(lifecycle);

activity.isActive();
activity.isIdle();
activity.lastInteraction();
activity.idleTime(); // current idle streak (ms)

activity.dispose(); // does not dispose the session
lifecycle.dispose();

Notes

  • Does not attach pointer/keyboard listeners — Idle module owns that.
  • Use trackLastActiveAt: false for a pure snapshot projector with zero subscriptions.

Presence →

An ecosystem of independent, headless TypeScript libraries engineered for modern web development. Every package includes interactive playgrounds and documentation that evolves alongside the code.