From 624bf7140812f588b0d336e709c08070790f8aa8 Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 8 Oct 2026 20:49:33 +0000 Subject: [PATCH] docs: update documentation for OpenHands v1.26.0 Add Agent Canvas 1.26.0 release notes and register the page in docs.json. Document the authenticated backend view helper for apps, the suspended workspace screen, the Super Admin setup guide on enterprise backends, and the narrowed automation "Needs review" run status. Co-authored-by: openhands --- docs.json | 1 + openhands/usage/agent-canvas/backends.mdx | 11 +++++ .../usage/agent-canvas/canvas-extensions.mdx | 8 ++++ .../usage/agent-canvas/first-time-setup.mdx | 10 +++++ .../agent-canvas/managing-automations.mdx | 2 + .../agent-canvas/release-notes/v1.26.0.mdx | 42 +++++++++++++++++++ 6 files changed, 74 insertions(+) create mode 100644 openhands/usage/agent-canvas/release-notes/v1.26.0.mdx diff --git a/docs.json b/docs.json index 5aec7a2dc..82ceb5bb4 100644 --- a/docs.json +++ b/docs.json @@ -323,6 +323,7 @@ { "group": "Release Notes", "pages": [ + "openhands/usage/agent-canvas/release-notes/v1.26.0", "openhands/usage/agent-canvas/release-notes/v1.25.0", "openhands/usage/agent-canvas/release-notes/v1.24.0", "openhands/usage/agent-canvas/release-notes/v1.23.0", diff --git a/openhands/usage/agent-canvas/backends.mdx b/openhands/usage/agent-canvas/backends.mdx index a8183828c..a59004dee 100644 --- a/openhands/usage/agent-canvas/backends.mdx +++ b/openhands/usage/agent-canvas/backends.mdx @@ -15,6 +15,17 @@ Settings, LLM configuration, MCP servers, and automations are all scoped to the "Remote" describes how Canvas connects to a backend, not where that backend runs. A remote backend can be a separate process on the same machine, a self-hosted deployment on a VM or container platform, or a managed Cloud or Enterprise service. +## Suspended Workspaces + +On cloud and Enterprise backends, an administrator can suspend an organization or one user's membership in it. When the selected organization is suspended, the backend refuses requests scoped to it with a `403` and Agent Canvas replaces the app with a message instead of leaving it open on top of failing requests. + +- If the organization is suspended, Canvas shows that the workspace is suspended and asks you to contact your administrator to restore access. +- If only your membership is suspended, Canvas shows that your access to the workspace is suspended. + +Below the message is a button for each of your other workspaces. Choosing one switches the active workspace and reloads its data. If the suspended workspace is the only one you can access, only the message appears. Super Admins are exempt and do not see the screen. + +The suspension is remembered for the current session. After an administrator resumes the organization, reload the page to clear it. + ## Recommended Setups | Setup | When to use | How | diff --git a/openhands/usage/agent-canvas/canvas-extensions.mdx b/openhands/usage/agent-canvas/canvas-extensions.mdx index 0703a3d09..28ba87dd7 100644 --- a/openhands/usage/agent-canvas/canvas-extensions.mdx +++ b/openhands/usage/agent-canvas/canvas-extensions.mdx @@ -167,6 +167,14 @@ Request paths must be root-relative, begin with exactly one `/`, and must not be The beta host API does not expose the backend origin or a WebSocket authentication capability. Use the authenticated HTTP helper, polling where appropriate, or a backend-owned bridge instead of opening a direct Agent Server WebSocket. +### Embed a Backend View + +An app can embed an app-owned HTTP UI — for example, a web editor — through the optional `host.appBackendView` helper. The helper is present only when the active Agent Server exposes the bridge contract: its `server_info` advertises the backend bridge capability and an HTTP(S) ingress URL, and the installed `@openhands/typescript-client` exports the app backend session methods. + +Call `host.appBackendView.mount({ container })` to mount the view. The helper requests a short-lived session from the discovered ingress and renders it in an iframe; the app never receives an Agent Server session key and must not construct the ingress origin or derive it from `window.location`. Canvas validates that the returned URL shares the ingress origin and applies only the server-provided sandbox tokens, rejecting top-navigation, downloads, and storage access. The host owns loading, safe errors, retry, a validated new-tab fallback, session revocation, and disposal on page unmount or backend switch. + +The feature is additive: self-contained ESM loading, routed page registration, and the native editor are unchanged. + ## Design for the Beta Lifecycle Agent Canvas may activate, mount, and dispose an app repeatedly when you enable or disable it, update it, reconnect, or switch backends. App pages should: diff --git a/openhands/usage/agent-canvas/first-time-setup.mdx b/openhands/usage/agent-canvas/first-time-setup.mdx index 905fb98e1..50cdac6e6 100644 --- a/openhands/usage/agent-canvas/first-time-setup.mdx +++ b/openhands/usage/agent-canvas/first-time-setup.mdx @@ -89,6 +89,16 @@ Each item links directly to the relevant page. The checklist tracks your progres Toggle the checklist from `Settings > Application` using the **Show getting started checklist** switch. The setting persists across sessions. +## Super Admin Setup Guide + +On OpenHands Enterprise backends where the first Super Admin has the setup guide enabled, Agent Canvas shows the same setup guide as the OHE dashboard: a floating panel in the lower-right corner that collapses to a pill. It lists the same four steps in the same order, with the same n/4 progress, and links back to OHE for the steps that live there. + +The guide appears only for the first Super Admin, while the guide has an organization and is not dismissed. Everyone else, and local backends, see no guide. While the guide is loading or shown, the "Getting started" checklist is hidden; it stays for everyone else. + +Progress is re-read on each navigation, so an automation created from a template in Canvas ticks its step. When you complete a step in Canvas — creating an automation directly from a template, or adding an MCP server — the guide opens the next step. A step finished out of order, or one the server does not confirm, opens nothing. An assisted setup that only starts a conversation does not report the step. + +Closing the panel collapses it to the pill until the next page load. Dismissing the guide stays on the OHE guide page. + ## Customize your Agent Canvas When you are ready to go beyond the default setup, choose the mechanism that fits the task: diff --git a/openhands/usage/agent-canvas/managing-automations.mdx b/openhands/usage/agent-canvas/managing-automations.mdx index f2efa3d6b..dadbcda90 100644 --- a/openhands/usage/agent-canvas/managing-automations.mdx +++ b/openhands/usage/agent-canvas/managing-automations.mdx @@ -25,6 +25,8 @@ Click an automation to open its detail view. The detail view shows: A run can be `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`, `CANCELLED`, or `SKIPPED`. A `SKIPPED` run can occur when the backend reaches its concurrency limit. Future backend statuses appear as a neutral status badge so they do not prevent you from viewing the automation. +A completed run's badge also reflects its task outcome. When the finish response has no task outcome status, the run shows a successful badge. Only an explicit unrecognized status string maps to **Needs review**. When the finish response carries an `outcome_summary` without a status, the run still shows that summary. These display rules are the same in the Activity Log, the run logs, the home health metrics, and automation insights. + ### Run Phase Automation runs surface a live **phase** that reflects a run's current state: `PENDING`, `RUNNING`, or `FAILED`. The phase appears on automation cards, in the Activity Log, and on the home screen, and updates live as a run progresses. A failed run retains its last phase after it stops. diff --git a/openhands/usage/agent-canvas/release-notes/v1.26.0.mdx b/openhands/usage/agent-canvas/release-notes/v1.26.0.mdx new file mode 100644 index 000000000..104cf28c9 --- /dev/null +++ b/openhands/usage/agent-canvas/release-notes/v1.26.0.mdx @@ -0,0 +1,42 @@ +--- +title: Agent Canvas 1.26.0 +description: Release notes for Agent Canvas version 1.26.0 +--- + +# Agent Canvas 1.26.0 + +Released October 8, 2026. + +[View the full release on GitHub](https://github.com/OpenHands/OpenHands/releases/tag/v1.26.0). + +## Highlights + +- **Authenticated backend views for Apps** — An app can embed an app-owned HTTP UI through the optional `host.appBackendView` helper, which requests a short-lived session from the active Agent Server's ingress and mounts it in an iframe. See [Apps (Beta)](/openhands/usage/agent-canvas/canvas-extensions). +- **Suspended workspace screen** — On cloud and Enterprise backends, when the selected organization or your membership in it is suspended, Agent Canvas replaces the app with a message and offers a button for each of your other workspaces. See [Backends](/openhands/usage/agent-canvas/backends). +- **Super Admin setup guide on enterprise backends** — On Enterprise backends where the first Super Admin has the guide enabled, Canvas shows the same setup guide as the OHE dashboard, with the same steps and n/4 progress, and hides the "Getting started" checklist while it is shown. Completing a step in Canvas advances the guide to the next step. See [First Time Setup](/openhands/usage/agent-canvas/first-time-setup). +- **Narrowed "Needs review" run status** — A completed automation run whose finish response has no task outcome now shows a successful badge. Only explicit unrecognized statuses map to "Needs review". See [Managing automations](/openhands/usage/agent-canvas/managing-automations#run-statuses). + +## Fixes + +- An empty-response corrective nudge from the SDK renders as an informational note in chat instead of a plain assistant message. +- Error toasts show the server's message instead of raw `HttpError` text, for generic errors, LLM profile errors, and failed plugin and app installs and updates. +- Cloud organization and Git installation queries poll less often, and cloud conversation requests are scoped to the selected organization. Cloud sandbox resume retry behavior is adjusted. +- PostHog telemetry is never initialized when the browser sends Do Not Track. +- Accessibility: menus, popovers, and the conversation header menu close on `Escape` and return focus; the LLM profile row menu is keyboard-operable; icon-only composer and diff viewer buttons are named. +- Narrow-screen layout: settings and customization remain usable on tablets, home shows folder names at phone width, and the conversation drawer opens at phone width for agent and file-link tab requests. +- Unknown URLs render as an in-app not-found page. The command menu lists Model Router and Agent Context and shows `Ctrl+K` off Apple platforms. Switching from `Manage backends` redirects off backend detail pages. The "No backend is configured." toast no longer appears before a backend exists. +- MCP failed stdio connection tests are explained without the URL hint, and catalog identity is kept for repeated STDIO installs. The Files panel shows the current file body after `Refresh` and reload. The cloud VS Code action is hidden when it is unavailable. +- Automations read local run logs from the server-level bash events, show one error toast when an action fails, keep the filters popover open between choices, and show repositories and plugins stored in `preset_metadata`; repository credentials are hidden on the Git Sync status card. +- Plugin controls say "plugin", busy app switches stay inert, and workspace hooks are listed in the Available Hooks dialog on local backends. A bare `/btw` shows a toast, and `Resume` is offered only on the latest goal status. +- The macOS desktop title bar drag region is restored. + +## Maintenance + +- The bundled VS Code consumer refactor was reverted in the same release, so bundled VS Code support is unchanged. +- Added the internal `verify-openhands` agent skill and feature map, plus maintenance mapping docs. +- Weekly test sweep removed low-value tests, and several end-to-end tests were updated. Raw color lint warnings were staged. + +## Full Changelog + +- [GitHub release notes](https://github.com/OpenHands/OpenHands/releases/tag/v1.26.0) +- [Compare v1.25.0 to v1.26.0](https://github.com/OpenHands/OpenHands/compare/v1.25.0...v1.26.0)