All checks were successful
Lint / lint (pull_request) Successful in 10s
Implements the action button lifecycle described in #961: - POST /api/actions/restart-gateway — sends SIGTERM to the gateway PID - POST /api/actions/update-hermes — runs pip upgrade in a background job - GET /api/actions/jobs/{job_id} — polls job status/output Frontend (StatusPage.tsx): - "Restart Gateway" button with spinning icon while running, then success/error message that clears after 5–8 s - "Update Hermes" button that polls the job endpoint every 2 s; shows collapsible pip output on completion - Page remains responsive (buttons disabled only during their own action) Also adds i18n strings to en.ts, zh.ts, and the shared types.ts interface. Fixes #961 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>