Integrate reviewed first-tap guest disclosure repair

Preserve the exact reviewed guest touch commits and own-parent browser receipts. Retained final-source proof covers the small native eligibility repair; native thaw, installed recovery and release delivery remain separate.

Change-source: pulse-maintainer
This commit is contained in:
pulse-triage[bot]
2026-10-04 01:53:58 +01:00
11 changed files with 628 additions and 6 deletions
@@ -623,6 +623,20 @@ scrolling. Explicit caller-owned native listeners remain caller-owned.
isolation and bound handlers; `PulseDataGrid.test.tsx` checks inheritance.
The production PBS table/drawer browser fixture exercises first-tap disclosure
and History in WebKit phone emulation, not installed collection or devices.
The custom Workloads `GuestRow` shell reuses `Table`'s exported
`nativeRowClickTarget` marker, conditional on its own action, without inheriting
shared row styling or changing alert/highlight treatment. Its name and row body
must open the full guest drawer on the first touch even when the compact-layout
disclosure button is visually hidden. Keep the action document-delegated;
nested disclosure SVGs, external links and keyboard controls must still perform
only their own action. Removing the action removes the native marker, and
re-enabling it must work without replacing the row. Pointer-up and touch-end
alone never perform the action. `GuestRow.test.tsx` covers native binding,
non-activation, dynamic removal and child ordering;
`browser-tests/guest-row-touch.cjs` covers trusted row/name taps, the production
full drawer's backup/read guidance, nested controls and shared-row compatibility
on Chromium desktop/phone and WebKit phone VM/CT fixtures. This is emulated
input/presentation proof, not physical-device, native thaw or released acceptance.
`PlatformResourceDetailToggleButton` is the desktop disclosure affordance and
is visually removed on phone layouts where the complete row is the touch target;
provider tables must not add a second mobile chevron. When row activation
@@ -198,6 +198,15 @@ poller, per-agent goroutine, inventory scan, or action-session lookup to normal
request routing; local assets are streamed once and published fallbacks retain
the existing bounded HTTP client and artifact-size checks.
The custom Workloads guest row shares `Table`'s singleton non-activating native
click marker for WebKit touch eligibility. Bind it only while a row action
exists, without changing row identity, alert/highlight classes, metric derivation
or delegated child-control ordering. The marker must not perform actions, read
telemetry, start History work, add polling/timers or activate on pointer-up or
touch-end. `GuestRow.test.tsx` verifies its conditional lifecycle and
non-activation; the production row/full-drawer touch fixture verifies first
activation and unchanged identity independently of native collector acceptance.
## Canonical Files
1. `pkg/metrics/store.go`