mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-26 13:39:47 +00:00
20fa477f4d
VM inventory was available only as an on-demand download. It can now be scheduled weekly or monthly as CSV, emailed or saved on the Pulse server. Each attempt exports all current VMs in the organization, including newly discovered VMs, through the existing exporter. Historical performance-report limits and windows remain separate. The schedule uses existing delivery configuration checks, persisted success/failure/uncertain states, bounded retries and deliberate recovery controls. Pricing, feature gates, retention entitlements and existing customer grants are unchanged. Live checks also reproduced two unattended inventory defects: reporting retained a stopped monitor after configuration reload, and canonical snapshot reads relied on dashboard reads to publish polled VM inventory. Reporting now receives reload replacements through an atomic manager reference. Canonical snapshot reads reuse the existing publication boundary, including its freshness fast path, provider/mode fences and nonblocking warm reads. Validation: - 105 focused frontend tests; full type check, lint, production build and bundle budgets. - Race checks for reporting, inventory, reload, publication and organization isolation; clean private runtime build. - Current runtime browser checks on `/settings/support/reporting` and `/alerts/notifications` at 1440×1000, 820×844 and 390×844, with actual pixel review. The first inventory read exports 61 normally polled VMs; real MIME CSV matches the download; a newly discovered 62nd VM enters the next export. - Local SMTP acceptance, 451 retry across a real restart, permanent rejection, uncertain acknowledgement and deliberate recovery; disk delivery, edit/reload, disable, details and delete. - Staged status, registry, contract, completion and exact-content browser guards pass. Regression proof is registered against the specific runtime paths it covers.