Commit Graph

11069 Commits

Author SHA1 Message Date
pulse-triage[bot] 13e16bfc83 test(e2e): provision offline signed organization entitlements
Keep a loopback ephemeral issuer alive for source-built managed browser runs and activate each organisation through the authenticated API. Verify installation bindings without billing-state injection or signature bypass, and retain a narrow CI provisioning proof separately from quarantine acceptance.

Change-source: pulse-maintainer
2026-09-09 11:27:23 +01:00
pulse-triage[bot] a514b76767 Merge candidate 20260909T095526Z-web-product
Change-source: pulse-maintainer
2026-09-09 11:05:49 +01:00
pulse-triage[bot] 2ff0272bb0 test(web): align provider readiness assertion with rendered copy
The retained Chromium failure snapshot contains the warning and all capability evidence. Match its current sentence punctuation without relaxing readiness checks or changing production behaviour.

Change-source: pulse-maintainer
2026-09-09 10:57:34 +01:00
pulse-triage[bot] 52bf90ec7a Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-09 10:55:30 +01:00
pulse-triage[bot] 26c9d19f39 test(licensing): preserve community multi-tenant entitlement boundary
Hosted organisation E2E failures exposed an ambiguity between runtime identity and entitlement provisioning. Assert that Community preserves a granted multi_tenant capability without manufacturing it when absent, so fixture repairs do not wrongly require a private binary or weaken capability gating.

Change-source: pulse-maintainer
2026-09-09 10:51:06 +01:00
pulse-triage[bot] f4fc67e46c Merge pull request #2002 from rcourtman/maintainer/20260909T090949Z
Make Settings startup failures actionable without weakening checks
2026-09-09 09:48:57 +00:00
pulse-triage[bot] e188a36eed test(hostmetrics): trace tmpfs includes through mountinfo
The failed #1875 beta retest leaves runtime environment and mount visibility unresolved. Existing fixtures stub partition enumeration, so cover the real gopsutil parser through filtering and capacity projection for single and combined tmpfs includes, missing includes and exclusion precedence. This proves the expected synthetic path, not the reporter installation or a product fix.

Change-source: pulse-maintainer
2026-09-09 10:28:59 +01:00
pulse-triage[bot] 6667bd8ad0 test: capture bounded paired Settings bootstrap timings
The hosted Settings failure stalls during bootstrap without enough evidence to separate server delay from browser scheduling. Attach redacted, bounded cookie-session HTTP timings alongside browser response timings without weakening readiness or layout assertions.

Change-source: pulse-maintainer
2026-09-09 10:03:05 +01:00
rcourtman 6ff3239d04 Merge pull request #2001 from rcourtman/chore/e2e-artifact-storage
ci: avoid duplicate E2E artifact uploads
2026-09-09 09:59:50 +01:00
rcourtman 2df6ebd210 ci: avoid duplicate E2E artifact uploads
Playwright HTML reports already include screenshots, videos and traces.
Upload only the separate JUnit XML alongside each report to retain
machine-readable results without storing failure attachments twice.
2026-09-09 09:22:27 +01:00
pulse-triage[bot] b25c3c2cbd Merge pull request #1999 from rcourtman/maintainer/20260909T044638Z
Protect webhook credentials in mixed-case diagnostics
2026-09-09 05:27:46 +00:00
pulse-triage[bot] 0e61fa62c4 fix(notifications): redact mixed-case webhook credential keys
Diagnostic query masking recognised only lowercase credential names, leaving mixed-case and encoded variants visible in URL and transport-error diagnostics. Match decoded names without case while preserving query spelling, unrelated parameters and the original request URL. Add seven regression cases covering diagnostics and wrapped error identity.

Change-source: pulse-maintainer
2026-09-09 05:34:22 +01:00
pulse-triage[bot] e8173ed6f6 Merge pull request #1998 from rcourtman/maintainer/20260909T004208Z
Capture exact timing for release history performance checks
2026-09-09 01:22:30 +00:00
pulse-triage[bot] f293d6fe33 fix(release): mark store-history SLO measurement windows
The failed exact rehearsal buffered the store-history latency assertion, preventing resource telemetry from locating its actual test interval. Extend the existing exact API lifecycle allowlist and cover both targets with synthetic pass/fail fixtures without rerunning product qualification or changing thresholds. This is prospective observability, not clearance of the retained latency or crash evidence.

