Pega Infinity™ includes an industry-standard patch release process to simplify and maintain high-quality releases. Several cumulative patches are released a year for each release stream. The Resolved Issues page contains information about client-reported issues that have been addressed for the specific release.
For a complete set of the Resolved Issues for this release, download the PDF attachment at the bottom of this page. (Note that you must be logged in to access the attachment.)
Low-code Application Development
Case Management
8.5.3 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-155469 | 616911 | Attach Documents Control updated for busy indicator timing | When using the standard control - Attach content - to attach documents for processing in the application, selecting multiple files for upload and then clicking on the attach button before the busy indicator started resulted in not all files being uploaded. Investigation showed that the busy indicator was not set to display as soon as the attachments were added, giving an opportunity to click "Attach" before all the documents could be successfully added to the process. As part of the resolution for this issue, the busy indicator will be displayed immediately upon file selection. | Case Management |
INC-154778 | 620906 | Bulk actions filtering works in Spanish locale | Filtering by only case type did not return any results when using the Bulk Transfer functionality with the Spanish locale. Investigation showed that the filter value case type had a field value set, but the localized value was not being checked in the pzPostFilterOperation in step 1 'when' condition. This has been resolved. | Case Management |
INC-152442 | 616666 | Check added for Create Access to attachment | After restricting access for the attachments category in a CS application, the attachment was added without category and could not be opened. This was due to the Create Attachment access not being automatically created for all categories when privileges were added, and has been resolved by adding a step to check Create Access for attachments of the respective category. | Case Management |
INC-153688 | 616918 | Class name length limitation raised to 64 characters | In order to support field audits on very long class names, FLAudit Class has been modified to allow a class Name length of 64 characters instead of the previous limit of 56. | Case Management |
INC-155648 | 617396 | Corrected reference of PropertyExists in pyAdjustSLAPostAction | The PropertyExists function was returning incorrect results. This has been resolved with the addition of a 'property exists' check in pyAdjustSLATimes. | Case Management |
INC-160115 | 627651 | Editing Approval flowshape retains decision tree | Editing the Approval flowshape caused the decision tree to become blank when selecting 'Use Business logic' in the dropdown for "Route to dropdown". This was traced to a missed use case for earlier work done on enhancements for email approver shapes regarding retaining previous values while switching back to using the business logic option, and has been resolved. | Case Management |
INC-147457 | 621709 | Elapsed time in Work History Table includes sub-flow | Elapsed times were not captured when an assignment was in a wait shape followed by a utility which set a ticket and moved the assignment to a sub-flow. Investigation showed that when flow execution is in a sub-flow and a ticket is raised, the assignment in sub-flow was removed but audit history was not captured. To handle this scenario, the functions pzCleanSplitForTicket and pzRemoveFlowForTicket have been added, and FlowMethodBody FUA has been modified to include pzCleanSplitForTicket instead of CleanSplit | Case Management |
INC-149213 | 608517 | Email attachments properly displayed in mobile browsers | When attempting to use any mobile browser to open the email attachment of a work object, a blank HTML page appeared before the email attachment was shown. The blank page did not appear if the mobile browser was set to use "Desktop mode" or "PC mode". This has been resolved by updating the BAC registration method so that correspondence attachments are properly opened in all mobile browsers and HC apps for all channel types. An additional issue of a blank window appearing on IOS devices that was caused by correspondence attachments opening in a new window instead of opening in the current window has also been corrected. | Case Management |
INC-154826 | 614819 | Enhanced handling for screen/non-screen/screen flow movement | When using a screen flow where the last screen had a link to launch a section, a cancel button in the section that was configured with a data transform and a 'Finish Assignment' intended to move back to the screen flow did not work as expected. If a browser refresh was performed and then the cancel button was clicked, the Finish Assignment / return was triggered as expected. Because this configuration navigated to a non-screen flow, the attachOnLoad function did not load the parameter needed for maintaining error messages. This has been resolved by updating the navigation to handle this use. | Case Management |
INC-155559 | 617502 | GoToStage property marked as non-transient | When refreshing or reopening the flow, the pzRuleParamsHolder did not display the gotostage property in in the change to stage shape even though the property was present in the clipboard and the flow switched correctly. This was traced to pyGoToStage being marked as transient, which caused the value to not be saved to the database. To resolve this, the pyGoToStage property is now marked as non-transient. | Case Management |
INC-155587 | 621840 | Handling added for controls applied directly to parameters | After upgrade, the section displayed by the out of the box flow action pyDisplayRolesOfApplication was not displaying the role count and application name, instead highlighting values as null. Beginning with Pega 8.4, completely templated mode changes were introduced to repeating dynamic layouts. This led to parameter values which should have been passed to the field parameter to be missed because a control was added to the parameters explicitly. This has been resolved. | Case Management |
INC-159334 | 626764 | Handling added for custom attachment method | When sending a correspondence using the standard SendSimpleEmail activity, choosing only one attachment from the multiple attachments in the work object by passing the pxLinkedRefTo property from the clipboard page to the AttachmentKeysToSend parameter instead of passing the value to the AttachmentCategoriesToSend parameter successfully sent the message and attached it to the work object. However, opening the correspondence attached to the work object showed the attached file as blank even though the attachment was present in the receiver’s email. Research showed that during the comparison of keys in place of pxLinkedRefTo, pzinskey was used. This caused the comparison to not register as true and the attachments display was skipped. This has been resolved by updating the Data-Corr-Email.Show Html rule to use the pxLinkedRefTo field to find the right attachment. The URL encryption was also updated to ensure the links are functional and attachments can be downloaded. | Case Management |
INC-154189 | 617246 | Harness used to determine read-only for button/text input | If a button/text input was configured to always be editable in a section by using the /v1/cases/{ID}/pages/{pageID} API (say i.e PageID as Review), the button/text input was always returned as readonly. This was due to the API being hardcoded to return readonly info, and has been resolved by updating pzGetPageDetails to not force read-only and let the harness configuration decide the behavior. | Case Management |
INC-148747 | 613878 | Helper text set for radio buttons in DX API | The api/v1/assignments/{ID}/actions/{actionID} Service Rest was not rendering the tooltip into DXAPI converted JSON for Radio Button Helper Text. This was traced to a missing Tooltip check in the API Rule-Utility-Function for radio buttons, and has been resolved. | Case Management |
INC-153801 | 625947 | Modified handling for updating SLA on Bulk Agent items | While transferring SLA-configured assignments to the work basket using the Bulk Agent in background processing, the assignment handle of the SLA item was not getting updated to the work basket assignment handle. The error "duplicate key value violates unique constraint" was logged. This was due to the system not being able to dequeue the SLA item while it was locked by the Queue Manager as part of the background bulk processing, preventing the assignment handle from being updated on the SLA item. To resolve this, the system will perform a direct database open of the SLA item so the assignment handle is updated. | Case Management |
INC-160420 | 627961 | RefreshFor correctly returns validation messages | After upgrade, the PUT method on /api/v1/assignments/{ID}/actions/{actionID}/refresh?refreshFor was not returning validation messages on the child level. This was an unintended consequence of refactoring work done on pzApiCreateJsonForField around the default value calculation, and has been resolved. | Case Management |
INC-150172 | 611775 | Updated class handling for View field security | When using a defined View which returned a page and its fields and used an inherited custom work party definition, trying to update the pyWorkParty(Customer) by calling the "post /assignments/{ID}/{actionID}" did not work as expected when Field Security was ON. This was traced to the field security relying on the design time page class information stored in the list/group property, and has been updated to resolve the view fields using actual class information from the work page. | Case Management |
INC-144265 | 609288 | Updated timestamp handling for duplicate key issue with PyCompleteAutomation | Occasionally a robot failed to complete a case due to a duplicate key exception. This was an issue with the History record creation due to duplicate key erlated to the timestamp, and has been resolved by updating the timestamp handling so that the REST API will use 'getCurrentTimeStampUnique' and for other cases 'pxGetCurrentTimeStampThreadUnique' will be used. | Case Management |
INC-160078 | 628840 | Work object status correctly set to Resolved after refresh | When using the Refresh option from the Other Actions menu before submitting the flow action, the work object status was not updating to Resolved-Completed. Investigation showed that when performing the Refresh action, the RefreshOnConflicts activity created a Clipboard page named LatestWorkPage with a copy of the work object. This page was not removed after use, causing the Resolved-Completed status to be set on LatestWorkPage instead of pyWorkPage. To resolve this, a step has been added to RefreshOnConflicts to remove LatestWorkPage. | Case Management |
Cloud Services
There are no Resolved Issues for Cloud Services in 8.5.3
Conversational Channels
8.5.3 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-152776 | 621244 | Check added for HTML and linefeed combined in email | In the Interaction right hand pane Email triage widget, additional line breaks were seen when displaying email message data that contained table tags. This was a missed use case for email which contains both HTML and '\n', which resulted in the system replacing '\n' with </br>. This has been resolved by adding a check whether the content has HTML tags which will avoid the replacement. | Conversational Channels |
INC-156422 | 617382 | Updated email triage case creation to avoid unique key issue | After upgrade, when the email listener queued the case and an agent picked up the queued item to create an Email Triage Case and then the interaction case, trying to commit the case failed with a Unique Key violation. Investigation traced this to the system trying to insert the record into the PC_WORK_TRIAGE table twice due to a timing issue in the workobject commit. This has been resolved. | Conversational Channels |
Data Integration
8.5.3 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-155624 | 627234 | Added check for .eml /.msg extension | Attachments with .eml /.msg extensions were treated as FileAttachments by the MS Graph API and generating a classcastexception. To resolve this, a check has been added to identify the attachment along with content type so .eml will be correctly recognized. | Data Integration |
INC-135065 | 598717 | Added Database query optimization and cache invalidation logging | Web nodes were going down during deployment due to failed health checks. This was traced to queries firing even when there was no rule change, and was due to unnecessary cache invalidations. An update has been made which will optimize and analyze declarative database queries and capture diagnostic details on any invalidation of the declarative reference information cache. | Data Integration |
INC-150610 | 627428 | Argument number exception handled for SERVICES-PAL log configuration | An issue with being unable to configure the SERVICES-PAL log file has been resolved by adding handling for an unlogged "wrong number of arguments" exception. | Data Integration |
INC-158689 | 628862 | Attachments successfully fetched with CMIS | After upgrade from Pega v7.2 to Pega v8.5, trying to fetch an attachment from CMIS storage and attach it to an email generated an exception. This was traced to a repository name null check which always evaluated to true when used with CMIS, and has been resolved by removing the null check from abstractRepo. | Data Integration |
INC-150704 | 613441 | Azure Repository connection updated | Attempting to connect to Azure blob storage using SDK v8.6.4. SDK was not working. Investigation showed that the x-ms-version:2013-08-15 was set by default; the issue has been resolved by setting the x-ms-version to 2018-03-28, and Pega will be working with Microsoft support to understand what has changed at the Azure Storage end that introduced the issue. | Data Integration |
INC-158308 | 624367 | Cleaned up tracer exceptions for requestor inactivity | After upgrade, the exception "No records were found for the lookup with keys : pyEventType=REQUESTOR-INACTIVITY" was appearing multiple times in tracer for Data-UsageEventType class. This has been resolved by changing the conditions order to decrease the number of data page loads. | Data Integration |
INC-152440 | 614335 | Compiler jars load as expected | The system was not able to pick up the Default Paths and Default Classes arguments in Configure->System->Settings->Compiler tab when attempting to use a third-party custom jar file. This was an unintended consequence of work done to address performance issues when a requested DASS instance was missing, and has been resolved by ensuring that null values are not cached where are are lookup failures. In addition, enhanced logging has been added to SystemSettingsImpl. | Data Integration |
INC-154889 | 617190 | Corrected export of zero value as '0E-9' | File Data Set was exporting properties such as pxPriority and pyPropensity as '0E-9' if the value was 0.00000 . This has been corrected. | Data Integration |
INC-153895 | 628175 | Correspondence rule finds updated content | Activity Method Property-Set-Stream retrieved the older content of Correspondence when triggered via Queue processor. Restarting the queue processor resolved the issue until the next correspondence update, and then the cycle repeated. This has been resolved by adding an explicit thread cleanup to remove cached rules. | Data Integration |
INC-147873 | 610865 | Custom header character encoding for Subject added | Case correspondence that contained a Subject with accent characters such as "Invitation à être" was being rejected by MailJet on the basis of encoding issues on the "Thread-Topic" when using custom headers. The error "BAD HEADER SECTION, Non-encoded non-ASCII data (and not UTF-8)" was generated. This was traced to the Send Email Smart Shape handling when using custom headers, and has been resolved by encoding the Subject before appending it to the Thread-topic header while adding custom headers. | Data Integration |
INC-150038 | 614829 | Data Type local data storage snapshot history updated | When a History Class Data object was created, two snapshots were made - one with value and another with no value. This was traced to a 'when' condition that evaluated whether to add history when deleting a record from records editor, and this issue has been addressed by removing the condition as the history-add step takes care of checking if there is a dedicated table or not. | Data Integration |
INC-154884 | 614732 | Dataflow statistics will fetch 5000 results | In order to accommodate large Dataflow runs, the configuration in the report definition has been increased from pulling the first 50 records of dataflows to pulling 5000 rows, and the pagination has been removed. | Data Integration |
INC-148414 INC-154605 |
615595 615662 |
Date field correctly extracted for IMAP inbound email | After upgrade, email-sourced cases were not being created correctly. Tracer showed the date field was blank, causing an error which was traced to the getReceivedDate being returned as null for the JavaMail AP even though the IMAP protocol was being used. This was an unintended side effect of work done to handle a throttling exception in the IMAP inbound email flow, and has been resolved by updating the system so that if the getReceivedDate is null, the date will be extracted from the mail header while processing dates in EmailMessageInfo class. | Data Integration |
INC-160767 | 628374 | Email headers correctly mapped when using MSGraph | The value of "Send Date" was not correctly populated when using MSGraph instead of IMAP, causing the Email Listener to fail. Microsoft populates the "sendDateTime" field in the JSON with the value of the RFC 822 email header "Date:", but this value was not being passed to Java object of type "Message" as part of the query. To resolve this, ReceivedDateTime and SentDatetime have been added in the select filter of getMessagebymessageID. | Data Integration |
INC-152647 INC-157081 |
609605 623806 |
Email Listener auto-reply evaluation updated | After upgrade, messages were being read but not getting processed for a specific Email listener (RCEmailListerner). The error "Email flagged as an autoreply email and will not be processed" appeared in the logs. Previously, an email was not considered to be an auto-reply only when the 'auto-submitted' header didn't exist or existed with value 'no'. This caused issues with auto-forward or auto-redirect emails where 'auto-submitted:auto-generated' could be in the header. Due to this, email was marked as auto-reply and email listener stopped processing it. To resolve this, the system has been modified to mark the message as auto-reply if it finds 'auto-submitted: auto-replied' in the header, but not 'auto-submitted:auto-generated'. | Data Integration |
INC-155573 | 617515 | Email Listener updated to handle double quotes | The From field in Requestdata was blank for emails that had a FROM address that contained double quotes, causing them to not be read by the email listener. This has been resolved by modifying the regex pattern to accept double quotes, square brackets, and any ASCII characters between quotes. | Data Integration |
INC-121480 | 595824 | EnableRedirects property added for REST connections | When implementing a connector with the header “Location” which contains a redirect URI, a 303 response code was expected. Instead, a 400 or 404 error was generated. It was not possible for developers to process the code per their logic in Activity as Connect REST processed 303 responses automatically - i.e. there was no intercept points to implement the suggested approach. To resolve this, the new property "Rule-Connect-REST.pyEnableRedirects" has been added along with a checkbox for the property in "Rule-Connect-REST.pyService" in "Connection" section. Logic has been added in RESTConnector.java to take value of this property and set it on the HTTPClient being used, and a method has been added to HTTPClient interface and ComponentsHTTPClient to use the new value being passed. The default behavior is the same for the REST Connector, but a client can uncheck a checkbox on the REST Connector ruleform to stop the HTTP client from automatically following any compatible 3xx responses. | Data Integration |
INC-147669 | 614884 | Enhanced logging added to REDUX query references | Diagnostic logging has been added to REDUX query references which will capture information about exceptions that cause the system to fallback to generating legacy references. | Data Integration |
INC-153877 | 612371 | Enhanced socket timeout logging | In order to assist with diagnosing issues with socket timeouts such as a Data Flow Daily Run failing, logging to print the SocketTimeout value has been added when case info is enabled. | Data Integration |
INC-155294 | 626663 | Enhancement added for attachment size handling with Kafka | Attempting to send an email attachment larger than 2 MB resulted in the error "Caused by: org.apache.kafka.common.errors.RecordTooLargeException: The message is 8101592 bytes when serialized which is larger than the maximum request size you have configured with the max.request.size configuration." This has been resolved by updating the Stream SPI size to 2.0.5-14 to support custom producer configurations. The settings can be passed as environment parameters, for example 'Dstream.producer.max.request.size=500990'. | Data Integration |
INC-156588 | 621967 | File Listener creates pegaAPI reference for indirect reference | When using a constant for the source location of a file, the listener had no problems starting but a severe guardrail warning appeared indicating "Source location should use D_pxGetApplicationSettingValue instead of a constant value". When the source location was changed to point to a data page as suggested, the file listener would not start. This was traced to a null pointer exception caused by the listener running on a thread that did have a reference to publicAPI as required to get the indirect reference to the property, and has been resolved by adding code to create pegaAPI (if not present) when an indirect reference is present. | Data Integration |
INC-153014 | 625697 | Handling added for missing archival class definitions | Handling has been added to avoid suspending the archival process when a class definition no longer exists in the system. If the system does not find a class corresponding to a configured case type, the exception generated will be logged and processing will continue with the next case type. | Data Integration |
INC-152435 | 612997 | Hardcoded cluster password deprecated | An unneeded hardcoded cluster group password has been removed in 3.8 version of Hazelcast as this use has been deprecated. | Data Integration |
INC-153086 | 619321 | Job scheduler tracing updated for multi-node | When attempting to trace the job scheduler using "trace any node", the error "Unable to trace trace job scheduler 'ConsumerPathRequestEvents' on node as the scheduled tracer information was reset" appeared intermittently. When Job Scheduler is configured to run on "any associated node" and the trace is designated as "trace any node" option, the implementation was running the trace on the node that received the request which may or may not be the one running the job scheduler. This was not an issue when tracing a job scheduler that was running on "all associated nodes". To ensure the correct node is found, when using "trace any node" for the job scheduler, the system will now look for the eligible node and return the requestor ID for the trace. | Data Integration |
INC-151426 INC-158159 |
613089 622629 |
JobScheduler initialization timing adjusted | DDS nodes were ending up in a deadlock condition on restart, preventing them from joining the cluster. This has been resolved by ensuring the JobScheduler initialization task waits for Search to start up. | Data Integration |
INC-151228 | 620602 | Kafka updated | Stream node errors were seen in the log file indicating "Invalid configuration. Undefined stream provider end point." This has been resolved by updating Kafka to v1.1.0.5, which was released to address this issue in WIndows environments. | Data Integration |
INC-149382 INC-150809 |
612427 611856 |
Loading timing updated for openAPI content | Open API content loading was taking too much time and interfering with working on other REST rule configurations. To resolve this, the loading of openAPI contents has been removed from the opening or saving of REST rule and shifted to lazy loading. Clicking on the openAPI tab will load the contents, and any modification in REST rule or service package rule will update the contents of openAPI when "Action->Refresh" is clicked. | Data Integration |
INC-145756 INC-149187 INC-149370 |
619294 622485 619991 |
Logging for MultiNodeSynchronize lock attempts changed from error to warn | The File Listener was logging numerous errors stating "Unable to establish MultiNodeSynchronize lock while trying to determine if listener is enabled for this node". Handling has been previously established for error cases when the Listener is unable to establish a MultiNodeSynchronize lock, but this condition continued to be logged as an error even though it was not related to any failures in functionality. To resolve the logging issue, the logger level has been changed from ERROR to WARN. | Data Integration |
INC-150633 INC-151043 INC-154062 INC-160360 |
614514 614872 614022 625684 |
Optimizing helper class enhanced to handle external databases | Running a BIX extract that included a manifest for a target database was resulting in a null pointer exception for the manifest extraction. Attempting to generate the DDL for the manifest table also failed. This was traced to an issue with the helper class using a hardcoded default database for forming the queries, causing it to ignore the database config/DADN/prconfig for the Oracle database and form a query using the PegaRules' database credentials. This only occurred when trying to do external database operations on a different database platform; Oracle PegaRules worked as expected with an Oracle external database and Postgres Pegarules worked with a Postgres external database, but mixing Postgres PegaRules and an Oracle external database would result in the null pointer exception. To resolve this, the helper class has been enhanced to work with external databases by passing the database name as a parameter so it will properly calculate the query based on the type of target. An error in the name of the class has also been corrected, and is now available as PerformanceHelper rather than the previous "PerformaneHelper". | Data Integration |
INC-143668 | 617485 | Performance improvements for Attachment Migration Utility | The Attachment Migration Utility was showing a zero count for attachments in the Pega Database. This was traced to the underlying report definition that retrieves data for the Attachment Migration Utility timing out, and has been resolved by updating the activities to improve performance for applications having a large number of attachments without customization. | Data Integration |
INC-153664 | 613054 | QP general metrics now disabled by default for better performance | While testing decisioning on fnx cloud platform, using the JPMC Midas application to simulate load and using the Stream service with Kafka Instaclustr as a backend, large latency spikes over 1,000 ms were observed at around 33 second intervals from Stream writes. Investigation identified that the metrics that are gathered for every QP every 30 sec (on every single node) include a "lag" calculation that requires a heavy process operation during which more threads are spun off, causing CPU spikes. To mitigate this, the QP general metrics are now disabled by default and can be enabled using DSS. | Data Integration |
INC-159736 | 630044 | Queue processor alert threshold error resolved | After upgrade from v8.2.6 to v8.5.2, all queue processors reported the error "Threshold Default - 2000.0 is not a valid integer value". The issue was related to Java type promotion from long to double; since the ClipboardPage.setValue() method has two overloaded versions accepting int or double, the double type was being selected for the long type and returning 2000.0 instead of 2000 for alertConfig.getThreshold(). This has been resolved by updating the system to specify setValue((int)alertConfig.getThreshold()) in the pzLoadQueueProcessorAlertDefaults activity. | Data Integration |
INC-159879 | 627831 | Race condition resolved for input/output pipe streams | Writing to S3 using file data set was failing with the error "Exception occurred while uploading file". The system was relying on PipedInputStream for getting the data from the file while uploading, which needs to be connected to PipedOutputStream which holds the data to be uploaded. Investigation showed a race condition was occurring where for some use cases the reading of inputStream was happening before the connection of I/P and O/P streams, resulting in a "Pipe not connected" error. This has been resolved. | Data Integration |
INC-151708 | 622067 | React-based UI app alias supports space or dash | When using the "React-based UI" (Beta test version) in App Studio, portal creation was successful but previewing the portal showed only a blank page and a 404 error code was generated. Switching to "Server rendered UI" rendered the portal as expected. Investigation showed that the alias had a space in the name which was handled as a dash (-), and this issue has been resolved by adding support for using a dash in the app alias. | Data Integration |
INC-155732 INC-160103 |
619484 627603 |
REST connector creation errors resolved | Attempting to create REST Connectors via the dev studio wizard using live endpoint invocation as "Add a REST response" was failing with a java.util.LinkedList error. This had a workaround of either running the REST wizard with file upload samples or configuring them directly on the rule form. In addition, REST Connectors were not executing if both the DEBUG level logging was turned on and the request had no headers, which had a workaround of using any other logging level (INFO, ERROR). These issues have been resolved by updating the system such that pyResponseHeaders are populated appropriately, and if there are no headers in the request, the system will not try to remove the trailing comma that would have been introduced in the oLog message. | Data Integration |
INC-152057 | 621210 | S3 attachment migration handles LInk-Attachment with multiple instances | After S3 attachment migration, some attachments were intermittently not opening and displaying an error relating to being unable to load the file. Investigation showed that the attachments that failed to open did not have a pxStorageType tag in the XML of the work item. After the migration is done, the corresponding Data-WorkAttach-File and Link-Attachment instances are updated to point them to the repository. In this case, multiple LInk-Attachment instances were pointing to the same Data-WorkAttach-File instances, so only one Link-Attachment was updated and all of the other instances pointing to the same Data-WorkAttach-File instance were rendered unusable. While there was a workaround of manually updating the storage type in the database, this has been resolved by updating "pzgetattachmentcontent","pzupdatesourcereferences", and "pzuploadcontenttoexternalstorage" to check whether attachment is already migrated or not using the boolean parameter "isAttachmentAlreadyMigrated" to ensure all of the other Link-Attachment instances for a particular attachment are updated. If a migration was done and all Data-WorkAttach-File instances are pointing to a repository with some Link-Attachment instances not updated, those will be updated by running the migration again. | Data Integration |
INC-149517 | 609476 | Secure access for Activities | Authentication requirements have been added to Standard activities. | Data Integration |
INC-150151 | 613414 | Stream REST endpoint CORS support added | CORS support has been added to the Stream REST endpoint. If a request contains an "Origin" header, the "Access-Control-Allow-Origin" header with the origin value (*.companyname.com) will be added to the response for Stream tier (/stream/view & /stream/click) calls. | Data Integration |
Decision Management
8.5.3 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-151421 | 614596 | Adaptive Model Save-as works With Predictor Type | A predictor change which was accounted for in a previous adaptive model rule version did not work on future save-as. This was traced to a missed use case that when the value 'pyPrevPredTransformation' is empty, validation on that is unnecessary. This has been resolved by adding an 'if' condition in the validation activity. | Decision Management |
INC-157194 | 620153 | CheckRevisionDeployment requires authentication | Authentication has been added to the CheckRevisionDeployment service package. | Decision Management |
INC-158686 | 628554 | DSS added to create consistent handling of longform datetime | After upgrade, a difference in handling related to datetime value was seen. For example, EmailSchedRunEndDate is a date type property holding the value "20201016T000000.000 GMT"; in Pega v7.4, a substring function was used to move the extra characters from the date field ex. EmailSchedRunStartDate = @substring(.EmailSchedRunStartDate,0,8), but in Pega v8.4 and higher the long datetime value ( "20201016T000000.000 GMT") was still being used for the date field. This long value was then truncated to 2020101+ when saving to the database, causing errors in later steps. However, research found that if there is a call @toDate function before this step for any other field, the correct date value was set for EmailSchedRunStartDate. While ClipboardPages separate Dates and DateTimes, internally, in Java, both have a time component. The implementation of DSMClipboardPage made no difference for serialization and appended the time component for pure Date properties. To create consistent handling, an update has been made to optionally set the correct behavior after setting the Dynamic System Setting by way of "Pega-DecisionEngine dsm/clipboard/correctDateFormat -> true". This setting would only take effect after a restart of Pega, and the default is false in order to not disrupt any application inadvertently relying on this behavior. | Decision Management |
INC-153223 | 613705 | DSS added to set Cassandra query page size limit | When a site with a large number of nodes captured responses to the commit log, it was possible for nodes run out of heap space and cause system instability. This was due to the Cassandra query not having a specified page size, so the cluster-wide default setting of 5000 created an issue for large sites which could have over 150 nodes capturing responses. This has been resolved by specifying the page size on the Cassandra query that used to read responses from the commit log. This value will be set dynamically with a DSS to not read more than n responses from all shards combined in a single batch. | Decision Management |
INC-151037 | 609626 | Enhanced ADM diagnostic logging | Diagnostic logging enhancements have been added in order to better identify issues related to ADM models not being created or where learning is impacted. | Decision Management |
INC-154128 | 614297 | High thread contention in StrategySSAProgram resolved | While Running inbound campaigns during peak times, high contention was observed around "threadSafeWrite" and "threadSafeRead". To resolve this and improve performance, the code around handling write locks has been updated. | Decision Management |
INC-160277 | 628160 | Implementation updated to ensure consistent compareDatesByDays results | When using compareDatesByDays in a filter shape within a strategy, the results of the expression were different between the expression test and the strategy test run. This was traced to a difference in handling that became visible after upgrade; giving a negative number for the numberOfDays parameter worked differently in v7.4 than in v8.4. The SSA implementation of compareDatesByDays always worked with the absolute difference in days between dates, whereas the Java function in Pega used in expressions did not, and would compare negative differences as well. To restore the expected behavior, the SSA implementation has been adjusted to not work with absolute differences, and tests have been added to ensure equal results for the Java function in Pega and the SSA implementation. | Decision Management |
INC-155822 | 618269 | Locking added to avoid Null Pointer Exception for auto-populate property | After configuring the auto populate property "OrgProduct" which referred to a data page, the system experiencing heavy load led to the property not getting properly initialized. This resulted in a WrongModeException and NullPointerException. To resolve this, the system has been updated to lock the requestor when Queue Processors execute their activity. This will prevent race conditions and concurrent modifications if other threads are accessing the same requestor. | Decision Management |
INC-159332 | 629619 | Logic updated for finding 'Last' in Interaction History | The 'LastReponseDate' and 'LastInteractionId' in the Interaction History summary data set were null. Investigation showed that reusing the ESM component in the aggregation dataset caused any assumptions made during the optimization of ESM to not be true anymore. To resolve this, the logic of the Last aggregation has been modified to not rely on a Last event which might not be stored in-state (such as optimization), but rather to use the list of events which is always stored. | Decision Management |
INC-155908 | 625218 | Logic updated for handling future events in strategy tests | After upgrade, there was an unexpected exception "EventStrategy error in SerializeUtil: Integer too large to read, Size:48" while retrieving the final BBK aggregate results during strategy tests with several different pre-existing customerIDs, and no results were returned. When aggregations are read, there is a check to make sure the system does not return empty records. The logic for determining whether there is empty data in the record was mistakenly reading the event count from the wrong bytes which were part of a date for 2023. This was due to the second byte of the year date in hex being interpreted as the start of the event count. As a workaround, results are returned if no pxOutcomeTime dates in the database are more than a year in advance along with all aggregate datasets being recreated on production immediately after upgrade from v8.1 to v8.5. To resolve this issue going forward, the logic has been updated to handle the errors, and future records will trigger a warning in the log with information such as "Event time greater than current time in clipboard page. Event Time = Mon Mar 10 14:46:27 UTC 2025, Current Time = Tue Feb 09 14:18:49 UTC 2021. Ignoring event...". | Decision Management |
INC-150873 | 612897 | Performance improvement for saving ADM model rule | Saving an ADM model rule generated a heap dump. The stack trace from the heap dump showed a thread consuming the maximum memory (4.7 GB of memory). Configurations on all factories are updated when a model rule is saved, but at the time of development it was not expected that there would be a lot of factories in a Dev environment so the system was loading all existing factories simultaneously into memory and updating configurations on them. To improve performance, an update has been made which will now sequentially load factories and update the configuration. | Decision Management |
INC-157097 | 619996 | REGEX In Expression Builder matches runtime values | An expression builder statement was evaluating differently at runtime vs at testing. This was traced to a difference in escape character handling between old legacy code and the new strategy runtime engine, and has been resolved by ensuring the strategy runtime engine is supporting escape character use cases. | Decision Management |
INC-160887 | 629272 | Resolved strategy optimization exception | After upgrade from v8.2 to v8.5, Customer Decision Hub strategy failures were seen in the data join used with a datapage/page list to fetch some results. Errors appeared in the logs and UI. The exception indicated that the Strategy Parser for the new execution engine (SSA) was not able to parse and inline the used expression. Normally this exception would be caught in subsequent processing and the component where the exception is used would fall back to legacy so as to not affect the runtime behavior, but this scenario triggered a corner case inside the parsing logic for Data Join and Exclusion shape which caused the exception and stopped the process. To work around this issue, the Data Join configuration can be split into two shapes: create a new Data Import shape to only import the Page list, e.g. 'Page.pxResults', then on the original Data Join component, instead of joining the 'Page.pxResults', join with the new Data Import shape. This issue has been resolved by catching the exception when compiling the Data Join component and properly falling back to the Data Join shape. | Decision Management |
INC-154746 INC-158320 |
613407 624414 |
Support added for multi-level simulation | Enhancements have been made to support Adaptive Models in Muti-level decision strategies. | Decision Management |
INC-143121 | 610735 | Timeout for loading predictors made configurable | When using an extremely large number of predictors, the Report definition pzADMPredictorsFilter was suffering timeouts due to the time for loading predictors from the database exceeding the time threshold allowed. This has been resolved by marking the rule as editable to allow custom setting of the threshold according to need. | Decision Management |
INC-150395 | 625070 | Tokenizer updated to handle commas | The Text Analyzer was not working as expected in cases where the number was combined with a comma (,) with it but was working when a space was used between the number and the comma. This was traced to the tokenizer not correctly processing and splitting the input text when there was a special character before or after the token. This has been resolved by updating the tokenizer logic. | Decision Management |
INC-158813 | 629486 | Updated report handling for simulations using database output | When running a simulation with a database table as the output destination, the pxObjClass property was not populating with a value in the results. This caused sub-reports to not be populated with data. Investigation showed that issue happened when the simulation output destination database table was inferred as an external table due to not having an exposed column for pzinskey. To resolve this, the pxObjClass and pxCreateDateTime properties, which were added to simulation output destination tables for compatibility with Report browser, will not be added to those tables when they are created. Instead, to address compatibility issues of simulation output destination classes with Report browse in the Customer Decision Hub, the pyDefaultSummaryReport has been brought up into the Data-Decision-StrategyExecution-ResultOutput class from the @baseclass. | Decision Management |
Low-Code Application Development
8.5.3 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-155401 | 630448 | Circumstance Definition rules save correctly | After upgrade, attempting to save any circumstance definition that used multiple "or" conditions consistently failed during conflict detection. This was an inadvertent side effect of work done to resolve an out of memory error and has been resolved by modifying the Rule-Declare-!testConsistency java step: "int numRows = numOrs;" to"int numRows = numSubRows;". |
Low-code app development |
INC-148853 | 609319 | Corrected password comparison handling for CopyMerge Ruleset Wizard | When running the CopyMerge Ruleset Wizard, entering the password failed with the error "pyPassword: Invalid Password for" Temp:01-01-01 for each ruleset. Investigation showed that the system was calling an activity which encrypted the user input, causing the comparison with the stored password of the system to fail the match. This has been resolved by removing the extra encryption so the call to the comparison evaluates correctly. | Low-code app development |
INC-153697 | 625984 | Dragon successfully navigates to user profile icon | Attempting to navigate to the user profile icon when using Dragon software was not working. This is an issue with how Dragon interacts with the "< I >" element operator icon, and has been resolved by replacing "< i >" with a button and appropriate aria label. | Low-code app development |
INC-151669 | 618041 | Formulas corrected for GenerateExcelFile | After upgrade, using pxGenerateExcelFile to generate an Excel file resulted in some formulas and values not displaying. This scenario used an Excel template with two tabs - one showing direct page values and the second displaying the calculated values of first sheet. In the exported file, the formula was not getting evaluated unless and until the cell was activated with the enter key. This is a known limitation, and a temporary solution has been made here to add parameters that force the formula evaluations on the saved Excel document when editing is turned on. A more complete solution will be included in the next patch release. | Low-code app development |
INC-151662 | 626578 | Handling added for application which includes production ruleset | When creating the Email channel or Webchat channel, the Text Analyzer and its respective class (Data-Decision-Request-MCP-WebChat-xxxxx) was being saved in the ruleset of the built-on application while there were rulesets open in the top application. This was a missed use case, and has been resolved by updating the logic to account for the scenario where an application includes a production ruleset. |
Low-code app development |
INC-159238 | 624304 | Handling added for identical property and page names in test case recording | When trying to record a test case, the error "WrongModeException: The property PostProsSnapOfWorkpage.Name was of mode String while com.pega.pegarules.data.internal.clipboard.ClipboardPropertyImpl.getPageValue() was expecting Page mode" was generated. This was an edge case caused by property and page names being the same on the "PostProsSanpOfWorkPage" page, and has been resolved by accessing the page with the full path so it has the proper prefix. | Low-code app development |
INC-160446 | 627381 | Updated Time Zone dropdown control | The RF_Timezonelist control was deprecated in Pega v8.4 and withdrawn in Pega v8.5 and a replacement datapage was provided to give the same list of time zones. Unfortunately, some references were not corrected to point to the replacement, causing an issue with custom functions that were attempting to set the time zone on an OperatorID calendar instance in order to calculate goal and deadline properties before setting the SLA. The work has been reviewed and updated to ensure all referencing rules are now correctly replacing the RF_Timezonelist with a dropdown sourcing the data page. | Low-code app development |
INC-160437 | 629646 | Upgrade compatibility enhanced for Pega-ConditionBuilder ruleset | In Pega v8.2.5, the Pega-ConditionBuilder ruleset was added as part of the PegaMarketing application. When these enhancements were promoted to a platform ruleset beginning with Pega v8.4, the function names were modified with PZ/PX prefixes due to the corresponding validation standards in place for rules created in platform rulesets. Unfortunately, this introduced an upgrade impact. Due to the function name change, strategies failed when attempting to evaluate the functions configured in the filter component. Eg: @string.ContainsIgnoreCase function is part of the Pega-ConditionBuilder ruleset, which was not available. To resolve this, the following function aliases have been created in this release: ContainsIgnoreCase StartsWithIgnoreCase EndsWithIgnoreCase CompareDateTimeToSymbolicDate |
Low-code app development |
Mobile
8.5.3 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-148392 | 610670 | File type handling added for cloud downloads on mobile app | When using the Pega cloud storage repository (Application -> Integration -> Content Storage) with the mobile app, it was possible to upload attachments but re-downloading the attachments failed. Investigation showed that this was due to the content-type appearing as application/* so the file type was not able to be identified. This was a missed use-case for returnFileForDownload(), and has been resolved. | Mobile |
INC-155214 | 617006 | GetBinaryFilesRef updated for resolving wildcard | After upgrading from 8.2 to 8.4, errors related to "Unable to serve file java.lang.IllegalArgumentException: Illegal characters detected in the path" appeared numerous times during full syncs, either on first time login or after cache clear. This was traced to normalizeRelativePath failing, and was caused by a resource declaration in pzGetBinaryFilesRef that encountered an issue where wilcarded URLs were not automatically resolved while packaging Static resources. This has been resolved. | Mobile |
INC-151998 | 616320 | Handling added for comma value in FusionCharts XML | After creating a Summary Report through the report browser and adding that report to the Dashboard, clicking on the report to drill down generated the error "Can't open the rule with the specified keys". Investigation showed that if a category or series in a Report Definition chart contained a comma, the drilldown would not work because of an incorrect pyclassname being passed. This was traced to the use of XML to configure the chart: the FusionCharts third-party library parses the link XML incorrectly and splits JS arguments at any comma. This was a missed use case for having a comma in the name, and has been resolved by adding encoding for the comma value in pzMultiSeriesData FusionCharts XML rule. Then this will be decoded in the drilldown JS APIs pzPega_chart_legacydrilldown and pega_report_summary. | Mobile |
INC-155752 | 622772 | Hidden Question pages and answers will be saved to database | After a question page was shown and some values were entered, going back to the question and reverting an option caused the question page to not be visible, but the answer values persisted in the clipboard and were eventually saved into the database. This was a missed use case for Question page smart shapes, and has been resolved by updating the pzSetQuestionPageParams data transform so that whenever a question page is evaluated to either to show/hide, when the question page visibility is set to false and the pyClearAnswerValuesWhenQPHidden 'when' rule is overridden, the corresponding values will be wiped from the clipboard and only the required values will be saved to the database. However, please note this is not supported for branching logic and visibility conditions should be used instead. | Mobile |
INC-151446 | 614448 | HTML tags removed for Survey Question tooltips | After upgrade from v7.1 to v8.4, question rules with rich text along with styles and answer mode as dropdown were not loading in the survey UI and the error " Exception Occurred in Rule-HTML-Section for question QuestionName" was generated. This was traced to the use of HTML tags in the "pytooltip" property. To resolve this, HTML tags will be removed using a regex and the property will be correctly handled from there. | Mobile |
INC-153805 | 627969 | Mobile app language remains consistent after data sync | When using a Field Service Mobile App where the locale of all workers was set to nl_NL, the UI was intermittently flipping from NL to EN and and back again. This was traced to the locale of the requestor (field worker) being lost during synchronization of the mobile app data to the server, causing the UI to fall back to the default value of EN. This has been resolved by ensuring the requestor always uses the chosen locale for the operator. | Mobile |
INC-157596 | 624124 | Mobile channel upgrade wizard correctly initiated | After upgrade, the offline mobile app was not loading the correct portal. This was traced to missing properties needed to launch the upgrade wizard for channels upgrading from a previous release to v8.5, and has been resolved by setting those properties in upgrade activities. | Mobile |
INC-158468 | 626380 | RecordFieldValuesList page cleared | Investigation o0f web node crashes traced the issue to a condition where the RecordFieldValuesList page was not cleared. This has been resolved. | Mobile |
INC-150578 | 607477 | RTE control handling updated for survey display text | After upgrade, Display text in the survey was missing for the question rules which used Rich Text Editor control. This has been resolved by updating the system to copy DisplayText and QuestionText into DisplayTextWrapper. | Mobile |
INC-154290 | 613473 | Signature capture exception resolved | The signature capture control was throwing a JSON parse exception when the value was set and section was refreshed. This was caused by the signature for PIMC passing incorrect data which Preview could not parse, and has been resolved by ensuring the correct data for PIMC local store. | Mobile |
INC-157317 | 620573 | Signature Capture supported in RDL | An enhancement has been added which supports using Signature Capture on forms in repeating dynamic layouts. | Mobile |
INC-150762 | 609548 | Support added for Android mobile app with _ in AppId | Login on Android devices was not working for a non-offline mobile app built with with Pega and PIMC 8.5.204. This was traced to the use of an underscore in the AppID. PIMC launches authentication in a custom tab which is fully isolated from the mobile application; after providing valid credentials, the mobile client gets notified by meta-tag "refresh", which contains a redirect uri with authentication code & state. According to RFC 3986 the scheme should not contain underscore "_" character, so the Google Chrome custom tab was not respecting redirect uris with an underscore. To resolve this, underscore will be allowed in Certificates > Add certificate set, but the system will replace all underscores with hyphens during handling. |
Mobile |
INC-143036 | 599190 | SurveyPage loads when ruleset is locked | When the ruleset containing the survey rules was locked D_pzSurveyPage did not load and errors were generated. Investigation showed that if the flow was in a locked version, the PopulateShapeNodesFromFlowData activity did not call EvaluateConnectorState, causing the mapping of the transitions for connectors to fail in the activity MapBranchShapeConnectors. This has been resolved. | Mobile |
INC-153423 | 615667 | Timing update for Signature Capture Control | A signature could be lost when using the signature capture control if a signature was drawn then the Accept and Submit links were clicked in quick succession. The problem occurred more frequently (although was not limited to) when there were multiple signature capture controls on the screen. This issue was due to transaction mismatch error for few pzAttachSignatureWrapper requests (signature post requests) caused by triggering the next accept request before completing the previous accept request. To resolve this, an update has been made to display busy indicator immediately when the first accept button is clicked. | Mobile |
INC-153133 | 612728 | Updated encryption and decryption handling for non-auto control | After encrypting the pyMessage from PegaSocial-Message, the message was displayed in Pulse in the encrypted form. This was caused by a difference in handling between auto and non-auto controls, where the decryption was only handled automatically in the auto controls. To resolve this, explicit encryption and decryption handling has been added to the non-auto control. | Mobile |
INC-156211 | 620193 | Verbose comments removed from wrapper | Comments with references to external links have been removed from some harness wrappers. | Mobile |
Project Delivery
8.5.3 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-143925 | 597289 | Documentation update to alternate URL for mobile build | The documentation located at https://community.pega.com/knowledgebase/articles/mobile/85/setting-alt… has been updated to reflect current information and instructions for setting an alternative host. | Project Delivery |
Reporting
8.5.3 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-153692 | 620244 | Added accessibility to Report view context menu | When on the My Reports screen and a Summary report is selected, the Report Viewer displays a Summarized Reports table with a column header that opens a command menu upon right-click of the mouse. This functionality is enabled in the Report Definition rule by selecting the checkbox Enable column command menu under the Report Viewer tab. Although keyboard users can open the menu via Shift+F10, keyboard users who cannot see the screen were not informed that this functionality is available as the screen reader did not announce this. This has been resolved. | Reporting |
INC-147844 | 612899 | Check added for type of value in scheduling adaptive reports | When scheduling the pyAdaptiveModelsOverview, pyAdaptiveModelsPredictorOverview and pyModelsActivePredictorsOverview reports, the error "atest.Snapshot_Time is not a valid date/time value" was occuring in step 1 of the pzRDExportWrapper activity. The reports worked as expected when run standalone; the failure only occurred when running from scheduled tasks. Investigation showed that the system was trying to parse a property reference as a datetime, and the failure and error caused the report scheduler to refuse to send the generated report. This has been resolved by adding logic to ReportFilter.java to check if the value is a property reference before attempting to parse it as a datetime value. | Reporting |
INC-150193 | 613916 | Corrected page counts for 'save-as' reports | The total pages count and last page icon were not displaying when the Preview button was clicked after a save-as of a report in the Report Browser. Investigation tracked this to a visible when condition on those fields that was being changed to the default of false during the save-as, and this has been resolved. | Reporting |
INC-151102 | 615016 | Cross-Site Scripting update | Cross-Site Scripting filtering has been added to Shortcut Handle. | Reporting |
INC-151568 | 610222 | Handling added for comma value in FusionCharts XML | After creating a Summary Report through the report browser and adding that report to the Dashboard, clicking on the report to drill down generated the error "Can't open the rule with the specified keys". Investigation showed that if a category or series in a Report Definition chart contained a comma, the drilldown would not work because of an incorrect pyclassname being passed. This was traced to the use of XML to configure the chart: the FusionCharts third-party library parses the link XML incorrectly and splits JS arguments at any comma. This was a missed use case for having a comma in the name, and has been resolved by adding encoding for the comma value in pzMultiSeriesData FusionCharts XML rule. Then this will be decoded in the drilldown JS APIs pzPega_chart_legacydrilldown and pega_report_summary. | Reporting |
INC-152108 | 622372 | Logic updated for exporting customized multi-column report definition | While attempting to perform an export to Excel for the results of a report definition which had two custom functions for two columns, the error "PRRuntimeException: Section 'pzRDExportWrapper' execution error on page '' of class 'Rule-Obj-Report-Definition'. : The Reference .pyTextValue(2) is not valid. " was logged. The export worked if either one of the columns was removed or if "Display values across columns" in the column settings was unchecked. This has been resolved by updating the logic in PivotTableDataGridGenerator for rowheaders to handle using DisplayValuesacrossColumns with FunctionAliases when not checked on in sequence. | Reporting |
INC-151185 | 618730 | OptimizeForLargeResults flag set in BasicListSpecification to avoid OOM | As soon as dedicated indexing started for a data type, the JVM heap occupation went beyond 99 and eventually caused a system crash due to an out of memory error. This was traced to the use of the BasicListSpecification API for retrieving results from the database always having the autocommit mode on, which loaded all instances for indexing into memory and interfered with PostgreSQL's cursors (query encapsulation). This has been resolved by adding an OptimizeForLargeResults flag that will be set to on in the BasicListSpecification activity before fetching the keys from the database. | Reporting |
INC-149143 | 613143 | Report category error messages made accessible | In order to improve accessibility while creating new reports, labels have been added to the error messages on the category name field. | Reporting |
INC-159399 | 626768 | Report styles color contrast enhanced for accessibility | In order to improve accessibility, pzReportBrowserStyles has been updated to change the report creation info color to #00000 to enhance the contrast. | Reporting |
INC-152800 | 611750 | Reports filtering made accessible | In order to ensure accessibility, titles and helper texts have been added to the text fields and checkboxes that appear in the Edit Filter non-modal window after a 'Filtered By' value is selected on the My Reports page. | Reporting |
INC-160825 | 629370 | Search landing page performance improved | Performance improvements have been made for the Pega Platform search landing page by implementing timeouts for all requests to ElasticSearch when executing PegaIndexAdminImpl.getIndicesInfo() and changing all requests for single index to requests for all indexes. In addition, SearchUtils.areDummyDocumentsPresent() has been modified to get all 'dummy documents' in case there are duplicate dummy documents in the ElasticSearch indexes. | Reporting |
INC-157974 | 621965 | Summary Report collapsible sections made accessible | In order to improve accessibility, the rules 'RRDataSummaryGeneration' and 'pzDisplayGroupNodeVertical' have been updated so the clickable expand icons in summary reports will append the value of the current group when setting the text "Click to expand or collapse". This will allow JAWS to uniquely identify exactly what will be expanded or collapsed. | Reporting |
INC-158874 | 625385 | Zero value parameter handling added to Trend Reporting | After converting the Summary Views to a Report Definition, the Chart reporting functionality was not working in the Report Definition drill-down reports; whole records present were being fetched instead of only the graph chart count. Investigation showed that one of the parameters in the FilterBy was missing, and that pxSLAAgeTimeliness used 0 instead of null, causing the system to consider all records. This has been resolved by modifying the pega_report_Summary.js file and the pxSLAAgeTimeliness FunctionAlias to handle the 0 value and ensure all parameters are present. | Reporting |
Security
8.5.3 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-156128 | 620484 | Added mail/telephone link to allowed CSP child frame | After upgrade from v8.3 to v8.5, clicking on the mail / telephone link in the out of the box case participants gadget generated the Content Security Policy error "This content is blocked. Contact the site owner to fix the issue." Examination of the browser dev-tools console indicated the object refused to frame because it violated the Content Security Policy directive: "frame-src *". This behavior was specific to the Google Chrome browser, and has been resolved by adding code so the mailto: and tel: will be added to the frame-src when Data is selected under Child Frame-Source option. Unchecking the Data checkbox for Child Frame-Source on the policy landing page will remove these from allowed actions under CSP. | Security |
INC-153957 | 615290 | Cache key handling updated for OAuth2 Connect-REST | After upgrade, a Connect-REST using OAuth2 credentials was failing with HTTP response code 403 when the Connect-REST was invoked by the agent, but the Connect-REST was successfully invoked from web node with the same Auth profile. OAuth2 tokens are stored in the cache and database. In this specific environment the key formation was happening differently on the utility node for batch processes, causing different keys to be formed for the same token. This has been resolved by adding a provider filter and updating the cache key. | Security |
INC-150317 | 625883 | Certificate updates handled across nodes | An SSL handshake exception was occurring when running a Connect-REST call automatically from the flow as a background process on a background processing node. The same Connect-REST worked fine when run manually. The exception detailed the issue as "SSLHandshakeException: java.security.cert.CertificateException: None of the TrustManagers allowed for trust of the SSL certificate(s) provided by the remote server to which this client attempted a connection." This was traced to a pulse change scenario where the reloading of the certificates was not happening on all the nodes after adding a new certificate or deleting a certificate. This has ben resolved by adding the DATA-ADMIN-SECURITY-CERTIFICATE class into the UpdatesCacheUtils.java class. | Security |
INC-154311 | 615684 | Decryption updated for External assignment routed with DWA | When an external assignment was routed to a user using DWA, the user was able to access the assignment but received the error "There has been an issue; please consult your system administrator" when submitting. Investigation showed this was caused by the system attempting to decrypt the External assignment with the requestor level key, causing the decryption to fail with a NumberFormatException. To resolve this, the system will check if the obfuscated string starts with Global encryption key prefix and then decrypt with the global encryption key by trimming out the prefix. | Security |
INC-160024 | 625832 | Deprecated authentication methods removed | After upgrade, attempting to trigger the Pega hosted API externally through Post Man resulted in the exception "The method getAuthenticationService() is undefined for the type OAuth2AccessTokenValidation". This was traced to the use of references to the methods getAuthenticationService() and getAuthenticationServiceType(), which are not in use from v8.5 onwards in pzOAuth2AuthenticationActivity and have now been removed. For OAuth2 authentication, the service package should use authentication type as OAuth2; the system will then take care of validating the token and establishing the operator context. | Security |
INC-156647 | 626295 | Improved disconnected requestor cleanup for FieldService | A large number of requestors from FieldService with the status as 'Disconnected' were accumulating and causing performance issues. This was traced to the requestors not getting passivated due to users not logging out and new requestors being created for the same users next time, and was caused by the value of the DSS Initialization/PersistRequestor being set as "OnTimeout". When the DSS prconfig/timeout/browser/default is not configured, the default browser requestor timeout is 60 minutes. In this scenario, requestors were not passivating as the requestor passivation timeout was set to the refresh token lifetime for mobile users, which was very large and overwrote the DSS value. This has been resolved by removing the code which set the passivation timeout to the OAuth2 refresh token lifetime. | Security |
INC-155276 | 626619 | Null check added for step page | After creating and adding new Access Roles and application 'Access When' to the privileges instead of Production level, during run time the error "runtime.IndeterminateConditionalException: Trying to evaluate Rule-Access-When conditions L:IsProdAccess when there is no page to evaluate them against" appeared for the specific privileges. This was traced to a missed use case where the system falls back to the step page if the page for evaluating the 'when' condition is null, which did not account for scenarios where the step page can be null. To resolve this, a null check has been added which will fetch the primary page if the step page for the access 'when' condition is null. | Security |
INC-154627 | 619571 | Re-enabled users are able to log in | When disabled operators were re-enabled through operator management, the forced password change on next login was manually unchecked but the operators were unable to login because the change password screen was displayed without any password entry fields. This was a missed use case for handling the change password flag on a requestor , and has been resolved by having the system skip setting the change password on next login flag for disabled users. | Security |
INC-155813 | 629506 | SAML SSO redirects to correct URL when application and authentication aliases match | Whenever there was a match in the authentication service alias and the application alias, the application alias was replaced with empty after logoff instead of making the authentication service alias empty. For example, given an authentication service with the alias XYZ ("login with XYZ" alias option) and an application name XYZMyOps, the application alias was being changed from XYZMyOps to appMyOps after logoff. As a result, a blue screen error resulted when clicking on button "login with XYZ" again because it redirected to appMyOps, which didn't exist. This has been resolved by removing authservicealias and modifying AuthServiceAliasHelper.adjustPathIfAuthServiceAliasPresent() to change the method for calculating the pathinfo to string tokenizing | Security |
System Administration
8.5.3 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-144555 | 603069 | Changelog cleanup added for de-optimized properties | Unwanted optimization was automatically added to properties for the Application-Work-Casetype class created using the wizard in the App Studio. Attempts to remove the optimization did not work: the property advance tab was showing the optimized classes details even after deleting and recreating the property. When a property is optimized the system adds entries to pr_changelog for the list of classes it has optimized. When the property was deleted, the pr_changelog was not cleared. This was a missed usecase, and has been resolved by overriding the Cleanup activity at Rule-Obj-Property class to delete the pr_changelog entry associated with that if it is present. | System Administration |
INC-153138 | 625569 | Database primary keys generated as NONCLUSTERED for imports | When a primary key was defined for a table and the table was exported and then imported, the primary key was generated as CLUSTERED. This resulted in an MS SQL Cluster Index violation because all Pega-shipped tables generated during installs/upgrades have a PK constraint index with NONCLUSTERED index type as it allows for a longer key. This was a missed use case, and has been resolved by updating the system such that when importing with MS SQL database, the primary key index is made NONCLUSTERED all the time so it will be consistent with the base platform. | System Administration |
INC-157196 | 629298 | Deprecated service package features now require authentication | Authentication has been added to deprecated features of the standard service package to improve security. If issues are encountered during product migration, please use the Deployment Manager. | System Administration |
INC-158519 | 625080 | Filter considers all instances pages during deployment | During package deployment, attempting to use Filter to skip some of the instances only displayed the result of the current active page instead of all pages. This was an unintended consequence of previous work, and has been resolved by adding the logic to strip quotes in the value and adding the "Pagination activity manages filtering" checkbox by default. | System Administration |
INC-155592 | 621988 | httpclients library upgraded | Package import/export was not working using prpcserviceutils, and a SSLPeerUnverifiedException" error was seen. This was traced to an issue with the third party library httpclients v4.5.9, and has been resolved by upgrading to httpclients v4.5.13. | System Administration |
INC-160288 | 626068 | Kerberos handling updated for database remap | After upgrade from Pega v7.2 to Pega v8.4, using Kerberos authentication was failing during the remap task. Investigation showed that null username and password values were being passed to SchemaAssignmentUtility along with the flags as arguments, causing the utility to misinterpret the arguments. As arguments should be populated only when flags and values are available and not null, an update has been made which will set the username and password flags only if they are not null in the Remap database tables target. | System Administration |
INC-154042 | 621260 | Pega Catalog custom upload control modified | Attempting to upload a catalog.zip file caused the system to hang and thread dumps were seen in the logs. Investigation traced the issue to the custom control used to upload the catalog, which was posting the entire content in form data rather than sending a multi-part request. The control contained both legacy code which used form.submit() and encoding along with new code that used SafeURL and sent an async request. With this, encoding could not be set to multi-part in case of an AJAX request. To resolve this, the catalog upload control has been modified to use the appropriate legacy code that performs form.submit() and sets the encoding properly. | System Administration |
INC-155789 | 622546 | Third-party libraries upgraded | The following third-party jar files have been updated to the most recent versions: ant: v1.10.9 httpclient: v4.5.13 xercesImpl: v2.12.1 |
System Administration |
User Experience
8.5.3 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-139086 | 597146 | "Show next error" correctly displayed on user portal | In the Case Worker user portal, the Show Next Error link was not shown when the layout group had a validate rule in the flow action. The same configuration worked as expected in Case Manager. This was a missed use case, and has been resolved. | User Experience |
INC-160497 | 627715 | Able to add missing headers from App Studio | A missing header in pyActionArea and pyActionAreaheader could not be added from App Studio. This was due to the sections not being built using design templates, and has been resolved by updating the section to be editable in runtime. | User Experience |
INC-156094 | 621064 | Access control updated for non-auto-generated finishAssignment | After upgrade, a flow containing a flow action that called an out of the box HTML rule was triggering a SECU0019 alert and blocking functionality. This was a missed use case for BAC where all non-auto generated rule actions should be registered, and has been resolved by registering finishAssignment. | User Experience |
INC-161430 | 627721 | Accessibility Component/Widget role added to pyCaseErrorSection | Page level errors were not accessible due to the error section being wrapped inside a dynamic layout whose contents were not readable. This has been resolved by updating dynamic layouts to use the correct accessibility roles. | User Experience |
INC-155319 | 616476 | Action Set Dialog features displayed correctly in App Studio Design with Firefox | When using the App Studio Design mode to edit controls and elements within section at runtime (Open Case Type in App Studio -> Save and run) and selecting a control in Design mode that has any action set configured on it, upon opening the action set clicking the “Add an action” link element the dialog box which appeared cut off. This was traced to an issue where Overlay was not flipped in Firefox v83.0 when the client.right value exceeded the main container width, and has been resolved by adding a condition for Firefox to use the correct client.right value as per the main container. | User Experience |
INC-157737 | 625691 | Added ability to support multiple domains for users | Previously, the DSS setting MultiTenant/CrossTenant/DomainName supported just a single domain. In order to support multiple domains for internal and external users, an enhancement has been added to pzSetCrossTenantDomain which will allow reading the domain value from pxRequestor.pxReqServer instead of from the DSS setting. | User Experience |
INC-151050 | 610679 | Added check for empty string to custom Timeline Date Range | When using the Timeline control and selecting Date Range as a custom value, the loading icon (busy indicator) showed continuously on the screen and no other operations were possible. Selecting any Date Range other than the custom field value worked as expected. Investigation showed that the Timeline control was not working when the Date Range value was empty, which in this case was traced to a value being entered at design time and then cleared. In timeline options, the Date Range end option was checking for the value being undefined and did not consider the empty string (""); this has been resolved by adding a condition to check if the Date Range option end is an empty string. | User Experience |
INC-153108 | 614360 | Added check to maintain disabled textarea 'when' | The disabled text field became editable when the "Run required condition on client" checkbox was enabled. This has been resolved by adding a check for pyDisabled property to get the correct status for textarea control. | User Experience |
INC-143363 | 604363 | Added handling for maintaining on-change event descriptor | The multiselect control was not reliably posting the values to the configured page list property if the change actions were performed very quickly. Multiselect calls triggerCustomEvents, which handles the schedule for an event: when change actions are entered in a paced way they are not added to a queue, but when performing on-change very fast events are added to a queue and processed later. In this case, the queuing caused the correct event descriptor to be lost because the original event flows were not followed. This has been resolved by adding custom handling which will maintain the event descriptor. | User Experience |
INC-152283 | 626400 | Added handling for switching table context in a section | After configuring multiple tables in a section with row-editing on master-detail, opening the detail section of one of the tables and clicking inside it and then trying to open the details of another table generated the error "Can not render section'. The section would render correctly if the browser was refreshed. Investigation showed this was due to the new section opening in the wrong context, and the system has been updated to support this use case. | User Experience |
INC-154977 | 622803 | Added hidden field validation for offline app | An enhancement has been added to handle the usecase of offline apps needing to validate hidden fields. This will be handled through the new flag "pega.u.d.validateHiddenFieldsInOffline". | User Experience |
INC-162692 | 629637 | Added primary portal navigation role | While in the User portal, Accessibility inspector displayed the warning "Primary Portal navigation may be missing a navigation role." This role has now been added to pzPortalNavigation. | User Experience |
INC-151418 | 610230 | Authentication updated for legacy activities | Authentication updates have been made for several legacy activities invoked via URL by custom HTML. | User Experience |
INC-157957 | 624208 | Autocomplete correctly sets null values in clipboard | When using an autocomplete control with display configuration "In a List", if a property value was null then the value of the property in the clipboard was set as “undefined”. This was due to the pzGetACData activity returning only properties with values and excluding empty properties, causing setProperty to use "undefined" when a property value was not found in the response. To resolve this, a condition has been added to the processAdditionalProperties method to replace an undefined value with an empty string. | User Experience |
INC-154824 | 620922 | Check added for hidden field during validation | When using custom validation for a future date, after certain steps the message "value cannot be blank" was displayed even though there was a value in the date control. This was traced to the validation also being performed on a hidden field, and has been resolved by adding a condition in pega_validators to check for hidden fields when running the validation. | User Experience |
INC-152547 | 619031 | Check added for SPA portal | When using the FlowAction "ToCancel" to proceed to the "Withdrawn" stage, the "Confirm" Harness was not opening in a custom Portal. This was traced to a missing NO_UI configuration for FlowAction, which for SPA portal meant its single page caused doc.submit to repaint the whole window/portal. This has been resolved by adding a check for the SPA case. | User Experience |
INC-153318 | 621364 | Check added to match time zone for Time Picker | Time picker popup was showing minus 5 hours from the actual value in the time input field, though the value was updated correctly in the clipboard. The console error "Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist." was seen. This only happened when using the non-template mode of the Datetime control and configuring it with TimeOfDay property with the combination of Allow text entry as "No" and onchange event as Refresh-Section. The issue was not seen if Allow text entry was "Yes" from the presentation tab or if the event action "Refresh-section" was removed. This was caused by the markup process using the operator time zone to format the value but the default time zone (GMT) for the data-value. This has been resolved by adding a check in non-template mode so the value markup will be generated using defaultTimeZone. | User Experience |
INC-153249 | 614900 | Check box group links and buttons made clickable | After upgrading from v8.4 to v8.5, click actions did not have the same behavior when using the standard template pyCheckboxGroupTemplate section. In v8.4, clicking anywhere in the card body triggered the checkbox, but in v8.5 only clicking on the checkbox itself triggered it. This was due to the CSS for checkbox templates (in the py-design-template-styles CSS rule) being updated, and has been resolved by making the links and buttons clickable. | User Experience |
INC-150325 | 616994 | Child case has correct context when created from smart shape | The Cosmos Summary Panel was not always updating as expected when a child case was created via a smart shape in the current case flow; the new case opened, but the summary panel still showed the details of the previous case. This occurred when using a create case smart shape in a flow where the case is assigned to the current user, and was due to the child case assignment being opened inside the parent context. This has been resolved by ensuring the child case is opened in the correct context. | User Experience |
INC-151401 | 615717 | Context set for progressive scroll load of dynamic layout | When setting pagination as 'Progressively load on scroll' for a repeating dynamic layout in a section with page list as the source, scrolling resulted in a null pointer exception and no further scrolling was possible. The issue was not seen when 'Progressively scroll on user action' was used. Investigation showed the activity Reload Section was failing because of the failure in the pre-processing activity, and this has been resolved by setting the correct context before making the pagination call. | User Experience |
INC-154860 | 626100 | Corrected extra space from harness child elements | After upgrade from v7 to v8, extra space was seen at the bottom of harness content. This was caused by the header and footer heights being included two times while calculating mashup height, and has been resolved by updating the postMashupHeight method to skip including the header and footer height while iterating child elements for harness-content-workarea-view. | User Experience |
INC-152227 | 613671 | Corrected filter icon on hierarchical table | After creating a section with a hierarchical table, filter icons in the header of the table were displayed in the form of a box and as a normal filter icon. This has been resolved. | User Experience |
INC-144572 | 600757 | Corrected mobile tab layout highlighting | When switching between three tabs in a layout group (Other – Mobile Tabs) in a section, the highlight was appearing on the active tab and the inactive tabs. This has been resolved by updating the CSS generation to not consider hover styles for touchable devices. | User Experience |
INC-153602 | 613568 | Corrected visible margin in segmented button format | After a new Segmented Button Format was created from the skin, an unexpected margin was applied between the elements. This has been resolved by updating the selectors for segmented radio buttons. | User Experience |
INC-154205 | 618736 | Corrected wrap text for Cosmos radio buttons | When using Cosmos, radio buttons with large labels were displayed with the text overlapping even when wrap text was enabled and the radio button placement was incorrect. This was traced to a height of 32px being set as the default, overriding the wrap text setting, and has been resolved by adding CSS to set the height as auto when wrap text on radio label is used. | User Experience |
INC-160500 | 627268 | Cosmos App Studio icons have helper text | Enhancements have been made for accessibility by adding Helper text to icons in the Cosmos theme for App Studio. | User Experience |
INC-139739 INC-153550 INC-153783 INC-156625 |
598902 614990 612994 620655 |
Cross-Site Scripting protection update | Cross-Site Scripting protections have been updated for labels. | User Experience |
INC-150222 | 612577 | Custom client-side future date validation works on mobile | After developing a custom client side validation based on documented examples that used jquery to locate two input fields (date pickers) and added an on-change function, the validation worked as expected on the desktop but gave a validation error for any future date when using the mobile app or browser. This was an issue with the name attribute handling on mobile, and has been resolved. | User Experience |
INC-157699 | 624596 | Customer 360 Tabs load in Firefox browser | After upgrade from v8.1 to v8.4, the layout group's tab content was not loading as expected in the customer 360 view when using the Firefox browser. Investigation showed this was due to the “role” attribute being removed from the header div by the on-hover showSmart tip action configured on the dynamic layout tabs. This has been resolved by updating the system to use data-role along with the role tab. | User Experience |
INC-146223 | 604464 | Date column filter shows correct date/time for optimized code | Two issues were seen when filtering a table that had the "Optimize Code" checkbox checked: 1) While filtering the date values in the table, the table showed one day less than the actual date based on time zone differences. When both the operator and server time zones are the same, the issue did not occur. 2) The filter always showed the time value as 00.00 irrespective of the property time stamp value. These were traced to the pyModes being incorrect for embedded properties, which has been resolved. | User Experience |
INC-157795 | 624672 | DateTime dropdown control will retain entry on validation error | For a Date Time control with display mode as dropdownlist, choosing just a month or a day from the dropdown and refreshing the section resulted in an invalid date validation and the field being set to the current date. Choosing the date from the calendar icon or filling in all three drop downs worked as expected. This has been resolved by updating the datetime control so that if a dropdown mode with property as type DATE has a validation error on refresh action, the user-entered data will show in the dropdown instead of the current date/time. | User Experience |
INC-159329 | 627339 | Dirty Check Warnings added for decimal fields | Dirty Check Warnings have now been added for decimal fields by adding the required logic to the isContainerDirty API in pzpega_ui_doc_dirtyhandling js file. | User Experience |
INC-150188 | 613655 | Dirty dialog flag reset added for custom modals | When a discard button in a custom Cosmos modal dirty dialog was clicked, pega.u.d.isDirtyDialogOpen was not reset to false. This caused the modal dialog to not be shown the next time. This has been resolved by modifying pzpega_ui_doc_dirtyhandling to support this dirty handling discard use case. | User Experience |
INC-153643 | 621714 | Dynamic layout group text area correctly rendered as editable for page list type | A text area configured in one section with Edit Options set to 'Auto' had the text area field appear as Read Only at runtime. The section included an embedded sub-section where a Dynamic Layout Group (Tab) was configured with Source set to "Property", and the text area correctly appeared as editable in the wrapper section if the Dynamic Layout Group (Tab) was removed from the sub-section. This was caused by the section content for the dynamic layout group not being handled for page list type, and has been resolved. | User Experience |
INC-147245 INC-151952 |
612868 609340 |
Expand Pane icon responds to enter key when using JAWS | In an Operator ID rule in Dev Studio, pressing the Enter key when focused on an Access Group expand icon caused the focus on the page to move to the top of the Contact Information frame (top left corner of the Frame). The only way to use the enter key to expand the pane without the refocus was to tab to the arrow icon and then tab a second time before pressing enter. This was traced to the expand caret icon being focussed twice due to the tabIndex for both the TD and SPAN elements holding the caret icon: TD had a focus element for accessibility of the grid, and SPAN had it for the expand pane accessibility. This has been resolved by adding a check condition before adding tabIndex to the first cell in the Grid. | User Experience |
INC-157353 | 624011 | Handling added for autoclose of assignment in tabbed MDC | After configuring an Ajax container in a section using tabs and max doc defined as 8 with 'doClose' set after processing has been completed, finishing the assignment caused the work item tab to stop working. Checking the console showed a script error was being thrown. Investigation showed that when the doClose action was triggered and tried to find the activeTabs in MDC, the target element being fired was null. This has been resolved by adding a condition for the doClose to handle the combination of autoclose and tabbed MDC that will close the current Ajax container div before proceeding. | User Experience |
INC-152084 | 620952 | Handling added for cross-origin DOM exceptions | When an openURLWindow action was used to open any other domain, DOM exceptions were generated related to cross-origin iFrames communication and the UI became unresponsive. This has been resolved. | User Experience |
INC-140482 | 594163 | Handling added for last focused element in custom modal | Using Shift-Tab can take the focus out of the modal window when using a custom modal template without the "X" icon in the header. The issue did not happen when using "tab" key press to traverse the modal. This was a missed use case for the last focused element being div and tabindex as 0 combined with using a custom template which doesn't have close button. This has been resolved. | User Experience |
INC-128406 | 578888 | Handling added for radio button with expandpane | When given a radio button to select a row in a table (table with Edit Option as Master-Detail - Expand Pane), the first click on the radio button expanded the row but the radio button was not selected. On clicking again, the radio button was selected. The issue was observed in UI gallery as well, and changing the radio button to a checkbox worked as expected. This was traced to a difference in handling related to event infrastructure changes, and has been resolved by adding a timeout in grid specific code for use when there is a radio button with expandpane grid configuration. | User Experience |
INC-156802 | 620674 | Handling added for special characters for track changes | After entering inverted commas ["] inside a text box configured with post value and 'refresh this section' actions, focusing out of it caused the UI to freeze. A JSON parse issue was seen in the browser console, which was traced to the domelement API not having handling for special characters in the HTML code. This has been resolved. | User Experience |
INC-153163 | 615114 | Header present in timeout modal window | After upgrade, the header was missing in the session timeout modal dialog when using the pzDisplayModalDialog FlowAction with the pzDisplayModalDialog HTML Rule. This was traced to the title value fetched from HTML not being set for use in the onload function of iframe, and has been resolved by ensuring it is handled by the pzDisplayModalDialog HTML rule. | User Experience |
INC-158605 | 628573 | Improved performance for Repeat grid display | After upgrade from Pega v7.2 to Pega v8.4, the Repeat grid was taking significantly longer to display the results. This was traced to changes made relating to BAC security that resulted in pzGridOpenAction trying to open each record to find the relevant pzInsHandle. Because this call is not actually required for Data- items, an update has been made to avoid this and improve performance. | User Experience |
INC-148272 INC-149953 |
609001 613729 |
Increased specificity for collapsed DL | When using the collapsible header functionality of a container skin format, the styling was not being applied correctly to the header. This has been resolved by increasing the specificity for a collapsed dynamic layer. | User Experience |
INC-150555 | 620543 | isDCSPA flag added to ensure correct harness after reload | When moving from a Process Flow to a Screenflow configured with tabbedscreenflow7, the first reload caused a switch to a Perform Harness that resulted in the error "Unable to open an instance using the given inputs", and footer buttons disappeared until multiple refreshes were done. This was an issue specific to the environment configuration at the site, but to avoid future issues a code update has been made that will add the isDCSPA flag if the value is not present in the parameter page. | User Experience |
INC-150872 | 613080 | JAWS reads the tab name and the close icon details seperately | By default, all currently opened Work Objects Close icons have the label "Close Tab", but when moving across tabs while using the JAWS screen reader, reaching a work object tab caused JAWS to read the entire tab header as "S-123 close tab". In order to improve accessibility, aria-labels will be added while setting label to the tab so the header and close icon will be read separately. | User Experience |
INC-154564 | 617348 | JAWS reads the table header and filter options separately | When table headers for a non-optimized table with filter options received focus in Google Chrome, JAWS read the header, sort and filter options all run together. This was due to a difference in the way JAWS reads headers in Chrome from the way it reads them in IE, and has been resolved. | User Experience |
SR-D82148 | 547576 | Localization improved for ToolTips | Attempting to use the Field value to localize the tooltip for Hour and Minute resulted in the time being displayed as "tooltip: Hour". Support has been added for localizing these fields using pyTooltip. In addition, an issue with the tooltip still being displayed after switching helper text to None and saving (without manually clearing the existing text) has been resolved with an update that will clear the tooltip value when helper text is selected as 'None'. | User Experience |
INC-156826 | 625439 | Logic updated for adding new child/sibling to hierarchical paginated tree/grid | When using a hierarchical table with pagination enabled, navigating to the last page and attempting to add a new child or sibling produced unexpected results. Navigating to the last row, selecting child, and clicking 'add sibling' caused a new row to be added. Adding a child caused the child elements to be added on top instead of at the bottom. This was a missed use case for adding a child/sibling when using a paginated tree/tree grid, and has been resolved. | User Experience |
INC-154680 | 619028 | Moment time zone library update | In order to reflect updates such as Brazil discontinuing DST time, the moment time zone libraries have been updated to the latest available version. | User Experience |
INC-153415 | 616709 | On click outside grid record will be saved | When a record was added by copying a previous record, the new record was not saved if there was a click outside the grid. This has been resolved. | User Experience |
INC-144778 | 619615 | Performance improvements for Ajax tab switching | When using a 360-view of members in a portal implemented with an Ajax container that showed information in multiple tabs, tab switching was taking a lot of time even though the data was already in the memory. Updates have been made to improve performance. | User Experience |
INC-157041 | 626312 | Performance improvements for email listener processing | Email processing was taking an excessive amount of time when a very large number of email listeners were running. Performance has been improved by updating the implementation of pzGetChannelByName to use obj-browse instead instead of looping through channels. | User Experience |
INC-144522 | 612323 | Portal primarythread copied to workprocessing thread to establish proper class | Attempting to add a new item/row in a table configured in a modal dialog in the home page of the Cosmos portal was not working, and the error "Section 'TestSection' execution error on page 'pyWorkPage' of class 'CosmosApp-Work-TestCaseType'. : For input string: "" appeared. This was a missed use case for pyPortalHarness, and was caused by the primarypage not getting copied to the workprocessing thread which led to some actions failing as classless. This has been resolved. | User Experience |
INC-153152 | 613687 | Privilege on table cells updated for non-template mode | When using a table sourced from a report definition where certain cells were hidden or shown based on privilege, the configuration worked as expected in regular tables but did not work correctly for optimized tables. This was traced to an issue with image control rendering in non-template mode related to privileges for the image, and has been resolved by updating the pzgenerateicon Rule-Utility-Function. | User Experience |
INC-147757 | 620011 | RecordFieldValuesList page cleared | Investigation of web node crashes traced the issue to a condition where the RecordFieldValuesList page was not cleared. This has been resolved. | User Experience |
INC-144709 | 608798 | Removed unnecessary decoding from GetDropdownOptions | When using a dropdown sourced by a data page with parameters in the section, passing multiple values as the parameters of the data page resulted in the error "pzGetDropdownOptions:Invalid JSON Stream for data page params" and the parameter values were not resolving at runtime. This was traced to unnecessary decoding in the process, and has been resolved. | User Experience |
INC-157119 | 621745 | Rule-Message instances added for guardrail warnings | Log errors were seen when saving a rule in Dev Studio that generated a guardrail warning from the pzValidateFieldValueReference function. This was related to work done when the function "addwarning" was deprecated in favor of pxAddGuardrailMessage, and has been resolved by adding Rule-Message instances for pxFieldValueMaxLength, pxFieldValueConsecutiveSpaces, and pxFieldValueQuotesNotAllowed. | User Experience |
INC-155855 | 620576 | Safe check added to modal window pop-up cancel | On click of a link to add items to the rows by selecting the page list from pop-up window, clicking on the cancel button generated a node name undefined error after which clicking the link would not open the pop-up window at all. This was traced to the pre-processing activity in the flow action used to copy page list from one page to other, and has been resolved with the addition of a safe check. | User Experience |
INC-152340 | 610911 | Scrollbar consistent on switching between grids in tabs | On switching between two grid tabs configured in a layout group of tabs, the scrollbars intermittently disappeared or doubled. This was traced to the initscrollbars function being called multiple times and adding hScrolldiv and vScrolldiv each time. To resolve this, the logic has been updated to recalculate the position style. | User Experience |
INC-150072 | 621294 | Section Include error handling updated | When trying to add or include a section in the design template mode of a section rule or during run time of the application, the error "java.lang.StringIndexOutOfBoundsException: String index out of range: -1" was generated. Investigation showed this was originating from the SectionIncludeForm_Post activity of the class Rule-File-Form, and was traced to a system error related to the 'if' condition which verifies the circular reference of the section being newly added. Because this was a system error and not one generated by Pega, there was no handling for it. To resolve this, the sectionincludepost activity in rule-form class has been updated to determine the source and properly handle the error messages. | User Experience |
INC-144924 | 618733 | Security alerts resolved for ActiveDocumentType | SECU0001alerts indicating "HTTP Request Corrupted" were seen in the log files. These were related to the pyActiveDocumentType properties which are included in an Ajax request, and were caused by a condition where a new thread request results in an unexpected property check that encounters a clipboard which doesn't have any pages created for that thread. To resolve this, the pyActiveDocumentType properties have been added to an allow list to handle the unexpected properties check. | User Experience |
INC-153281 | 612785 | Selectors updated for segmented radio buttons in Cosmos | When using a Segmented format radio button in an application built on Cosmos, clicking the control caused the screen to flicker and the focus moved to the top of the screen. This behavior did not occur when performing the same action in a classic application built on UI Kit. This was due to a difference in positioning: in UI Kit, the input for the segmented radio button is positioned using an absolute position and the parent radioTable div uses a relative position, while in Cosmos the radioTable div is given a static position. This has been resolved. | User Experience |
INC-152945 | 613933 | Skin rule applied correctly post-upgrade | After upgrading from v7 to v8.5, attempting to apply the previous skin to the new application resulted in a java exception while saving. This was caused by null or empty values for the horizontalDividerHeight and verticalDividerHeight variable which were parsed as double values and led to a null pointer exception. To resolve this, null and empty checks have been added to GenerateFlexScreenLayout.java. | User Experience |
INC-150731 | 612883 | Stages list wraps in App Studio preview | While previewing an application in App Studio, the Approval stage section which included a header containing a chevron with each of the eight stage names across the top was displayed with the center pane expanded to accommodate the header and part of the right pane content pushed off the right edge of the window. A horizontal scroll bar was also added even though the stage names were truncated and displayed with ellipses ("..."). Investigation showed that the styles targeting stages were using flex nowrap as part of custom styles generated in pyenduser, and the styles have now been updated for stages for desktop to wrap if the number of stages would otherwise extend the screen. | User Experience |
INC-150778 | 612311 | Treatment UI screen correctly refreshes on save | In the Web Treatment screen, saving was not working as expected and the edit button was not visible. Investigation showed that whenever Web Treatment was saved after an edit, the grid was not getting refreshed and the previous treatment rule was opened instead of the new one. This was caused by the declarepage params handling in DecisionDataRecords which treated the value as a separate argument not specific to any section and resulted in empty parameters. This has been resolved by adding an additional check for the declare page in addition to the declare page parameters while processing each section of a multiple section refresh. | User Experience |
INC-133951 | 584149 | Try catch added for templated refresh when | After configuring a refresh when condition on a dynamic layout triggered by changes on D_worklist.pxResults, a component stack mismatch error was generated if client side UI template is enabled. Without templatization it worked as expected. This has been resolved by adding a try catch block to+F386 DynamicLayoutGenerator.java. | User Experience |
INC-141302 | 614994 | UI automation script documentation update | To provide a more consistent experience, explanatory comments in the code for UI automation scripts have been removed. Please refer to online documentation available at https://mesh.pega.com/docs/DOC-146214 for instructions on using these functions. | User Experience |
INC-152171 | 610975 | Unused query parameter cleaned up from harness | Recent testing showed a legacy 'encodedPassword=true' query parameter lingering after changes were made to convert harness actions. Although there was no security implication as no sensitive information was being sent, this unused query has been removed. | User Experience |
INC-137875 | 608102 | Update for special characters in operator name | Handling has been added for encoding an operator full name field which contains special characters. | User Experience |
INC-156912 | 627488 | Updated accessibility for Rich Text Editor navigation in a modal dialog | When navigating through a Rich Text Editor while in a modal dialog, it was expected that once focus was brought to the Rich Text Editor Toolbar (Alt+F10), pressing Escape on the keyboard would bring the focus back into the Rich Text Editor text area and the cursor would appear. However, when this Rich Text Editor was within a modal dialog, pressing Escape closed the modal dialog entirely. This has been resolved by updating the code to stop the Escape key event propagation from the Rich Text Editor toolbar when in a modal dialog. | User Experience |
INC-151858 | 610352 | Updated currency decimal precision | Hungarian and Taiwanese currencies were previously hardcoded to use zero decimal precision. In order to be compliant with the current ISO-4217 standards, these currencies have been updated to be precise to two decimal places. | User Experience |
INC-154855 | 616003 | Updated expression handling when not using client side validation | After upgrade, a declare expression used to calculate the end date when creating a schedule case was not populating the result. This was traced to a missed use case for evaluating expressions when 'Enable client side validation' is unchecked, and has been resolved. | User Experience |
INC-145939 | 606896 | Updated handling for ID value change during REST connection creation | When using the REST Connector Wizard to create a connector, if the ID was changed on the 4th (last) step of the Wizard and then the Create button was pressed, the screen would freeze and a display a javascript error. Investigation showed that when the ID was changed on the screen, the new value was not updated properly and subsequent function calls threw errors. This has been resolved. | User Experience |
INC-160102 | 627687 | Updated resource file paths for mobile images | After upgrade, a resource missing error was shown on the mobile UI when accessing a section in an offline mobile app. This was traced to the CSS file having an incorrect path to the 'requiredstar' gif file and has been resolved by updating pzbase-form-level-elements to use webwb instead of an images path | User Experience |
INC-144951 | 601975 | Updated specificity for custom-format inputs | After upgrade, custom formatting for a link control was not working in the skin or during runtime. This was an issue where identical format names used for links and text components caused selectors from the text area to take precedence over link styles, and has been resolved by updating styles to increase specificity for inputs instead of links. | User Experience |
INC-153025 | 614694 | Updated table field Minimum Character validation | The Minimum Character validation for the Table field was not working due to minchars and validationtype attributes not being populated in the markup. This has been corrected. | User Experience |
INC-146396 | 608827 | Upgraded pd4ml library to support Hindi text | Some Hindi letters were not displayed properly in PDF . This was caused by Hindi text being only partially supported with earlier versions of the pd4ml library. It is now fully supported with the 4.0.9fx3 version, and the system has been upgraded to 4.0.9fx3 jar for better rendering of Hindi characters. | User Experience |
INC-153721 | 613663 | Visual natural labels exposed to JAWS in REST wizard | Get/Post/Put/Patch/Delete checkboxes were not properly read by the REST Integration Wizard when when tabbing through the checkboxes with JAWS enabled. When tabbing to each, “Tab – Select this method if it is supported at the endpoint” was read for each checkbox, and no information was given regarding what method each checkbox was for. When any helper text is configured, an aria-label attribute with helpertext message is generated. This aria-label will override any other native labeling mechanism (label - id mechanism), which is this case caused the control label to not be announced. To resolve this, the system will remove the aria-label attribute when helper text is configured and will add the helpertext div ID in aria-describedby for accessibility. | User Experience |