diff --git a/apps/frontend/src/pages/SetupRobotPage.tsx b/apps/frontend/src/pages/SetupRobotPage.tsx index fce20a0..910a57c 100644 --- a/apps/frontend/src/pages/SetupRobotPage.tsx +++ b/apps/frontend/src/pages/SetupRobotPage.tsx @@ -522,8 +522,11 @@ export function SetupRobotPage() { )} - {/* Bottom link */} -
+ {/* Bottom links */} +
+ + Déjà sur le réseau ? Entrer un code + ← Retour au tableau de bord diff --git a/apps/robot-client/deploy/tipote.service b/apps/robot-client/deploy/tipote.service index e120fd9..f1e51fb 100644 --- a/apps/robot-client/deploy/tipote.service +++ b/apps/robot-client/deploy/tipote.service @@ -2,6 +2,8 @@ Description=Ti-Pote Robot Client After=network.target NetworkManager.service Wants=NetworkManager.service +StartLimitIntervalSec=300 +StartLimitBurst=5 [Service] Type=notify @@ -14,8 +16,6 @@ Group=tipote # Restart policy: max 5 restarts per 5 minutes Restart=on-failure RestartSec=5 -StartLimitIntervalSec=300 -StartLimitBurst=5 # Watchdog: process must ping every 60s or gets killed WatchdogSec=60 diff --git a/apps/robot-client/src/services/wifi.service.ts b/apps/robot-client/src/services/wifi.service.ts index 39c370b..a5b1fe6 100644 --- a/apps/robot-client/src/services/wifi.service.ts +++ b/apps/robot-client/src/services/wifi.service.ts @@ -28,6 +28,14 @@ export class WifiService { * Check if the Pi is currently connected to a WiFi network. */ async isConnected(): Promise { + try { + // Use iwgetid first (no privileges needed), fallback to nmcli + const { stdout } = await execAsync('iwgetid -r'); + if (stdout.trim()) return true; + } catch { + // iwgetid failed, try nmcli + } + try { const { stdout } = await execAsync('nmcli -t -f TYPE,STATE device | grep wifi'); return stdout.includes('connected') && !stdout.includes('disconnected'); diff --git a/tools/pi-gen-tipote/stage3/01-install-tipote/00-run.sh b/tools/pi-gen-tipote/stage3/01-install-tipote/00-run.sh index f3a7ea1..4f3cc71 100755 --- a/tools/pi-gen-tipote/stage3/01-install-tipote/00-run.sh +++ b/tools/pi-gen-tipote/stage3/01-install-tipote/00-run.sh @@ -9,7 +9,7 @@ on_chroot << 'CHEOF' if ! id tipote &>/dev/null; then useradd --system --create-home --home-dir /opt/tipote \ --shell /usr/sbin/nologin \ - --groups dialout,audio \ + --groups dialout,audio,netdev \ tipote fi CHEOF