Skip to content

FOUR-32798: Preserve Record List collection configuration - #1931

Open
eiresendez wants to merge 1 commit into
developfrom
task/FOUR-32798-FOUR-32865
Open

FOUR-32798: Preserve Record List collection configuration#1931
eiresendez wants to merge 1 commit into
developfrom
task/FOUR-32798-FOUR-32865

Conversation

@eiresendez

Copy link
Copy Markdown
Contributor

Issue & Reproduction Steps

A Collection-backed Record List can lose its Data Selection, selected single field, and configured columns in two related scenarios:

  1. Import or link a Process whose Collection ID is remapped while the Record List still contains cached records from the source Collection, then open the imported Screen.
  2. Configure columns for a Collection with zero records, switch from Design to Preview, and return to Design.

Expected behavior: The Record List preserves its persisted Data Selection, legacy data.* single-field value, and configured columns while the same Collection is hydrated or refreshed.

Actual behavior: Screen Builder interprets stale or empty record data as a user-initiated Collection change and clears valid configuration.

Solution

  • Emit the Collection change signal only from an explicit user selection instead of inferring it from loaded records.
  • Preserve Data Selection and singleField during hydration, clearing singleField only when the user manually changes Data Selection.
  • Normalize legacy data.* field values for display without rewriting their persisted representation.
  • Keep the existing column-clearing behavior when the user explicitly selects another Collection.

How to Test

  • npm run run-cypress -- --spec tests/e2e/specs/CollectionRecordListColumns.spec.js --browser electron — 6 passing.
  • npm run build-bundle — passed.
  • Manual validation on processmaker.test confirmed that the remapped Collection fixture and the zero-record Collection fixture preserve all six columns through Preview → Design, save, and reopen, while explicit Collection and Data Selection changes still clear the dependent configuration.

Related Tickets & Packages

ci:deploy

@cypress

cypress Bot commented Aug 27, 2026

Copy link
Copy Markdown

screen-builder    Run #2367

Run Properties:  status check failed Failed #2367  •  git commit ac3bdae8e7: FOUR-32798: Preserve Record List collection configuration
Project screen-builder
Branch Review task/FOUR-32798-FOUR-32865
Run status status check failed Failed #2367
Run duration 09m 36s
Commit git commit ac3bdae8e7: FOUR-32798: Preserve Record List collection configuration
Committer Eleazar Resendez
View all properties for this run ↗︎

Test results
Tests that failed  Failures 2
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 19
Tests that did not run due to a failure in a mocha hook  Skipped 7
Tests that passed  Passing 387
View all changes introduced in this branch ↗︎

Tests for review

Failed  ValidationRules.spec.js • 1 failed test • CI - Chrome

View Output

Test Artifacts
Validation Rules > Validations should be skipped for readonly fields Test Replay Screenshots
Failed  FileDownload.spec.js • 1 failed test • CI - Chrome

View Output

Test Artifacts
File Download > Can download a single file Test Replay Screenshots

@eiresendez eiresendez self-assigned this Aug 27, 2026
@nolanpro

Copy link
Copy Markdown
Contributor

QA server K8S was successfully deployed https://ci-0f17f34122.engk8s.processmaker.net

@eiresendez

Copy link
Copy Markdown
Contributor Author

Hi @nolanpro I think that Screen Builder CI/CD appears unstable today: this PR failed across 3 attempts in unrelated Cypress specs, including identical blank-page failures in Computed Fields and Validation Rules, plus a separate File Download assertion failure. The PR-specific tests remain green, but these E2E failures caused coverage and scan to be skipped; the separate QA build, deployment, and PHPUnit workflow completed successfully.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants