mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-15 16:42:15 +00:00
3ecc3fd0d1
Audit pass on the Proxmox Mail sub-tab + PBS rows. PBS and PMG adapters both had `instance.Uptime` / `maxPMGUptime(instance.Nodes)` available but never projected to the top-level `Resource.Uptime` field the canonical table reads. Same projection pattern as the prior commits in this chain. Live mock now reports `uptime: 2592016` on PBS rows and `uptime: 1555214` on PMG rows. The Proxmox > Mail sub-tab was rendering PMG instances via the local `ProxmoxInfrastructureTable` helper (UnifiedResourceTable-backed) so operators saw dashes for Disk I/O / Temperature / CPU% and got none of the mail-flow context that matters for a Mail Gateway. Replace with a new `ProxmoxMailGatewayTable` that reuses canonical shared primitives (Card, Table, SearchInput, FilterButtonGroup, StatusDot) and surfaces PMG-native columns: instance, version, nodes, uptime, mail in, spam, virus, quarantine, queue, deferred. The page now deletes the local `ProxmoxInfrastructureTable` helper entirely. `ResourcePMGMeta` added to the frontend Resource type — the backend already emits these fields on `pmg` rows; the frontend type just hadn't surfaced them. Browser verification (Playwright, chromium, live mock-mode): - 9 tests pass; every-sub-tab operator-controls audit still green. Contract-neutral bypass: PULSE_ALLOW_CONTRACT_NEUTRAL_COMMIT set. Continues the audit chain (c7bdd11e0→5b94724bf→0fcf9944b→72dc2930b→1e03c77f6). New Uptime projection on PBS/PMG adapters is strictly additive; the new bespoke table lives in features/proxmox/ and reuses canonical primitives only; ResourcePMGMeta is a type surfacing of existing canonical payload data.