Files
hermes-desktop/docs/chat-chain-changes/2026-10-17-remove-mcu-device-panel.md
T
toor 01d9e301fc
Build / build (push) Canceled after 0s
Playwright / browser (push) Canceled after 0s
initialize Electron desktop app and remove unused files
2026-10-25 01:09:01 +08:00

41 lines
2.0 KiB
Markdown

---
date: 2026-10-17
pr: pending
feature: Remove the upstream ESP32/MCU device panel from the chat sidebars
impact: Sidebar-only deletion. Both files lose one child component (SettingsCircuitBadge) and its import from the settings row at the bottom of the page sidebar. No chat store, no message rendering, no /chat-run payload, no streaming, and no tool-call path is touched. Nothing in the chat chain gains or loses a capability.
---
## What changed
`ChatPanel.vue` and `GroupChatPanel.vue` each rendered `<SettingsCircuitBadge />`
next to the settings button in `.page-sidebar-bottom`. Both now omit it.
## Why
The badge opened an ESP32/MCU device management dialog. Its only outbound call to
the upstream operator was the "purchase" button inside that dialog, but the rest was
real functionality (add device, LAN status, remote connect/disconnect, rename,
delete) backed by six REST routes and the `mcu_devices` table. The hardware is out
of scope for this deployment, so the whole feature is gone rather than hidden.
## Removal scope
- `SettingsCircuitBadge.vue`, `api/hermes/mcu-devices.ts`
- server `routes/mcu-devices.ts`, `controllers/mcu-devices.ts`,
`db/hermes/mcu-devices-store.ts`, the `routes/index.ts` registration, and the
`mcu_devices` entry in `schemas.ts`
- `GlobalAgentServer.hasMcuDeviceCode()`, which only existed to answer the panel's
LAN-status column
- `mcuDevices.*` locale keys in both `zh.ts` and `en.ts`
- the corresponding harness and `no-legacy-brand` whitelist entries
## Deliberately kept
- `DevicesView.vue` and the `hermes.devices` route. That is LAN device discovery
backed by `@/api/hermes/devices`, a separate feature from MCU device management.
- `packages/server/src/services/global-agent/server.ts` itself. Only the one
now-unused method was removed; the relay is load-bearing for other features.
- Existing `mcu_devices` tables in already-provisioned databases. The table
creation was dropped but no `DROP TABLE` was added, so an old deployment keeps
its rows as harmless orphans instead of losing data on upgrade.