Skip to content

FOUR-26340 | ”about:blank” Displays From the Preview Pane of a Manual Task Using a List Table - #1926

Open
mcraeteisha wants to merge 4 commits into
developfrom
bugfix/FOUR-26340
Open

FOUR-26340 | ”about:blank” Displays From the Preview Pane of a Manual Task Using a List Table#1926
mcraeteisha wants to merge 4 commits into
developfrom
bugfix/FOUR-26340

Conversation

@mcraeteisha

@mcraeteisha mcraeteisha commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Issue

Ticket: FOUR-26340

When a manual task used a display screen with a List Table configured for cases/requests, opening the task from the modeler preview and clicking the cases navigation control opened a blank about:blank page.

Root cause: preview set window.Processmaker metadata but not user, while form-requests.vue read Processmaker.user.username during mounted(). That threw before dataControls were emitted, so form-list-table.vue called window.open(undefined)about:blank.

Solution

  • Bootstraped the current user in the manual-task modeler preview shell (tasks.preview) so List Table / cases screens can resolve ProcessMaker.user / Processmaker.user.
  • Hardened screen-builder List Table requests rendering: safely read user context, always emit dataControls with url: "/cases", and guard external-link opens when no URL is available.
  • Added regression coverage for preview user bootstrap and List Table preview navigation behavior.

How To Test

  • Run tests/Feature/TasksTest.php --filter testPreviewBootstrapsCurrentUserForListTable
  • Run screen-builder FormListTablePreview.spec.js
  • Create a process with a manual task and a display screen containing a List Table set to cases.
  • From the modeler, open task preview and confirm the table renders without JS errors.
  • Click the cases navigation control and confirm it opens /cases (not about:blank).
  • Confirm the same screen still works in normal screen preview and standard runtime task pages.
  • Confirm Start New Case / My Tasks / My Cases List Table behaviors remain intact.

Code Review Checklist

  • I have pulled this code locally and tested it on my instance, along with any associated packages.
  • This code adheres to ProcessMaker Coding Guidelines.
  • This code includes a unit test or an E2E test that tests its functionality, or is covered by an existing test.
  • This solution fixes the bug reported in the original ticket.
  • This solution does not alter the expected output of a component in a way that would break existing Processes.
  • This solution does not implement any breaking changes that would invalidate documentation or cause existing Processes to fail.
  • This solution has been tested with enterprise packages that rely on its functionality and does not introduce bugs in those packages.
  • This code does not duplicate functionality that already exists in the framework or in ProcessMaker.
  • This ticket conforms to the PRD associated with this part of ProcessMaker.

Add null/undefined checks in openLink() and openExternalLink() methods to prevent attempting to open windows with invalid URLs. This prevents potential errors when URLs are missing or not set.
Extract user data access into a computed property to safely handle cases where ProcessMaker/Processmaker may be undefined. Add null checks throughout the component to prevent errors when user data is unavailable. Refactor dataControls object creation into a reusable emitDataControls() method to eliminate code duplication. Ensures the component gracefully handles missing user context by hiding the table and emitting an empty state.
Add unit tests for FormListTable and FormRequests components to ensure preview functionality handles edge cases gracefully, including missing URLs, missing usernames, and user preference logic for ProcessMaker vs Processmaker global objects.
@cypress

cypress Bot commented Aug 5, 2026

Copy link
Copy Markdown

screen-builder    Run #2326

Run Properties:  status check failed Failed #2326  •  git commit 752015f809: FOUR-26340 | ”about:blank” Displays From the Preview Pane of a Manual Task Using...
Project screen-builder
Branch Review bugfix/FOUR-26340
Run status status check failed Failed #2326
Run duration 42m 52s
Commit git commit 752015f809: FOUR-26340 | ”about:blank” Displays From the Preview Pane of a Manual Task Using...
Committer Teisha McRae
View all properties for this run ↗︎

Test results
Tests that failed  Failures 1
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 0
Tests that passed  Passing 388
View all changes introduced in this branch ↗︎

Tests for review

Failed  tests/e2e/specs/ComputedFields.spec.js • 1 failed test • CI - Chrome

View Output

Test Artifacts
Computed fields > Focuses the first field that has an error Test Replay Screenshots

@processmaker-sonarqube

Copy link
Copy Markdown

@mcraeteisha
mcraeteisha requested a review from eiresendez August 5, 2026 18:23

@eiresendez eiresendez left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Working as expected! 👍

Comment thread src/components/renderer/form-requests.vue Outdated
Changed currentUser() to merge properties from both window.Processmaker?.user and window.ProcessMaker?.user, with ProcessMaker taking precedence. This ensures properties from both sources are available instead of completely overriding one with the other. Updated corresponding test to verify merge behavior.
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