Change-source: pulse-maintainer
2026-09-09 01:34:22 +01:00
pulse-triage[bot] 31bfb9c624 Merge pull request #1997 from rcourtman/maintainer/20260909T001325Z
Explain safe Proxmox access for pending update checks
2026-09-09 00:26:54 +00:00
pulse-triage[bot] a98f1bdee2 docs: sync Proxmox update guidance to shipped help
The public troubleshooting source and the in-product copy must remain identical so operators receive the same least-privilege guidance from either surface.

Change-source: pulse-maintainer
2026-09-09 01:17:58 +01:00
pulse-triage[bot] 992aae43f8 Merge upstream Pulse main before publication
Change-source: pulse-maintainer
2026-09-09 01:17:02 +01:00
pulse-triage[bot] 892ab631df Merge pull request #1995 from rcourtman/maintainer/20260908T214026Z
Improve update guidance, webhook parity, and frontend security
2026-09-08 23:39:50 +00:00
pulse-triage[bot] faefd4cb28 docs: explain Proxmox package-update privilege boundary
Matched-token reporter evidence confirms the endpoint denial names Sys.Modify. Document the upstream requirement without recommending broader monitoring privileges; distinguish API access from display recovery.

Change-source: pulse-maintainer
2026-09-09 00:11:15 +01:00
pulse-triage[bot] b825735173 style(web): format webhook parity regression
Preserve both accepted candidate changes while satisfying the repository's Prettier check on the newly added regression.

Change-source: pulse-maintainer
2026-09-08 23:50:18 +01:00
pulse-triage[bot] ff34fa42de Merge candidate 20260908T222519Z-web-product
Change-source: pulse-maintainer
2026-09-08 23:48:43 +01:00
pulse-triage[bot] 7974849fc0 Merge candidate 20260908T221505Z-delivery-trust
Change-source: pulse-maintainer
2026-09-08 23:48:36 +01:00
pulse-triage[bot] 15000f0a67 fix(security): upgrade frontend test tooling past new advisories
Use patched Vitest/coverage 4.1.11 and js-yaml 4.3.2. Adapt constructor mocks, callable mock types and explicit call-history cleanup for Vitest 4 without weakening assertions or audit gates.

Change-source: pulse-maintainer
2026-09-08 23:32:21 +01:00
pulse-triage[bot] 7de1195416 fix(web): align webhook test custom fields with saved configuration
Manually entered Pushover aliases were normalised on save but not on test, so the test could exercise a different payload. Apply the same normalisation and retain a failing-before parity regression; 56 focused webhook tests pass.

Change-source: pulse-maintainer
2026-09-08 23:29:31 +01:00
pulse-triage[bot] 6f3547bc5f test(web): trace agent-only NAS through Proxmox table projection
The new #1930 payload has agent and Docker sources without cluster metadata. Retain a sanitised API-to-table boundary test alongside a real PVE-shaped neighbour to distinguish that evidence from the earlier screenshot; this is diagnostic coverage, not a reproduced reporter fix.

Change-source: pulse-maintainer
2026-09-08 23:02:25 +01:00
pulse-triage[bot] 671cdbf78f Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-08 22:39:07 +01:00
pulse-triage[bot] 092856b31c test(proxmox): verify pending update credential routing
An admin-browser update read does not establish access for the monitoring token. Cover the proxied target path, configured token, denial propagation and healthy endpoint retention. Remove the unsupported Sys.Audit diagnostic hint: endpoint access is determined by Proxmox, not general inventory access.

