fix: equipment name refresh, hostname sync from agent hello

- WorkstationCard: useEffect to sync name state when ws.name prop changes
- agent-ws: update hostname column on hello message

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-27 20:29:27 +03:00
parent 83eff2b0c6
commit ccd366a5ad
2 changed files with 9 additions and 3 deletions

View File

@@ -144,9 +144,10 @@ export const setupAgentWsRoute: FastifyPluginAsync = async (fastify) => {
}
if (msg.type === 'hello') {
console.log(`[agent-ws] Hello from ${msg.agent_id} (${wsId})`)
if (msg.version) {
db.query('UPDATE workstations SET agent_version = $1 WHERE id = $2', [msg.version, wsId]).catch(() => {})
}
db.query(
'UPDATE workstations SET agent_version = $1, hostname = COALESCE($2, hostname) WHERE id = $3',
[msg.version ?? null, msg.hostname ?? null, wsId],
).catch(() => {})
}
} catch {}
})

View File

@@ -562,6 +562,11 @@ function WorkstationCard({
const [editing, setEditing] = useState(false)
const [name, setName] = useState(ws.name)
const [showPairModal, setShowPairModal] = useState(false)
// Sync local name state when ws.name prop changes (after onRefresh)
useEffect(() => {
if (!editing) setName(ws.name)
}, [ws.name, editing])
const [showAddDevice, setShowAddDevice] = useState(false)
const [editDeviceId, setEditDeviceId] = useState<string | null>(null)
const [updating, setUpdating] = useState(false)