Skip to content

fix: set the item filter on a content list - #5174

Merged
natechadwick-intsof merged 4 commits into
mainfrom
fix/issue-5160-content-list-item-filter
Oct 4, 2026
Merged

natechadwick-intsof merged 4 commits into
mainfrom
fix/issue-5160-content-list-item-filter

Conversation

@natechadwick-intsof

@natechadwick-intsof natechadwick-intsof commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Publishing Design can set or clear the item filter on one modern content list. The editor saves the filter name (item-filter uuids are not unique across hosts). A blank itemFilterId clears the stored filter. Omitting the field leaves it unchanged. An unknown filter is HTTP 400 Unknown item filter and is rejected before create or save. The saved filter is shown only after the list reloads. Cancel and a blank name do not call the server. HTTP 400, 403, and 409 stay in the editor.

Parent: #4531. Fixes #5160.

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

Test plan

  1. QA H2: Publish → Design → Content lists. Create a modern list with a generator. Confirm the row says No item filter.
  2. Open the list, choose an item filter, and confirm Saved item filter stays unchanged until Save. Back discards the draft.
  3. Save. The row and the reopened editor show that filter name.
  4. Choose No item filter and Save. The row returns to No item filter.
  5. Blank name is rejected in the form. Rename onto an existing list returns 409 and keeps the previous filter. Unknown filter, 403, and 409 do not update the stored line.

Checklist

  • Product documentation — updated product-docs/8.2/admin/publishing.md (Set the item filter on a content list)
  • Unit / module tests — sitemanage filter resolve/clear/unknown tests; WebUI Vitest for name token, draft vs stored, blank name, and HTTP 400/403/409; Playwright surface spec
  • WebUI + Playwright — modules/perc-qa-automation/frontend/tests/publishing/designContentListItemFilter.spec.js (2 passed on H2)
  • Build gates — standalone clean install for each changed module (JDK 21, no skipTests)
  • Cross-platform — N/A (no path/file I/O)

Build evidence

rtk mvn could not spawn (Permission denied). Builds used JAVA_HOME=/usr/lib/jvm/java-21-openjdk and the repo-root bash mvnw (Maven 3.9.11).

modules_built: projects/sitemanage,WebUI,modules/perc-qa-automation

  • cd rest && bash ../mvnw clean install — classpath alignment only (this branch's rest vs a newer installed snapshot). BUILD SUCCESS. Tests run: 1660, Failures: 0. No rest product change in this PR.
  • cd projects/sitemanage && bash ../../mvnw clean install — BUILD SUCCESS. Surefire TEST-*.xml: Tests run: 3457, Failures: 0, Errors: 0, Skipped: 125.
  • cd WebUI && bash ../mvnw clean install — BUILD SUCCESS. Vitest Test Files 658 passed, Tests 5973 passed. Java Tests run: 69, Failures: 0.
  • cd modules/perc-qa-automation && bash ../../mvnw clean install — BUILD SUCCESS. No tests to run (Playwright is not bound to default Surefire).

downstream_checked: none (no final/sealed type and no public method or constructor signature change; no extends PSContentListSummary).

UI proof (C5)

  • python3 docker/scripts/perc-devctl.py qa-up — container perc-matrix-cms-h2, TEST_CMS_URL=http://127.0.0.1:9993 (ADMIN_PASSWORD from qa-up stdout, not recorded here).
  • After WebUI install: python3 docker/scripts/perc-devctl.py qa-deploy-webui RESULT:OK, then qa-health RESULT:OK HTTP:200 HEALTH:healthy.
  • cd modules/perc-qa-automation/frontend && rtk npm run test:surface -- --path tests/publishing/designContentListItemFilter.spec.js with TEST_CMS_URL, ADMIN_USERNAME=Admin, TEST_DB_TYPE=h2, TEST_PRODUCT=cms. 2 passed.
  • console-clean=yes (spec fails on pageerror / console error).
  • server.log-clean=yes (no new ERROR/FATAL/SEVERE in /opt/Percussion/jetty/base/logs/server.log during the passing run).

Pre-push local code review

Summary

Machine analysis found 1 finding(s), 0 bug(s).

Scope

  • Base: origin/main
  • Head: HEAD
  • Files: 17 analyzed
  • Persona: erlang 0.1.1
  • Persona source: /home/nate/.local/share/mkd/agents/erlang

Recommendation

approve

Gate

  • Blocking bugs: 0
  • May commit/push: yes

Issues

Issue 1 -- Severity: suggestion

  • File: review

  • Rule: llm.error

  • Tool: llm

  • Description: model ollama-dev-coder failed: http: status 500 Internal Server Error body {"error":{"message":"llama-server process has terminated: exit status 1: cudaMalloc failed: out of memory\nalloc_tensor_range: failed to allocate CUDA0 buffer of size 5064192000\nerror loading model: unable to allocate CUDA0 buffer","type":"api_error","param":null,"code":null}}

  • Status: open

Erlang judgment: approve. Zero machine bugs on 17 files. Unknown filters are rejected before save; the editor sends the filter name and omits the field until the catalog loads. Ollama dev-coder HTTP 500 (CUDA out of memory) is a non-blocking suggestion. Report: docs/ai-generated/code-reviews/pr-5174-erlang.md (commit b468a18a82fd).

Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs.

Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs-erlang.

Publishing Design accepts itemFilterId on a modern content list (uuid or name),
clears the stored filter when the value is blank, and leaves it unchanged when
the field is omitted. The editor keeps the previous filter until save succeeds.

Fixes #5160

> Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs.
Bare item-filter uuids collide across hosts, so Design was saving an id the
server could not resolve. The editor now sends the filter name and reloads
the select from the stored name.

Fixes #5160

> Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs.
> Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs.
@natechadwick-intsof natechadwick-intsof added operator:grok Changes authored by Grok operator:night-issue-prs night-issue-prs workflow model:grok-4.7 Session model grok-4.7 labels Oct 4, 2026
Independent advisory review of 8ff2b38. Machine gate is clean. Ollama CUDA OOM is a non-blocking suggestion.

> Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs-erlang.
@natechadwick-intsof

Copy link
Copy Markdown
Collaborator Author

LGTM. Independent Erlang review: machine gate clean (0 bugs). Ollama dev-coder HTTP 500 (CUDA out of memory) is a non-blocking suggestion. Same-account approve is not available. Report: docs/ai-generated/code-reviews/pr-5174-erlang.md.

Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs-erlang.

@natechadwick-intsof
natechadwick-intsof merged commit d0ee1de into main Oct 4, 2026
6 checks passed
@natechadwick-intsof
natechadwick-intsof deleted the fix/issue-5160-content-list-item-filter branch October 4, 2026 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

model:grok-4.7 Session model grok-4.7 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 72: PublishingShell set the item filter on a content list

1 participant