Context
The status-aware lifecycle buttons (running→Stop/Pause, stopped→Start, paused→Resume) are correct, but node.data.status is static after import — useProxmoxStatus.ts (the real-time poller with mapToNodeStatus) is imported by no component. After an action, handleVmAction only calls proxmoxCache.invalidate() and never refetches/writes back status, so the panel doesn't reflect the new state until a re-import.
Also: the import flow only ever emits 'running'/'stopped' (never 'paused'), and mapToNodeStatus maps paused->'pending' / unknown->'error' — reconcile these with the ConfigPanel === 'paused' checks when wiring.
What
- Wire
useProxmoxStatus (or a poll/refetch after handleVmAction) so canvas node status updates live from the v1 VM list.
- Reconcile status vocabulary between the poller, import, and ConfigPanel.
Acceptance
- After Start/Stop/Pause, the node badge + button set update without a manual re-import.
Files: src/components/ConfigPanel.vue, src/composables/useProxmoxStatus.ts, src/composables/useInfrastructureImport.ts.
Context
The status-aware lifecycle buttons (running→Stop/Pause, stopped→Start, paused→Resume) are correct, but
node.data.statusis static after import —useProxmoxStatus.ts(the real-time poller withmapToNodeStatus) is imported by no component. After an action,handleVmActiononly callsproxmoxCache.invalidate()and never refetches/writes back status, so the panel doesn't reflect the new state until a re-import.Also: the import flow only ever emits
'running'/'stopped'(never'paused'), andmapToNodeStatusmapspaused->'pending'/unknown->'error'— reconcile these with the ConfigPanel=== 'paused'checks when wiring.What
useProxmoxStatus(or a poll/refetch afterhandleVmAction) so canvas nodestatusupdates live from the v1 VM list.Acceptance
Files:
src/components/ConfigPanel.vue,src/composables/useProxmoxStatus.ts,src/composables/useInfrastructureImport.ts.