Files
OpenHands/__tests__/components/ui
Robert Brennanandopenhands 7509bbbe71 Replace bundled backend with seeded default local backend (#235)
* Replace bundled backend with seeded default local backend

Eliminate the special-case 'bundled' backend in favor of a regular registered
backend that is seeded on first read. Users can now rename or remove the
default 'Local' backend like any other.

- Drop `api/backend-registry/bundled.ts` and the `BundledBackend` distinction.
  Add `default-backend.ts` with `makeDefaultLocalBackend()` and
  `getEffectiveLocalBackend()` (used by API clients that need a baseline
  local target when the registry is empty).
- `storage.readStoredBackends()` seeds `[makeDefaultLocalBackend()]` when the
  `openhands-backends` localStorage key has never been written.
- `active-store.getActiveBackend()` falls back to the first local backend in
  the registry (or a synthesized default) instead of the removed bundled.
- `useActiveBackendContext()` no longer exposes `bundledBackend`. The Manage
  Backends modal and BackendSelector dropdown both render directly from the
  registered list — no special-casing — so the seeded default appears
  exactly once in each.
- BackendSelector: `buildOptions()` no longer prepends a synthetic bundled
  entry; the placeholder shows the active backend's name. Drop the
  BACKEND$LOCAL_ROW translation key.
- Dropdown UX: clear the input value on open so the active label does not
  appear both in the trigger and as a highlighted menu row.

Co-authored-by: openhands <openhands@all-hands.dev>

* Fix CI failures for seeded local backend

Co-authored-by: openhands <openhands@all-hands.dev>

---------

Co-authored-by: openhands <openhands@all-hands.dev>
2026-05-09 12:43:14 -07:00
..