Skip to content

feat(publish): PublishingShell logs search and filter (#4616) - #4650

Merged
natechadwick merged 1 commit into
mainfrom
fix/issue-4616-publishing-logs-filter
Sep 20, 2026
Merged

natechadwick merged 1 commit into
mainfrom
fix/issue-4616-publishing-logs-filter

Conversation

@natechadwick-intsof

Copy link
Copy Markdown
Collaborator

Summary

PublishingShell Logs now lets operators search and filter historical publish jobs by site (existing), status, and free text, plus a Failures only (server) checkbox that sets showOnlyFailures on POST …/sitemanage/pubstatus/logs. REST already existed; this slice is SPA + tests + product-docs.

Parent tracker: #4531
Fixes #4616

Operator: Grok: night-issue-prs (model grok-4.6)

Test plan

  1. cd WebUI && ../mvnw clean install — BUILD SUCCESS; Vitest 4600 passed; Surefire 69 passed.
  2. cd modules/perc-qa-automation && ../../mvnw clean install — BUILD SUCCESS.
  3. npm run test:unit in perc-qa-automation/frontend — helper tests including publishing-logs-filter.test.js.
  4. H2 QA: python docker/scripts/perc-devctl.py qa-up → qa-health RESULT:OK; hot-copy cm/modern assets into perc-matrix-cms-h2; Jetty Stop/Start inside cell; qa-health again.
  5. npm run test:surface -- --path tests/publishing-logs-filter.spec.js with TEST_CMS_URL from qa-up — 1 passed; console-clean=yes.
  6. Open Publish → Logs, load rows, search by site/status text, toggle Failed.

Checklist

  • Product documentation — product-docs/8.2/admin/publishing.md (Search and filter publish logs)
  • Unit / module tests — logsFilter.test.ts, LogsSection.filter.test.tsx, QA helper unit tests
  • WebUI + Playwright — tests/publishing-logs-filter.spec.js
  • Build gates — standalone clean install WebUI + perc-qa-automation
  • Cross-platform — N/A for filesystem I/O (SPA URL / only)

C3 evidence

  • modules_built: WebUI, modules/perc-qa-automation
  • build_evidence: cd WebUI && ../mvnw clean install BUILD SUCCESS (Surefire Tests run: 69, Failures: 0; Vitest Tests 4600 passed). cd modules/perc-qa-automation && ../../mvnw clean install BUILD SUCCESS (No tests to run in Surefire; frontend unit tests 558 pass including logs-filter helpers).
  • downstream_checked: none (no public Java API / final / signature change)

C5 UI proof

  • qa-up: RESULT:OK TEST_CMS_URL=http://127.0.0.1:9993 container perc-matrix-cms-h2
  • deploy: docker cp WebUI generated-webui/cm/modern → /opt/Percussion/jetty/base/webapps/Rhythmyx/cm/modern/; StopJetty/StartJetty inside cell; qa-health RESULT:OK
  • Playwright: npm run test:surface -- --path tests/publishing-logs-filter.spec.js — 1 passed (2.4s)
  • console-clean=yes
  • server.log-clean=yes (no feature-related ERROR during the spec)

Erlang (spawned grok agent): approve — docs/ai-generated/code-reviews/issue-4616-publishing-logs-filter-erlang.md

Co-Authored by Grok Build 1.0.34 using grok-4.6 with agent night-issue-prs.

Operators can search and filter historical publish jobs in Logs by
site, status, and free text, and request failures-only from the server.

Fixes #4616
Parent: #4531

> Co-Authored by Grok Build 1.0.34 using grok-4.6 with agent night-issue-prs.

@natechadwick-intsof natechadwick-intsof left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Erlang (spawned sub-agent) — PR #4650 / #4616

Recommendation: LGTM (COMMENT only — this is own-model; no APPROVE).
Gate: May merge from Erlang perspective: yes (peer/human still required).

Scope

PublishingShell Logs client search/status filter, server showOnlyFailures checkbox, Vitest, Playwright surface, product-docs 8.2 admin publishing.

Hard gates

  • Bugs: none found. Filter helpers are conservative (fail/error/aborted vs success/complete/ok); haystack includes site/server/job/status/date. Failures-only is applied on Apply via buildLogRequest (server flag), not silently ignored.
  • Behavioral tests: logsFilter.test.ts (query+status), LogsSection.filter.test.tsx (UI), Playwright publishing-logs-filter.spec.js + unit helpers. Change-class companions present (WebUI + perc-qa-automation + product-docs).
  • Paths: no filesystem I/O.
  • Copyright: new files use Intersoft 2026 headers.

Memory patterns hit: change-class closure (Playwright + product-docs for WebUI screen).

Co-Authored by Grok Build 1.0.34 using grok-4.6 with agent night-issue-prs-erlang.

@natechadwick-intsof

Copy link
Copy Markdown
Collaborator Author

Erlang (spawned sub-agent) — PR #4650 / #4616

Recommendation: LGTM (COMMENT only — this is own-model; no APPROVE).
Gate: May merge from Erlang perspective: yes (peer/human still required).

Scope

PublishingShell Logs client search/status filter, server showOnlyFailures checkbox, Vitest, Playwright surface, product-docs 8.2 admin publishing.

Hard gates

  • Bugs: none found. Filter helpers are conservative (fail/error/aborted vs success/complete/ok); haystack includes site/server/job/status/date. Failures-only is applied on Apply via buildLogRequest (server flag), not silently ignored.
  • Behavioral tests: logsFilter.test.ts (query+status), LogsSection.filter.test.tsx (UI), Playwright publishing-logs-filter.spec.js + unit helpers. Change-class companions present (WebUI + perc-qa-automation + product-docs).
  • Paths: no filesystem I/O.
  • Copyright: new files use Intersoft 2026 headers.

Memory patterns hit: change-class closure (Playwright + product-docs for WebUI screen).

Co-Authored by Grok Build 1.0.34 using grok-4.6 with agent night-issue-prs-erlang.

@natechadwick
natechadwick merged commit 1773857 into main Sep 20, 2026
8 checks passed
@natechadwick
natechadwick deleted the fix/issue-4616-publishing-logs-filter branch September 20, 2026 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

model:grok-4.6 Session model grok-4.6 operator:grok Changes authored by Grok operator:night-issue-prs night-issue-prs workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

issue 4531 slice 9: PublishingShell logs search and filter

2 participants