Skip to content

Web console guide

Web console pages, form inputs, question-mark help, and status observation.

Updated View as Markdown

Stable identifier

The Web console is Appaloft’s graphical entrypoint — it’s only responsible for collecting input, showing status, and calling the exact same HTTP/oRPC contract as the CLI/API. It never implements a separate set of deployment rules or lifecycle interpretation at the Web layer.

Default Dashboard navigation and data boundaries

Dashboard is now the default graphical surface in release bundles. It uses contextual navigation to reduce permanent menu load: Workspace keeps only Projects, Infrastructure, Activity, Marketplace, and Settings; opening a Project replaces that menu with Overview, Deployments, Observability, and Settings; and a Resource opens in a desktop side panel or a mobile full page. / enters /projects. This is an intentional pre-1.0 route redesign: legacy Web deep links may return 404, with no redirect or feature-parity guarantee.

All five Workspace destinations and all four Project destinations read real bounded data or show an explicit empty/error state. Agent remains a top-right utility: it prepares a task brief from the active Workspace or Project/Environment context, while execution stays owned by the existing Agent Workspace lifecycle instead of becoming a sixth Workspace destination.

Release builds select dashboard-v2 by default. During the stability window, build the retained legacy surface explicitly with --console-preset=legacy-console-v1 (or APPALOFT_CONSOLE_PRESET=legacy-console-v1) for rollback. This cutover does not remove the legacy source.

Authentication recovery is part of the Dashboard bundle: an uninitialized instance routes first visitors to /bootstrap/auth/first-admin, while signed-out users use /login. Both local-password and configured OAuth providers use the server’s existing auth contracts; login return paths are restricted to same-origin Dashboard URLs.

The Projects → Project/Environment → Resource loop uses three bounded queries:

  • projects.list-summaries returns one Project-summary page without per-Project Resource or Deployment requests;
  • project-environments.overview returns Environment choices, cursor-bounded Resource health/access/latest-Deployment summaries in one read;
  • resources.overview validates Project/Environment/Resource ownership and returns the current overview plus at most five latest Deployments.

These responses are read-only observations. Deployment, configuration, networking, and runtime actions still dispatch the existing Resource/Deployment commands; Svelte pages do not reinterpret or weaken their rules. Resource logs, metrics, and other destination data load only when that destination is active, and inactive subscriptions are disposed when the panel closes or the destination changes.

The Resource surface has six owner-scoped destinations: Overview, Deployments, Configuration, Logs & Metrics, Networking, and Settings. Overview stays compact; Deployments reads a bounded history through deployments.list; Configuration edits the durable runtime profile; Logs & Metrics reads masked bounded logs and retained monitoring rollups; Networking edits the Resource network and generated-access profiles; Settings uses server-side lifecycle and delete-safety operations. Destination code and data are loaded on demand, so opening one destination does not mount the others.

Extensions continue to use appaloft.console.extension-page/v1 documents. Additive scoped-navigation metadata places a contribution only inside its declared Workspace, Project, or Resource destination. A legacy extension with missing or unknown scoped metadata is never promoted to a new permanent Workspace item.

Question-mark help

Fields in a form that are easy to misunderstand have a ? help icon next to them; clicking it jumps to a stable anchor on this documentation site — not an id generated on the fly from the current translated title — so help links don’t break when the UI copy changes.

Resource-scoped operations

Operations related to a specific resource show up first on that resource’s detail page, rather than being scattered across a global menu — for example:

  • starting a new deployment;
  • viewing runtime logs and health status;
  • configuring the proxy and domain.

No hidden business logic

The Web console only collects input, shows status, and calls the HTTP/oRPC contract — business explanations like deployment rules and what a lifecycle phase means always come from the shared business semantics and this documentation site; the UI copy never redefines a different set of explanations.

In a self-hosted deployment, the Web console’s ? links preferentially open local /docs/*, keeping it fully usable offline.

When running the Web dev server standalone, /docs/* redirects to the local docs dev server. The root bun dev also starts the docs service; to adjust the local docs address, set APPALOFT_DEV_DOCS_HOST / APPALOFT_DEV_DOCS_PORT, or override the full target with APPALOFT_WEB_DEV_DOCS_TARGET — see Runtime Configuration Reference for the full variable list.

Product version

The Web console shows the Appaloft product version returned by the backend’s /api/version. Official releases and binary builds inject the version through APPALOFT_APP_VERSION; development environments default to the version in the repository root package.json.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close