dimensionalOS / dimensionalOS/dimos

PY API - Hot-reload of GO2Connection is often broken

Open
#1,967 0 comments 0 reactions 1 assignee View on GitHub

@paul-nechifor is already working on this.

Since May 3, 2026.

api bug
Dominant language
Python
Stars
4.5k
Forks
808
Avg merge
3d 5h
Merged PRs (30d)
233

Description

app.restart(GO2Connection, reload_source=True) either hangs (timeout) or leaves the underlying connection in a bad state — subsequent calls hit Exception: Data channel is not open, ConnectionRefusedError, or simply TimeoutError: result expired.

Reproduced against a --replay daemon (no WebRTC at all): restart() timed out at 30s and the module became unreachable for the rest of the session. Daemon log:

[err] pubsubrpc.py  Exception in RPC handler for GO2Connection/stop:
  'ReplayConnection' object has no attribute 'stop_timer'
  File ".../dimos/robot/unitree/go2/connection.py", line 275, in stop
    self.connection.stop()
  File ".../dimos/robot/unitree/connection.py", line 129, in stop
    if self.stop_timer:

This sometimes works! but mostly not


Synced from DIM-838 by summer

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.