The SDK build script strips the 'v' prefix from semver release tags when
publishing Docker images. The correct tag format is {version}-python
(e.g., 1.22.0-python), not v{version}-python.
This fixes the 'Unable to find image' error when running npm run dev:docker.
Changes:
- Update DEFAULT_AGENT_SERVER_TAG from v1.22.0-python to 1.22.0-python
- Update documentation in AGENTS.md to reflect correct tag format
Co-authored-by: openhands <openhands@all-hands.dev>
Update DEFAULT_AGENT_SERVER_TAG in dev-docker.mjs from commit-based tag
(0924962-python) to versioned release tag (v1.22.0-python) for better
reproducibility and consistency with the PyPI version used in dev-safe.mjs.
Changes:
- Update DEFAULT_AGENT_SERVER_TAG to v1.22.0-python
- Add documentation in AGENTS.md explaining the versioning approach
- Document that Docker and non-Docker dev modes should use matching versions
The software-agent-sdk repository builds Docker images with versioned tags
in the format v{version}-python when release tags are pushed, which makes
them suitable for pinning to specific releases.
Closes#323
Co-authored-by: openhands <openhands@all-hands.dev>
* fix: move TMUX_TMPDIR to /tmp to avoid socket errors on mounted volumes
Some filesystems (NFS, CIFS, certain FUSE/overlay mounts used by Docker
bind-mounts) do not support Unix domain sockets. When TMUX_TMPDIR pointed
to ~/.openhands/agent-canvas/tmux/ inside a container, tmux failed with:
error connecting to .../tmux-10001/openhands (Operation not supported)
Move tmux socket directory to /tmp/openhands-agent-canvas-tmux which is
always on a local/tmpfs filesystem that supports Unix sockets. Tmux
sockets are ephemeral and don't need persistence across restarts.
Co-authored-by: openhands <openhands@all-hands.dev>
* refactor: drop explicit TMUX_TMPDIR from dev-docker.mjs, use system default
Per review feedback — the container's default TMUX_TMPDIR (/tmp) already
supports Unix domain sockets, so there's no need to set it explicitly.
Co-authored-by: openhands <openhands@all-hands.dev>
---------
Co-authored-by: openhands <openhands@all-hands.dev>
* Mount dev:docker project path at /projects and auto-list it as a workspace parent
The dev:docker script previously mounted PROJECT_PATH at /workspace/projects
inside the agent-server container. Move the mount to /projects to match the
shorter, more conventional path used elsewhere in our dockerized setup.
To keep that change useful out of the box, useResolvedWorkspaces now always
treats /projects as an implicit workspace parent in addition to any parents
saved in the workspaces store. Its immediate subdirectories show up in the
workspace dropdown automatically. In dockerless dev the search request
simply errors and contributes nothing, so the implicit parent stays silent.
Tests:
- workspace-selection-form.test.tsx now installs an empty default
searchSubdirs spy in beforeEach so the implicit /projects query doesn't
hit the network in tests that don't care about it.
- The 'remove parent' test scopes its mock to the user-added parent so the
implicit /projects query doesn't echo the same children back.
Co-authored-by: openhands <openhands@all-hands.dev>
* Update src/hooks/query/use-resolved-workspaces.ts
Co-authored-by: OpenHands Bot <contact@all-hands.dev>
* Update src/hooks/query/use-resolved-workspaces.ts
Co-authored-by: OpenHands Bot <contact@all-hands.dev>
---------
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: OpenHands Bot <contact@all-hands.dev>
* docs: document dockerized dev setup as default
Add dev:docker npm script and update README to recommend the dockerized
agent-server workflow as the default, moving the direct-execution path to
an 'advanced' section with the existing filesystem-access warning.
Co-authored-by: openhands <openhands@all-hands.dev>
* fix docker script
* more docker fixes
---------
Co-authored-by: openhands <openhands@all-hands.dev>