Robert Brennan and openhands
9c3b936d16
Add npm run dev:static for offline / high-latency development ( #168 )
...
Mirrors the dev:automation backend stack (agent-server + automation +
ingress) but serves a production frontend build through a small static
server instead of Vite. Designed for use over flaky / high-RTT links
where Vite's ~1000 ESM module fetches make full reloads painfully slow:
hashed assets are now sent with public/immutable cache headers, so an
SPA reload is ~1 round-trip (304 on index.html) and zero asset fetches.
scripts/static-server.mjs: combined static-file server + reverse proxy.
A drop-in for sirv-cli that additionally proxies the same prefixes Vite
proxies in dev (/api, /api/automation, /sockets, /server_info, /alive,
/health, /ready) so hitting :3001 directly behaves like Vite's dev
server — without it, sirv-cli's --single fallback turns /server_info
into the SPA shell whenever a tunnel exposes the static port instead of
the ingress port. Caches /assets/* immutable, index.html no-cache,
weak ETags.
scripts/dev-static.mjs: orchestrator that builds the frontend, then
spawns agent-server, automation, static-server, and the existing
ingress with the same route table as dev-with-automation.
scripts/dev-safe.mjs: add isPortBusy() and
releaseStaleConversationLeases() helpers. The agent-server tags each
conversation directory with an owner_lease.json keyed to a per-process
owner_instance_id (45 s TTL, heartbeat-renewed) and skip-loads any
conversation whose lease is held by a different instance. If the
previous agent-server died ungracefully — or you restart inside the
TTL window — every existing conversation becomes invisible to the new
instance until the leases age out. dev:static now port-checks for a
live agent-server (aborts on conflict), then unlinks stale leases so
conversations created by npm run dev are immediately visible.
Co-authored-by: openhands <openhands@all-hands.dev >
2026-05-08 17:29:27 +07:00
Robert Brennan and openhands
22aa64f482
Conversation control bar: surface local git remote/branch + diff against HEAD ( #166 )
...
* Show local git remote/branch in conversation control bar
For conversations started from a local workspace (no selected_repository
on the conversation), shell out via the agent server's bash-execute
endpoint to read 'git remote get-url origin' and the current branch from
the conversation's working dir, and use them to populate the repo and
branch chips in the chat git control bar.
- New parseGitRemoteUrl util maps remote URLs to {host, owner/repo,
provider}, recognizing github/gitlab/bitbucket/azure cloud hosts.
- New useLocalGitInfo query hook runs only when the conversation lacks a
selected_repository, has a working_dir, and the runtime is ready.
Failures (non-git checkout, etc.) silently fall back to the existing
'No repo / No branch' display.
- GitControlBar layers the local fallback after conversation/task data
but keeps pull/push/PR gated on conversation/task data only, so we
don't enable provider-specific flows for repos the agent didn't clone.
- Repo/branch buttons now render the detected name even when no provider
is known; the external-link styling is reserved for cases where we can
build a real URL.
Co-authored-by: openhands <openhands@all-hands.dev >
* Bump typescript-client and request HEAD ref for git changes
Update @openhands/typescript-client from 7d20f11 to 6b9603f (latest main)
to pick up the new optional 'ref' option on RemoteWorkspace.gitChanges
and gitDiff. Pass { ref: 'HEAD' } from both the V1 and legacy git-service
adapters (and the cloud-proxy query strings) so the Changes panel shows
working tree + index versus the latest commit (i.e. staged + unstaged)
instead of diffing against the auto-detected upstream/default branch.
Co-authored-by: openhands <openhands@all-hands.dev >
* chore(lint): prettier nits in use-local-git-info
Co-authored-by: openhands <openhands@all-hands.dev >
* Refactor git remote URL normalization
---------
Co-authored-by: openhands <openhands@all-hands.dev >
2026-05-07 23:01:10 -07:00
Hiep Le
dd744b13f6
feat: cloud backend support with multi-backend selector and SaaS proxy routing ( #145 )
...
* feat: multi-backend support with cloud SaaS proxy routing
* feat: route conversation export through cloud proxy on cloud backends
* fix: route conversation delete through cloud proxy on cloud backends
* fix: forward settings diffs verbatim through cloud proxy save
* fix: surface cloud-aware settings sub-pages and gate local-only routes
* fix: route secrets settings through cloud proxy on cloud backends
* fix: route conversation stop runtime through cloud proxy on cloud backends
* fix: re-expose planning agent UI for cloud backends and route plan file reads through cloud proxy
* fix: route Display Cost runtime fetch through cloud proxy and ungate local metrics without session API key
* fix: handle WAITING_FOR_SANDBOX task status from cloud backends to prevent UI crash
* fix: re-expose Public Share in conversation menu for cloud backends
* fix: redirect to home when switching backends from a conversation page
* fix: hide cloud orgs the API key can't access in backend selector
* feat: support running multiple local agent-servers with shared persistence
* fix: lint
* fix: failing tests
2026-05-08 01:17:40 +07:00
dependabot[bot] and openhands
ee0359b0f3
deps(deps-dev): bump eslint-plugin-react-hooks from 4.6.2 to 7.1.1 in the react group ( #149 )
...
* deps(deps-dev): bump eslint-plugin-react-hooks in the react group
Bumps the react group with 1 update: [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks ).
Updates `eslint-plugin-react-hooks` from 4.6.2 to 7.1.1
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/eslint-plugin-react-hooks@7.1.1/packages/eslint-plugin-react-hooks )
---
updated-dependencies:
- dependency-name: eslint-plugin-react-hooks
dependency-version: 7.1.1
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: react
...
Signed-off-by: dependabot[bot] <support@github.com >
* ci: allow eslint-plugin-react-hooks v5+ alongside airbnb-19
- Add npm override so eslint-config-airbnb's strict ^4.3.0 peer dep on
eslint-plugin-react-hooks does not block dependabot version bumps.
- Disable the new React Compiler-aware rules introduced in
eslint-plugin-react-hooks@5+ (immutability, preserve-manual-memoization,
refs, set-state-in-effect) to avoid retroactively flagging existing code
on every plugin bump. They can be re-enabled if/when we adopt the
React Compiler.
Co-authored-by: openhands <openhands@all-hands.dev >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openhands <openhands@all-hands.dev >
2026-05-07 13:43:24 -04:00
dependabot[bot]
dc0b5ac964
deps(deps): bump @microlink/react-json-view from 1.31.18 to 1.31.19 ( #153 )
...
Bumps [@microlink/react-json-view](https://github.com/microlinkhq/react-json-view ) from 1.31.18 to 1.31.19.
- [Release notes](https://github.com/microlinkhq/react-json-view/releases )
- [Changelog](https://github.com/microlinkhq/react-json-view/blob/master/CHANGELOG.md )
- [Commits](https://github.com/microlinkhq/react-json-view/compare/v1.31.18...v1.31.19 )
---
updated-dependencies:
- dependency-name: "@microlink/react-json-view"
dependency-version: 1.31.19
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 13:06:22 -04:00
dependabot[bot]
d5c6a6522d
deps(deps-dev): bump the testing group with 3 updates ( #151 )
...
Bumps the testing group with 3 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8 ), [msw](https://github.com/mswjs/msw ) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ).
Updates `@vitest/coverage-v8` from 4.1.4 to 4.1.5
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/coverage-v8 )
Updates `msw` from 2.13.4 to 2.14.2
- [Release notes](https://github.com/mswjs/msw/releases )
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mswjs/msw/compare/v2.13.4...v2.14.2 )
Updates `vitest` from 4.1.4 to 4.1.5
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/vitest )
---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
dependency-version: 4.1.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: testing
- dependency-name: msw
dependency-version: 2.14.2
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: testing
- dependency-name: vitest
dependency-version: 4.1.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: testing
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 13:06:16 -04:00
dependabot[bot]
5592d903ee
deps(deps): bump the react-router group with 4 updates ( #150 )
...
Bumps the react-router group with 4 updates: [@react-router/node](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node ), [@react-router/serve](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve ), [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router ) and [@react-router/dev](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev ).
Updates `@react-router/node` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-node/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/node@7.14.2/packages/react-router-node )
Updates `@react-router/serve` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-serve/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/serve@7.14.2/packages/react-router-serve )
Updates `react-router` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.14.2/packages/react-router )
Updates `@react-router/dev` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dev/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/@react-router/dev@7.14.2/packages/react-router-dev )
---
updated-dependencies:
- dependency-name: "@react-router/node"
dependency-version: 7.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: react-router
- dependency-name: "@react-router/serve"
dependency-version: 7.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: react-router
- dependency-name: react-router
dependency-version: 7.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: react-router
- dependency-name: "@react-router/dev"
dependency-version: 7.14.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: react-router
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 13:06:10 -04:00
dependabot[bot]
5b36c6c444
deps(deps): bump react-i18next in the i18next group ( #148 )
...
Bumps the i18next group with 1 update: [react-i18next](https://github.com/i18next/react-i18next ).
Updates `react-i18next` from 17.0.4 to 17.0.6
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/react-i18next/compare/v17.0.4...v17.0.6 )
---
updated-dependencies:
- dependency-name: react-i18next
dependency-version: 17.0.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: i18next
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 13:06:05 -04:00
Robert Brennan
3b364ca389
switch to uuid package ( #146 )
2026-05-07 12:50:05 -04:00
988cfed5c6
feat: add automation backend integration with standalone ingress proxy ( #127 )
...
* feat: add automation backend integration with standalone ingress proxy
- Add scripts/ingress.mjs: standalone HTTP reverse proxy for routing traffic
to multiple backends based on URL path prefix
- Add scripts/dev-with-automation.mjs: orchestrates full stack with
agent-server, automation backend (both via uvx), Vite, and ingress
- Make 'npm run dev' run full stack by default (was dev:safe, now dev:automation)
- Rename 'npm run dev:safe' to 'npm run dev:minimal' for agent-server + Vite only
- Update README with new quickstart showing full stack as default
- Update AGENTS.md with architecture documentation
Architecture:
http://localhost:8000 (Ingress)
├── /api/automation/* → Automation Backend (:18001)
├── /api/*, /sockets → Agent Server (:18000)
└── /* (default) → Vite Dev Server (:3001)
* test: add tests for ingress and dev-with-automation scripts
- Add __tests__/scripts/ingress.test.ts with 14 tests covering:
- CLI argument parsing (--help, --port, --route, --default)
- Route matching (exact, prefix, longest-match-first)
- Proxy functionality (forwarding, query params, error handling)
- 502 response when backend unavailable
- 503 response for unmatched routes with no default
- Add __tests__/scripts/dev-with-automation.test.ts with 19 tests covering:
- buildAutomationCommand() with various git refs/repos
- buildConfig() port and path configuration
- CLI --help output
- Graceful exit when uvx is missing
- Export testable functions from dev-with-automation.mjs
* fix: prevent dev-with-automation from auto-executing when imported
The script was calling main() unconditionally, which caused test failures
when vitest imported the module. Now check if the module is the main entry
point before executing.
---------
Co-authored-by: openhands <openhands@all-hands.dev >
Co-authored-by: hieptl <hieptl.developer@gmail.com >
2026-05-07 12:02:15 -04:00
dependabot[bot]
ef03d8c144
deps(deps-dev): bump tailwindcss from 4.2.2 to 4.2.4 ( #72 )
...
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ) from 4.2.2 to 4.2.4.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/tailwindcss )
---
updated-dependencies:
- dependency-name: tailwindcss
dependency-version: 4.2.4
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:29:26 -04:00
dependabot[bot]
8fc6eb97ef
deps(deps): bump @tailwindcss/vite from 4.2.2 to 4.2.4 ( #73 )
...
Bumps [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite ) from 4.2.2 to 4.2.4.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/@tailwindcss-vite )
---
updated-dependencies:
- dependency-name: "@tailwindcss/vite"
dependency-version: 4.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:22:03 -04:00
dependabot[bot]
05dcac1131
deps(deps): bump i18next from 26.0.6 to 26.0.8 ( #74 )
...
Bumps [i18next](https://github.com/i18next/i18next ) from 26.0.6 to 26.0.8.
- [Release notes](https://github.com/i18next/i18next/releases )
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/i18next/compare/v26.0.6...v26.0.8 )
---
updated-dependencies:
- dependency-name: i18next
dependency-version: 26.0.8
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:21:59 -04:00
dependabot[bot]
8a5c944e4f
deps(deps): bump vite from 8.0.9 to 8.0.10 ( #80 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 8.0.9 to 8.0.10.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.0.10/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 8.0.10
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:21:48 -04:00
dependabot[bot]
0ade8e2578
deps(deps-dev): bump jsdom from 29.0.2 to 29.1.1 ( #81 )
...
Bumps [jsdom](https://github.com/jsdom/jsdom ) from 29.0.2 to 29.1.1.
- [Release notes](https://github.com/jsdom/jsdom/releases )
- [Commits](https://github.com/jsdom/jsdom/compare/v29.0.2...v29.1.1 )
---
updated-dependencies:
- dependency-name: jsdom
dependency-version: 29.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:15:10 -04:00
dependabot[bot]
f6f966a6d2
deps(deps): bump i18next-http-backend from 3.0.5 to 3.0.6 ( #79 )
...
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend ) from 3.0.5 to 3.0.6.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v3.0.5...v3.0.6 )
---
updated-dependencies:
- dependency-name: i18next-http-backend
dependency-version: 3.0.6
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:15:05 -04:00
dependabot[bot]
49aa6e1149
deps(deps): bump @tanstack/react-query from 5.99.2 to 5.100.6 ( #78 )
...
Bumps [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query ) from 5.99.2 to 5.100.6.
- [Release notes](https://github.com/TanStack/query/releases )
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md )
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.100.6/packages/react-query )
---
updated-dependencies:
- dependency-name: "@tanstack/react-query"
dependency-version: 5.100.5
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:15:00 -04:00
dependabot[bot]
d1314cedf2
deps(deps-dev): bump @tanstack/eslint-plugin-query ( #77 )
...
Bumps [@tanstack/eslint-plugin-query](https://github.com/TanStack/query/tree/HEAD/packages/eslint-plugin-query ) from 5.99.2 to 5.100.6.
- [Release notes](https://github.com/TanStack/query/releases )
- [Changelog](https://github.com/TanStack/query/blob/main/packages/eslint-plugin-query/CHANGELOG.md )
- [Commits](https://github.com/TanStack/query/commits/@tanstack/eslint-plugin-query@5.100.6/packages/eslint-plugin-query )
---
updated-dependencies:
- dependency-name: "@tanstack/eslint-plugin-query"
dependency-version: 5.100.5
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:14:56 -04:00
dependabot[bot]
e28cd11d37
deps(deps): bump posthog-js from 1.369.3 to 1.372.5 ( #76 )
...
Bumps [posthog-js](https://github.com/PostHog/posthog-js ) from 1.369.3 to 1.372.5.
- [Release notes](https://github.com/PostHog/posthog-js/releases )
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/PostHog/posthog-js/compare/posthog-js@1.369.3...posthog-js@1.372.5 )
---
updated-dependencies:
- dependency-name: posthog-js
dependency-version: 1.372.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:14:52 -04:00
dependabot[bot]
4336329009
deps(deps): bump lucide-react from 1.8.0 to 1.14.0 ( #75 )
...
Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) from 1.8.0 to 1.14.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.14.0/packages/lucide-react )
---
updated-dependencies:
- dependency-name: lucide-react
dependency-version: 1.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 11:14:28 -04:00
Hiep Le
7e221c4b65
fix(frontend): revert HeroUI v3 to v2 and scope body for portal'd popovers ( #124 )
...
* feat: revert HeroUI v3 to v2 and scope body for portal'd popovers
* fix: failing tests
* fix: failing tests
2026-05-07 02:24:35 +07:00
Graham Neubig and openhands
62871d3a7b
rename agent-server-gui to agent-canvas ( #121 )
...
- npm package: @openhands/agent-server-gui -> @openhands/agent-canvas
- README/DEVELOPMENT/AGENTS/codereview guide updated to new name
- GitHub URL in onboarding screen + tests updated
- dev launcher env vars renamed: OH_GUI_SAFE_* -> OH_CANVAS_SAFE_*
- default state dir: ~/.openhands/agent-server-gui -> ~/.openhands/agent-canvas
- i18n strings replace 'GUI' phrasing with 'Agent Canvas' across settings,
upgrade, onboarding, and unavailable copy
- Test fixtures, working-dir paths, and library-consumer smoke updated
Co-authored-by: openhands <openhands@all-hands.dev >
2026-05-06 13:07:01 -04:00
Hiep Le
1cc616921f
feat(frontend): isolate per-conversation working directories ( #90 )
...
* feat: isolate per-conversation working directories
* fix: failing tests
2026-05-05 01:32:24 +07:00
Hiep Le
dd8a44231f
fix(frontend): remove SaaS and enterprise terminology ( #88 )
...
* fix: remove SaaS and enterprise terminology
* refactor: remove unrelated file
2026-05-04 21:27:45 +07:00
Graham Neubig and openhands
ea2135386b
Implement scoped embeddable styles ( #55 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-30 22:46:04 -07:00
Graham Neubig and openhands
8bfae71939
Namespace library i18n resources ( #62 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-30 22:45:31 -07:00
Graham Neubig and openhands
96c237261f
Fix Vercel React Router deployment output ( #58 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-30 08:29:29 -07:00
Graham Neubig and openhands
22b7d6e842
Add library build mode and component barrel exports ( #54 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-30 07:37:01 -04:00
9924789a02
deps(deps): bump react-i18next from 17.0.0 to 17.0.4 ( #39 )
...
Bumps [react-i18next](https://github.com/i18next/react-i18next ) from 17.0.0 to 17.0.4.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/react-i18next/compare/v17.0.0...v17.0.4 )
---
updated-dependencies:
- dependency-name: react-i18next
dependency-version: 17.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openhands <openhands@all-hands.dev >
Co-authored-by: Graham Neubig <neubig@gmail.com >
2026-04-30 06:52:05 -04:00
Graham Neubig and openhands
22013de897
Upgrade HeroUI to v3 ( #50 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-28 23:53:34 -04:00
Graham Neubig
0dddd7a6e7
Fix Windows dev startup ( #43 )
2026-04-28 21:31:37 -04:00
dependabot[bot]
67cdcff033
deps(deps): bump vite from 8.0.8 to 8.0.9 ( #40 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 8.0.8 to 8.0.9.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.0.9/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 8.0.9
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-27 10:40:21 -04:00
openhands
fbfd3015ab
Revert HeroUI to v2
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-27 02:56:29 +00:00
Graham Neubig
6ffab7c61d
Update typescript package
2026-04-26 22:03:11 -04:00
dependabot[bot] and openhands
e085510622
deps(deps): bump @heroui/react from 2.8.10 to 3.0.3 ( #28 )
...
* deps(deps): bump @heroui/react from 2.8.10 to 3.0.3
Bumps [@heroui/react](https://github.com/heroui-inc/heroui/tree/HEAD/packages/react ) from 2.8.10 to 3.0.3.
- [Release notes](https://github.com/heroui-inc/heroui/releases )
- [Changelog](https://github.com/heroui-inc/heroui/blob/v3/packages/react/CHANGELOG.md )
- [Commits](https://github.com/heroui-inc/heroui/commits/v3.0.3/packages/react )
---
updated-dependencies:
- dependency-name: "@heroui/react"
dependency-version: 3.0.3
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix: restore HeroUI v3 compatibility
Co-authored-by: openhands <openhands@all-hands.dev >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-26 13:51:42 -04:00
dependabot[bot] and openhands
4345967285
deps(deps): bump lucide-react from 0.562.0 to 1.8.0 ( #33 )
...
Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) from 0.562.0 to 1.8.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.8.0/packages/lucide-react )
---
updated-dependencies:
- dependency-name: lucide-react
dependency-version: 1.8.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-26 13:29:32 -04:00
dependabot[bot]
474170dd18
deps(deps-dev): bump vite-plugin-svgr from 4.5.0 to 5.2.0 ( #32 )
...
Bumps [vite-plugin-svgr](https://github.com/pd4d10/vite-plugin-svgr ) from 4.5.0 to 5.2.0.
- [Release notes](https://github.com/pd4d10/vite-plugin-svgr/releases )
- [Commits](https://github.com/pd4d10/vite-plugin-svgr/compare/v4.5.0...v5.2.0 )
---
updated-dependencies:
- dependency-name: vite-plugin-svgr
dependency-version: 5.2.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-26 13:22:45 -04:00
dependabot[bot] and openhands
438f51a224
deps(deps-dev): bump typescript from 5.9.3 to 6.0.3 ( #34 )
...
* deps(deps-dev): bump typescript from 5.9.3 to 6.0.3
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 5.9.3 to 6.0.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.3 )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 6.0.3
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* test: stabilize flaky CI checks
Co-authored-by: openhands <openhands@all-hands.dev >
* test: harden Vitest browser globals
Co-authored-by: openhands <openhands@all-hands.dev >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-26 13:16:33 -04:00
dependabot[bot]
6d29e7670c
deps(deps): bump react-i18next from 16.6.6 to 17.0.0 ( #35 )
...
Bumps [react-i18next](https://github.com/i18next/react-i18next ) from 16.6.6 to 17.0.0.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/react-i18next/compare/v16.6.6...v17.0.0 )
---
updated-dependencies:
- dependency-name: react-i18next
dependency-version: 17.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-26 12:53:48 -04:00
dependabot[bot]
5d324a29e6
deps(deps): bump vite from 7.3.2 to 8.0.8 ( #31 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 7.3.2 to 8.0.8.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.0.8/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 8.0.8
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-26 12:53:46 -04:00
dependabot[bot]
4a561b5bbf
deps(deps): bump i18next from 25.10.10 to 26.0.6 ( #30 )
...
Bumps [i18next](https://github.com/i18next/i18next ) from 25.10.10 to 26.0.6.
- [Release notes](https://github.com/i18next/i18next/releases )
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md )
- [Commits](https://github.com/i18next/i18next/compare/v25.10.10...v26.0.6 )
---
updated-dependencies:
- dependency-name: i18next
dependency-version: 26.0.6
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-26 12:53:43 -04:00
dependabot[bot]
e43fc1f8aa
deps(deps-dev): bump jsdom from 27.4.0 to 29.0.2 ( #29 )
...
Bumps [jsdom](https://github.com/jsdom/jsdom ) from 27.4.0 to 29.0.2.
- [Release notes](https://github.com/jsdom/jsdom/releases )
- [Commits](https://github.com/jsdom/jsdom/compare/v27.4.0...v29.0.2 )
---
updated-dependencies:
- dependency-name: jsdom
dependency-version: 29.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-26 12:53:41 -04:00
Graham Neubig and openhands
9cdc64ac00
Add CI workflows and exact dependency pinning ( #25 )
...
* Add CI workflows and Dependabot updates
Co-authored-by: openhands <openhands@all-hands.dev >
* Exact-pin direct npm dependencies
Co-authored-by: openhands <openhands@all-hands.dev >
* Fix CI Vite config test portability
Co-authored-by: openhands <openhands@all-hands.dev >
---------
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-26 11:33:46 -04:00
Graham Neubig and openhands
0e60826123
Add isolated dev stack command for OpenHands Cloud debugging ( #20 )
...
* Warn about OpenHands Cloud backend conflicts
Co-authored-by: openhands <openhands@all-hands.dev >
* Add isolated dev stack command
Co-authored-by: openhands <openhands@all-hands.dev >
* Promote isolated stack to default dev command
Co-authored-by: openhands <openhands@all-hands.dev >
* Fix dev-safe startup failure and docs
Co-authored-by: openhands <openhands@all-hands.dev >
* Restructure docs for users and developers
Co-authored-by: openhands <openhands@all-hands.dev >
* Remove libtmux from install docs
Co-authored-by: openhands <openhands@all-hands.dev >
* Fix first-load Vite optimize dependency errors
Co-authored-by: openhands <openhands@all-hands.dev >
---------
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-26 11:09:39 -04:00
Graham Neubig and openhands
18fc1fd9a9
[Phase 1] Strip SaaS-specific code from the OSS repo ( #17 )
...
* Strip SaaS-only frontend code
Co-authored-by: openhands <openhands@all-hands.dev >
* Fix static mock builds
Co-authored-by: openhands <openhands@all-hands.dev >
* Restore OSS settings route tests
* Restore pinned TypeScript client dependency\n\nCo-authored-by: openhands <openhands@all-hands.dev >
* Revert vendored TypeScript client workaround
Co-authored-by: openhands <openhands@all-hands.dev >
---------
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-25 16:27:55 -04:00
Graham Neubig and openhands
3f84ba07a6
Warn on incompatible agent server version ( #18 )
...
* Warn on incompatible agent server version
Co-authored-by: openhands <openhands@all-hands.dev >
* Use server version for compatibility guard
Co-authored-by: openhands <openhands@all-hands.dev >
* Tighten compatibility guard typing
Co-authored-by: openhands <openhands@all-hands.dev >
* Update
* Warn when agent server is unavailable
Co-authored-by: openhands <openhands@all-hands.dev >
---------
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-25 14:58:11 -04:00
Graham Neubig and openhands
66542e4976
Add sandbox project metadata ( #1 )
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-24 17:33:22 -04:00
openhands
f3b97de0e6
Use vendored TypeScript client for agent server APIs
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-24 17:11:53 +00:00
openhands
1c239d73a9
Port OpenHands frontend to direct agent_server integration
...
Co-authored-by: openhands <openhands@all-hands.dev >
2026-04-24 02:46:34 +00:00
sp.wack
35346068d1
chore: Remove root level package.json ( #6498 )
2025-01-29 00:31:48 +04:00