Commit Graph

11424 Commits

Author SHA1 Message Date
pulse-triage[bot] 2c3a6b306a fix(web): keep the drawer tab across transient snapshot changes (#1723)
A live resource snapshot can briefly omit a field that gates a drawer tab, for example a merged metrics target during a refresh. The tab guard reset the active tab to Overview whenever the selected tab was missing, so the reported Proxmox -> Backups History tab silently jumped back to Summary on data refresh. Reset only when the drawer starts showing a different resource; each tab body already renders an availability notice while its tab is transiently unavailable. Adds a regression test covering a snapshot that drops and restores the metrics target, a source guard in ResourceDetailDrawer.history.test.tsx, the unified-resources contract update, and a fresh frontend browser-verification receipt from scripts/check-drawer-tab-retention.cjs (the same check times out on the pre-fix source).

Change-source: pulse-maintainer
2026-09-23 00:55:58 +01:00
pulse-triage[bot] 79cf2d0058 Merge reviewed candidate 20260922T224013Z-core-runtime (pulse f235fc37f2)
Integrate the exact reviewed notification startup-ordering repair: install the queue processor without waking the worker during manager construction, so an already-due persisted delivery is not terminally cancelled before saved webhook/email/Apprise configuration is applied. Includes the grouping contract-test wait correction, the TestRestartKeepsDueDeliveryPendingUntilConfigured regression test, and the notifications subsystem contract update. Retained offline race proof covers the exact candidate source; the release/v6.4 RC.2 backport remains with the release line.

Change-source: pulse-maintainer
2026-09-23 00:24:30 +01:00
pulse-triage[bot] cf1ee005ff Merge upstream main before candidate review
Incorporate the remote main merge that existed when this coordination batch began while preserving the already reviewed local candidate identities.

Change-source: pulse-maintainer
2026-09-23 00:24:24 +01:00
pulse-triage[bot] 2d2d272cb4 Merge pull request #2172 from rcourtman/maintainer/20260922T223953Z
Fix TrueNAS CORE CPU and memory telemetry over legacy REST
2026-09-22 23:18:05 +00:00
pulse-triage[bot] f235fc37f2 fix(notifications): start queue processing after destination config
A persisted notification that was already due at startup could be terminally cancelled as 'delivery disabled'. NewNotificationManagerWithDataDir woke the queue worker during construction, before the owner had applied saved webhook/email/Apprise configuration, so the still-empty destination list looked like a removed destination.

Install the queue processor without waking it. The worker ticker and later enqueues start delivery once configuration is present. This removes the order/state-dependent failure in TestResolvedGroupingOrdinaryRestart and drops a persisted grouped recovery in production.

Also wait past the queue poll interval in the grouping contract test, add a regression test for the startup ordering, and update the notifications subsystem contract's processor-attachment semantics.

Change-source: pulse-maintainer
2026-09-23 00:01:56 +01:00
pulse-triage[bot] 2545fb8cba test(web): guard PBS identity rows across snapshot refresh (#1723)
The Backups drawer renders Discovery and Metrics Target from the merged host resource, so a snapshot-driven correlation change would silently flip those labels. Add discoveryTarget to the retained real-browser fixture and assert both identity rows stay present and byte-identical across reordered, timer-driven snapshots and datastore switching. The guard passes on the current source; it does not reproduce the reporter's live target-spelling flicker.

Change-source: pulse-maintainer
2026-09-22 23:49:13 +01:00
pulse-triage[bot] 50dc7f3e17 fix(truenas): request legacy reporting graphs in native shape
Omit the identifier key for device-independent legacy REST reporting graphs instead of sending an explicit null, matching the TrueNAS 13 middleware requests the reporter supplied for issue #2077. The null identifier is not the native contract and is a plausible whole-batch rejection that discards CPU and memory telemetry. Keep the existing per-graph failure isolation and add a request-validating synthetic regression that rejects any graph carrying an identifier key. Native CORE response schema and appliance acceptance remain unproved.

Change-source: pulse-maintainer
2026-09-22 23:26:53 +01:00
pulse-triage[bot] e17c33782a Merge pull request #2170 from rcourtman/maintainer/20260922T194424Z
Deliver critical alert escalations after warning notifications
2026-09-22 20:19:18 +00:00
pulse-triage[bot] ee8de91eac fix(notifications): deliver severity increases through cooldown
Treat higher delivered severity as new information for the same occurrence without bypassing manager admission, grouping or destination routing. Keep the highest delivered level across late lower-severity completions. Include the contract and observation-to-HTTP/history regressions in this commit.

Change-source: pulse-maintainer
2026-09-22 20:37:00 +01:00
pulse-triage[bot] 52f4c4a9df Merge pull request #2168 from rcourtman/maintainer/20260922T184021Z
Keep TrueNAS telemetry available when optional graphs fail
2026-09-22 19:18:14 +00:00
pulse-triage[bot] 213e6c54f4 Merge reviewed candidate 20260922T182021Z-core-runtime
Change-source: pulse-maintainer
2026-09-22 19:39:05 +01:00
pulse-triage[bot] 777a421ce5 Merge upstream main before candidate review
Change-source: pulse-maintainer
2026-09-22 19:39:04 +01:00
pulse-triage[bot] 037e5d8695 test(agent): retain offline preflight investigation on current source
Compose the previously committed focused investigation with assigned source for exact-source validation. This does not establish native pfSense acceptance.

Change-source: pulse-maintainer
2026-09-22 19:29:12 +01:00
pulse-triage[bot] 8674a5269c Merge pull request #2166 from rcourtman/maintainer/20260922T173907Z
Keep copied installs usable and prevent duplicate disk rows
2026-09-22 18:19:42 +00:00
pulse-triage[bot] 037715dc8b Merge reviewed TrueNAS reporting isolation
Change-source: pulse-maintainer
2026-09-22 19:08:28 +01:00
pulse-triage[bot] 6e2841cc65 test(agent): exercise offline FreeBSD preflight through local downloads
Cover real installer and local HTTP handlers with an explicit uname shim. Distinguish bundled artifacts from missing binaries or signature sidecars without claiming native pfSense installation acceptance.

Change-source: pulse-maintainer
2026-09-22 18:42:51 +01:00
pulse-triage[bot] 00f9c3c243 Merge upstream main before candidate review
Incorporate the remote main merge that existed when this coordination batch began while preserving the already reviewed local candidate identities.

Change-source: pulse-maintainer
2026-09-22 18:36:16 +01:00
pulse-triage[bot] 873093134f fix(truenas): isolate legacy reporting graph failures
Keep usable system telemetry when an optional reporting graph fails, with bounded per-graph fallback that preserves terminal errors. Stop treating FreeBSD active pages as total used memory so free/ARC history agrees with live projection.

Request-validating synthetic regressions cover repeated snapshots, history and adverse responses. Native CORE schema and appliance acceptance remain unproved for issue #2077.

Change-source: pulse-maintainer
2026-09-22 18:26:17 +01:00
pulse-triage[bot] 49654c0bd9 Merge pull request #2164 from rcourtman/maintainer/20260922T164109Z
Group resolved alert notifications to prevent restart delivery bursts
2026-09-22 17:21:16 +00:00
pulse-triage[bot] 950c875b6f chore(frontend): bind install proof to integration
The exact candidate merges do not alter the browser-tested production utility. Rebind its content-matching receipt to the final combined parent so canonical cumulative governance verifies the retained proof without re-parenting either reviewed candidate.

Change-source: pulse-maintainer
2026-09-22 18:14:12 +01:00
pulse-triage[bot] 702278cd8c Merge reviewed candidate 20260922T162030Z-core-runtime
Integrate the exact reviewed #2076 mixed-source disk correlation repair and regression coverage.

Change-source: pulse-maintainer
2026-09-22 18:14:11 +01:00
pulse-triage[bot] ddf87b5672 Merge reviewed candidate 20260922T162021Z-web-product
Integrate the exact reviewed #2123 single-line bootstrap repair and its retained browser/source proof.

Change-source: pulse-maintainer
2026-09-22 18:14:10 +01:00
pulse-triage[bot] 994ffd16fe Merge upstream main before publication
Change-source: pulse-maintainer
2026-09-22 17:40:19 +01:00
pulse-triage[bot] a0861d5f66 chore(frontend): bind install paste proof to tested candidate
The test-only assertion update preserves the browser-tested runtime bytes. Bind the retained content-matching receipt to the completed source-proof candidate.

Change-source: pulse-maintainer
2026-09-22 17:32:16 +01:00
pulse-triage[bot] 4f3734630f test(agents): expect single-line installer option separators
Update the existing extra-argument ordering assertion to the repaired single-line grammar. The exact-source run passed the new paste and execution regressions but exposed this obsolete multiline formatting expectation.

Change-source: pulse-maintainer
2026-09-22 17:29:32 +01:00
pulse-triage[bot] 064b28367a fix(resources): correlate linked disks with missing hardware IDs
Resolve issue #2076 mixed PVE/agent aliases only within the same parent and unique compatible device topology. Reject conflicting populated identities and controller-member fallback; preserve usable serials and WWNs over placeholders. Include snapshot and JSON regression coverage in the canonical registry verification artifact.

Change-source: pulse-maintainer
2026-09-22 17:27:50 +01:00
pulse-triage[bot] 097e3386e0 fix(agents): keep copied Unix install commands single-line safe
Use explicit shell separators instead of newline-dependent grammar for command fields. Preserve quoted values, private token files, TLS options and preflight ordering; cover paste normalization and execution failures in the owning regression suite. Refs #2123.

Change-source: pulse-maintainer
2026-09-22 17:27:29 +01:00
pulse-triage[bot] 65c5630eb5 Merge pull request #2162 from rcourtman/maintainer/20260922T153254Z
Make guest filesystem mount paths readable
2026-09-22 16:20:54 +00:00
pulse-triage[bot] 9fbc4e7b3a fix(notifications): persist and group resolved alert deliveries
Prevent simultaneous recoveries from bypassing the configured grouping window. Preserve destination receipts and pending restart recovery, and keep PagerDuty incident keys separate. Include the notification contract and regression coverage with the runtime change.

Change-source: pulse-maintainer
2026-09-22 16:52:29 +01:00
pulse-triage[bot] e8383ed63f chore(frontend): bind browser proof to integrated candidate
The integration merge preserves the exact browser-tested frontend bytes. Rebind the content-bound receipt to that merge so the canonical range passes the parent-identity guard.

Change-source: pulse-maintainer
2026-09-22 16:15:05 +01:00
pulse-triage[bot] 4b1fb511d1 Merge reviewed candidate 20260922T131605Z-web-product (pulse da19341fcd)
Change-source: pulse-maintainer
2026-09-22 16:14:24 +01:00
pulse-triage[bot] a4efb83c1e Merge upstream main before candidate integration
Change-source: pulse-maintainer
2026-09-22 16:14:23 +01:00
pulse-triage[bot] da19341fcd fix(web): keep guest filesystem mount paths readable
Render complete wrapping paths above usage using an opt-in shared detail-row layout. Preserve compact rows and unknown-usage semantics. Include the typed regression fixture, registered primitive and Workloads guardrails, substantive owning contracts and the content-bound five-layout browser receipt in the same candidate commit. Recompose the rejected unshared candidate without changing its browser-tested runtime bytes. Addresses #2121.

Change-source: pulse-maintainer
2026-09-22 14:42:22 +01:00
pulse-triage[bot] c40aa70f04 Merge pull request #2159 from rcourtman/maintainer/20260922T124446Z
Expand PBS History refresh coverage across reported host layouts
2026-09-22 13:25:27 +00:00
pulse-triage[bot] cc1dca44d0 test(resources): cover PBS metrics target continuity across refreshes
Exercise in-memory snapshot replacement, cached lookup and unified reseeding for PBS-only, agent and side-by-side PVE hosts. Verify label, order and freshness changes do not replace history coordinates, while actual agent removal or replacement does not pin stale targets.

Change-source: pulse-maintainer
2026-09-22 14:04:18 +01:00
pulse-triage[bot] da1dddc1af test(web): cover PBS host topologies across automatic refresh
Extend the PBS History regression to PBS-only and bare-metal PVE/PBS host shapes, stable and reordered snapshots, and desktop/mobile widths. Retain guest coverage and assert drawer identity, tab selection and history targets. This does not claim the separate reported tab reset is reproduced or resolved.

Change-source: pulse-maintainer
2026-09-22 13:07:13 +01:00
pulse-triage[bot] f91ef61a53 Merge pull request #2156 from rcourtman/maintainer/20260922T112213Z
Keep PBS datastore History attached during refresh
2026-09-22 11:49:06 +00:00
pulse-triage[bot] dab8daa9a7 fix(web): preserve PBS datastore identity across snapshot reordering
Detach each rendered datastore from the nested PBS snapshot so independent row reconciliation cannot overwrite another datastore's identity. Cover switching and refreshed History in the component regression and real-browser fixture for #1723.

Contract-Neutral: Restore existing PBS datastore row identity during snapshot reconciliation; no API or canonical ownership change.
Change-source: pulse-maintainer
2026-09-22 12:11:59 +01:00
pulse-triage[bot] 014190ea4c Merge pull request #2154 from rcourtman/maintainer/20260922T092954Z
Fix PBS host history correlation and alert-card footer alignment
2026-09-22 10:50:32 +00:00
pulse-triage[bot] 9d6025d386 style(frontend): format the PBS host-history regression test
Prettier wraps the added byAgentKey assertion, which failed the Frontend format:check on the candidate integration pull request. Re-point the browser receipt base at this commit's parent; the cumulative guard compares the receipt at the tip against the tip parent, and the two user-visible frontend sources are unchanged.

Change-source: pulse-maintainer
2026-09-22 10:49:25 +01:00
pulse-triage[bot] 76f96f9906 chore(frontend): refresh browser receipt base to the integration merge
The cumulative browser guard matches the receipt at the integration tip against the tip parent. Re-point base_sha from the candidate tip parent e9a426aeeb to the integration merge a3ad75e78b so the content-addressed receipt for the two frontend sources is accepted.

Change-source: pulse-maintainer
2026-09-22 10:28:06 +01:00
pulse-triage[bot] a3ad75e78b Merge reviewed candidate 20260922T083537Z-web-product (pulse 98cab1a8bd)
Integrates the web-product candidate: #2119 alert-card footer alignment (41fa79d52b) and #1723 PBS host-history correlation across guest and agent rows (e9a426aeeb), with the cumulative browser receipt at 98cab1a8bd. Preflight passed; base efeac6cb72.

Change-source: pulse-maintainer
2026-09-22 10:27:48 +01:00
pulse-triage[bot] e4382af24f Merge pull request #2152 from rcourtman/maintainer/20260922T082007Z
Fix spurious PBS backup alerts and Proxmox LXC memory; qualify release-line RCs
2026-09-22 08:51:44 +00:00
pulse-triage[bot] 98cab1a8bd test(frontend): rebind the candidate browser receipt to both surfaces
The cumulative candidate browser guard compares the receipt at the tip against every user-visible frontend source changed since the candidate base. This candidate carries two: the #2119 alert-card footer class and the #1723 PBS host-history correlation. Record both content-addressed sources, the union of the two offline proof matrices, and re-point base_sha at the tip parent so the guard can match the candidate.

Change-source: pulse-maintainer
2026-09-22 09:49:38 +01:00
pulse-triage[bot] e9a426aeeb fix(web): correlate PBS host history across guest and agent rows (#1723)
A standalone source=pbs host row and the PVE guest carrying the same agent are one machine. Collapse correlation candidates that share an agent identity and prefer the guest metrics target, whose persisted host series the Backups drawer renders; the PBS service target names the service key and has no host history. Distinct agent identities, or rows without a provable identity, still decline to choose so the drawer cannot substitute an unrelated host. Re-compose the reviewed runtime change with its three subsystem contracts, offline browser fixture, check script and a content-addressed browser receipt in one governed commit.

Change-source: pulse-maintainer
2026-09-22 09:43:00 +01:00
pulse-triage[bot] c3213510e6 Merge the #2119 alert-card footer repair (41fa79d52b)
Change-source: pulse-maintainer
2026-09-22 09:42:04 +01:00
pulse-triage[bot] d6e79593ec Merge pull request #2151 from rcourtman/dependabot/docker_compose/tests/integration/alpine-3.24
Bump alpine from 3.24 to 3.24 in /tests/integration
2026-09-22 09:38:18 +01:00
pulse-triage[bot] efeac6cb72 Merge reviewed candidate 20260922T074002Z-delivery-trust (pulse d5de3e26fc)
Change-source: pulse-maintainer
2026-09-22 09:12:22 +01:00
pulse-triage[bot] e9ace60929 chore(governance): register the #2148 LXC memory completion pair
Register 8b56fc72e4 with its contract-completion commit so canonical governance evaluates the reviewed Proxmox LXC linked-agent memory runtime change and its monitoring and unified-resources contract sections as one historical unit.

Change-source: pulse-maintainer
2026-09-22 08:46:39 +01:00
pulse-triage[bot] 1026f5293b docs(monitoring): record #2148 LXC linked-agent-memory contracts
Complete the #2148 runtime change with the monitoring and unified-resources contract sections its canonical subsystem paths require, so the combined change satisfies the canonical completion guard without rewriting reviewed history.

Change-source: pulse-maintainer
2026-09-22 08:46:29 +01:00