Change-source: pulse-maintainer
Contract-Neutral: Diagnostic wording and method-comment correction plus synthetic regression coverage only; no collection logic, public API, permission policy, freshness or counter semantics change.
2026-09-08 22:33:55 +01:00
pulse-triage[bot] 8daada7165 Merge pull request #1994 from rcourtman/maintainer/20260908T203655Z
Make API stress checks easier to diagnose and isolate
2026-09-08 21:20:44 +00:00
pulse-triage[bot] 340160ab9d Merge candidate 20260908T210508Z-core-runtime
Change-source: pulse-maintainer
2026-09-08 22:19:48 +01:00
pulse-triage[bot] ec50e4485d Merge candidate 20260908T205503Z-web-product
Change-source: pulse-maintainer
2026-09-08 22:10:44 +01:00
pulse-triage[bot] 81877a6cc4 test(resources): distinguish NAS links from shared bridge identity
Retain a synthetic projection discriminator for #1930 without deleting operator associations. Cover standalone shared bridge identity and a reciprocal retained link, including public provider fields and private link hints.

Change-source: pulse-maintainer
2026-09-08 22:07:39 +01:00
pulse-triage[bot] 6edaa56f4f fix(web): avoid prescribing permissions from update access failures
The update evidence reason represents generic permission errors and HTTP 403, not a verified missing Sys.Audit privilege. Report access denial without prescribing a role change, as illustrated by the new #1802 retest. Preserve unavailable and stale evidence semantics. Both focused presentation and drawer suites pass (6 tests).

Change-source: pulse-maintainer
2026-09-08 21:59:40 +01:00
pulse-triage[bot] 63f9bdcbbe test(api): own password-change fixture router lifecycle
Register shared router cleanup at the password-change constructor boundary so workers are cancelled and joined before temporary state is removed. Add a subtest-boundary regression that fails without cleanup and retain the three affected authorisation tests. No production behaviour or qualification threshold changes.

Change-source: pulse-maintainer
2026-09-08 21:53:18 +01:00
pulse-triage[bot] d242055f98 test(api): close config-transfer fixture router lifecycles
Config-transfer authorization fixtures start router-owned workers but did not register shutdown. Own cleanup at each constructor boundary, including the shared helper used by action authorization, so workers stop before temporary state is removed. Add a subtest-boundary regression that verifies cancellation and worker joining without changing production behavior or qualification thresholds.

Change-source: pulse-maintainer
2026-09-08 21:42:28 +01:00
pulse-triage[bot] eccc27ff7f Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-08 21:40:10 +01:00
pulse-triage[bot] bc7e6d924e Merge pull request #1993 from rcourtman/maintainer/20260908T195240Z
Retain timing evidence when release stress tests fail
2026-09-08 20:33:56 +00:00
pulse-triage[bot] fba39a8d4c test(api): own router worker cleanup in early API fixtures
Register router cleanup before assertions, stop workers before stores and stop the owned monitor last. Add a subtest-boundary lifecycle cancellation and worker-join regression. Focused API tests pass; this fixture isolation repair does not establish causality for historical release stress failures.

Change-source: pulse-maintainer
2026-09-08 21:29:36 +01:00
pulse-triage[bot] 98efe62d7c test(api): distinguish stress setup and first-request latency
The failed qualification and isolated API samples used the same setup but lacked comparable phase and per-worker request evidence. Retain UTC setup/load boundaries, execution context and first-attempt versus subsequent successful resource latency without altering workloads, aggregate reports or verdicts. These are observational partitions, not cold-tenant or historical-cause claims.

Focused instrumented API stress passed; JSON assertions verify ordered phases and partition totals. Historical exact-candidate failure remains unresolved.

Change-source: pulse-maintainer
2026-09-08 21:14:29 +01:00
pulse-triage[bot] ab1cd9d61e Merge candidate 20260908T194055Z-delivery-trust
Change-source: pulse-maintainer
2026-09-08 20:50:35 +01:00
pulse-triage[bot] 385e3d41d1 Merge pull request #1992 from rcourtman/maintainer/20260908T190656Z
Keep release reconciliation moving through transient GitHub errors
2026-09-08 19:46:38 +00:00
pulse-triage[bot] 4462e43288 fix(release): retain streamed stress-test timing evidence
Buffered package logs cannot map the API stress-test failure to resource telemetry. Stream Go events and retain a bounded target lifecycle with distinct event, receipt and resource collection times, while preserving readable output and pipeline failure status. Synthetic decoder and worker tests cover pass, skip, failure and unavailable telemetry; this does not clear historical qualification or authorise a replay.

