mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-26 21:47:20 +00:00
b2d69b7569
The 47-inline-selection-scroll-stability spec sat in QUARANTINED_SPECS with no reason, so it never ran. Its five tests opened routes the platform-first IA retired: /infrastructure (now an entry route that redirects to the first visible platform page, with settings and alerts as fallbacks), and /recovery, /workloads and /storage (no route matches, so NotFoundPage renders). Inline detail drawers and local row selection are still live on the platform pages, so each test was judged on what it describes: - Infrastructure inline detail: deleted. The Proxmox host rows run showGuests on click and only the chevron opens the node drawer, which has no reveal behaviour to pin. - Recovery protected-item selection: deleted. There is no Recovery page, rollupId URL or history item filter left in the frontend. - Workload reveal, workload keyboard open/close, storage pool reveal: ported to /proxmox/overview and /proxmox/storage with the current selectors (tr[data-guest-id], tr[data-summary-series-id], [data-inline-detail-for], the disclosure button's aria-controls). The old assertions waited 350 ms and measured once, which cannot tell a reveal that never ran from one that landed and then moved. The port observes the row, its detail and the scroll shell on every animation frame from before the click until the layout has settled and held, and fails on a late second scroll, a close that moves the row or scrolls the shell, any history write (even to the same URL), or a keyboard toggle that does nothing. The storage test opens ?sort=host&order=asc because the default Priority sort reorders pools on live utilisation. Moves the spec from QUARANTINED_SPECS to PROBATION_SPECS. Probation runs in the Core E2E workflow on pushes (not on pull requests) without gating the verdict, and the spec earns promotion under the existing 10-run rule. Checked on pulse-dev against a managed local backend with the CI-size mock estate (50 nodes, 929 guests): - unmodified spec, default harness timeouts: Chromium x6 repeats 18 of 18 passed; all three CI projects passed with the mobile tests skipped - negative controls on one build with the mutations switched by a user-agent marker: no reveal, hard-centred row, row pinned to the top, late jump, jump and return, selection written to the URL, close that jumps or blips, and a dead keyboard handler each fail the intended assertion, and the inert runs on the same build pass - check-e2e-tiering.mjs: stable tier unchanged (57 files, 366 instances), probation 42 -> 43 files and 555 -> 564 instances, quarantined 2 -> 1; a tree that leaves the spec in both tiers is rejected with the overlap error