Spaces:
Running
Running
PanGalactic Claude Opus 4.6 commited on
Commit Β·
f671471
1
Parent(s): ac07f8f
Pin reachy-mini to 1.2.x (1.3.1 has Zenoh pub_status regression)
Browse files1.3.1 ZenohServer missing pub_status attribute causes daemon crash,
app TimeoutError on get_status(), and all API routes 404.
Also remove redundant daemon wake-up call from startup script β
--sim mode auto-wakes (wake_up_on_start=True), and the double
initialization was triggering the Zenoh crash.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Dockerfile.demo +1 -1
- demo-start.sh +15 -4
Dockerfile.demo
CHANGED
|
@@ -37,7 +37,7 @@ ENV PATH="/home/user/.local/bin:${PATH}"
|
|
| 37 |
WORKDIR /home/user/app
|
| 38 |
|
| 39 |
# Install MuJoCo + reachy-mini SDK (provides reachy-mini-daemon command)
|
| 40 |
-
RUN pip install --no-cache-dir --user mujoco "reachy-mini"
|
| 41 |
|
| 42 |
# Copy the hello_world app and install as editable package
|
| 43 |
# (editable so the daemon discovers it via entry points)
|
|
|
|
| 37 |
WORKDIR /home/user/app
|
| 38 |
|
| 39 |
# Install MuJoCo + reachy-mini SDK (provides reachy-mini-daemon command)
|
| 40 |
+
RUN pip install --no-cache-dir --user mujoco "reachy-mini>=1.2.8,<1.3"
|
| 41 |
|
| 42 |
# Copy the hello_world app and install as editable package
|
| 43 |
# (editable so the daemon discovers it via entry points)
|
demo-start.sh
CHANGED
|
@@ -23,10 +23,21 @@ for i in $(seq 1 60); do
|
|
| 23 |
sleep 1
|
| 24 |
done
|
| 25 |
|
| 26 |
-
# ββ
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
# ββ Start the hello_world app ββββββββββββββββββββββββββββββββββββ
|
| 32 |
echo "[demo] Starting Hello World app..."
|
|
|
|
| 23 |
sleep 1
|
| 24 |
done
|
| 25 |
|
| 26 |
+
# ββ Wait for daemon to finish waking up βββββββββββββββββββββββββ
|
| 27 |
+
# The daemon auto-wakes in sim mode (wake_up_on_start=True).
|
| 28 |
+
# Wait for state to leave "not_initialized" before starting the app.
|
| 29 |
+
echo "[demo] Waiting for daemon to be ready..."
|
| 30 |
+
for i in $(seq 1 30); do
|
| 31 |
+
STATE=$(curl -sf "${DAEMON_URL}/api/daemon/status" 2>/dev/null | python3 -c "import sys,json; print(json.load(sys.stdin).get('state',''))" 2>/dev/null || echo "")
|
| 32 |
+
if [ "$STATE" != "not_initialized" ] && [ -n "$STATE" ]; then
|
| 33 |
+
echo "[demo] Daemon state: ${STATE} (took ${i}s)"
|
| 34 |
+
break
|
| 35 |
+
fi
|
| 36 |
+
if [ "$i" -eq 30 ]; then
|
| 37 |
+
echo "[demo] WARNING: Daemon still not initialized after 30s, proceeding anyway"
|
| 38 |
+
fi
|
| 39 |
+
sleep 1
|
| 40 |
+
done
|
| 41 |
|
| 42 |
# ββ Start the hello_world app ββββββββββββββββββββββββββββββββββββ
|
| 43 |
echo "[demo] Starting Hello World app..."
|