Change-source: pulse-maintainer
2026-09-08 20:45:07 +01:00
pulse-triage[bot] a6f90ec181 fix(release): bound transient convergence API read retries
Scheduled reconciliation run 34264958741 aborted while listing releases after GitHub returned HTTP 504. Allow JSON API reads three attempts with bounded backoff so a transient gateway error need not strand this reconciliation until the next schedule. Discard partial pagination on failure and preserve terminal failure after exhaustion.

Only read helpers opt in; mutations, downloads, log reads and access failures retain their single-attempt behaviour. Focused reconciliation suite passes 42 tests, including new transient-read regressions that failed before the change.

Change-source: pulse-maintainer
2026-09-08 20:02:08 +01:00
pulse-triage[bot] 6a73661cb1 Merge pull request #1991 from rcourtman/maintainer/20260908T175316Z
Keep tenant resource requests responsive during cold store setup
2026-09-08 18:36:57 +00:00
pulse-triage[bot] d888dd9b82 Merge candidate 20260908T173044Z-core-runtime
Change-source: pulse-maintainer
2026-09-08 18:50:32 +01:00
pulse-triage[bot] 3b91896371 fix(api): isolate tenant resource store construction
Cold resource store construction held the shared cache mutex and delayed unrelated tenants, including cache hits. A bounded API measurement found 480ms p95 cache-hit mutex wait, while a synthetic blocked constructor reproduced the coordination defect independently of storage internals.

Deduplicate construction per tenant outside the cache mutex, and coordinate eviction with in-flight opens. Add synthetic regressions for unrelated tenants, same-tenant deduplication, retry after failure and close ordering. The resource API race suite passes. This does not establish the cause of the historical release stress failure or qualify a release.

Change-source: pulse-maintainer
Contract-Neutral: Internal tenant-store lock scheduling repair only; routes, payloads, authorization, tenant keys, storage format and eviction semantics are unchanged. Existing race-tested API coordination regressions establish deduplication, retry and close ordering; no frontend surface changes.
2026-09-08 18:41:30 +01:00
pulse-triage[bot] 55cf9e6ed5 Merge pull request #1990 from rcourtman/maintainer/20260908T165532Z
Keep TrueNAS sessions alive and refresh on a steady cadence
2026-09-08 17:35:47 +00:00
pulse-triage[bot] 19f564ddd9 fix(truenas): maintain idle sessions and bound successful poll cadence
Persistent authenticated WebSockets sent nothing between polls, allowing idle-timeout appliances to discard them before the next refresh. Send bounded control pings for each authenticated session and stop the sender on disposal without treating pongs as fresh inventory.

Successful refreshes also added a full interval after completion. Target start-to-start cadence while preserving up to five seconds of minimum idle time, unchanged failure backoff and honest completion timestamps. Authenticated idle-timeout and cadence regressions failed before the repairs; focused transport and poller race tests pass. Addresses the reproduced paths in #1893, not native appliance or reporter confirmation.

Change-source: pulse-maintainer
2026-09-08 17:48:52 +01:00
pulse-triage[bot] 9721295c5d Merge pull request #1988 from rcourtman/maintainer/20260908T120153Z
Keep transient webhooks retrying and explain destination server failures
2026-09-08 13:25:01 +00:00
pulse-triage[bot] 327b333a39 style(web): format destination server guidance
Apply the repository formatter to the newly added server-error guidance so the required frontend check can validate the integrated batch.

Change-source: pulse-maintainer
2026-09-08 13:23:10 +01:00
pulse-triage[bot] c5a99f7d2d test(notifications): cover interrupted transient HTTP rejections
Exercise the intersection of the interrupted-response and 421/423/425 retry repairs, including queue classification and transport recovery history. Synthetic HTTP fixtures only; no queue scheduling or installed receipt claim.

Change-source: pulse-maintainer
2026-09-08 13:11:50 +01:00