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
Special Note
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
805970 | Refactored size estimates in Clipboard Viewer & Admin Studio | Size estimates for things like Clipboard pages and platform caches commonly use an internal Pega method, MemoryEstimation.estimateString(). An issue in this method caused the system to return a very small value (0 or 4 bytes) instead of the actual size of the String object, resulting in artificially low size estimates in tools that rules developers use like Clipboard Viewer and Admin Studio. In turn this made it harder to identify problem areas and resource leaks, preventing correctly optimizing use of memory. To address this, the code has been updated to create more accurate size estimates. | Special Note |
Case Management
8.8.4 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-255775 INC-253351 |
784571 785182 |
Handling updated for screenflow 'Allow Errors' | When using a Screenflow with 'Allow Errors' checked to permit an assignment to be submitted without the required fields, logging out and logging in and triggered the Dirty check (client side validation). Investigation showed that as part of the screenflow navigation, a javascript function called 'customClientErrorHandler' was loaded into the DOM which was not being cleared after the screenflow assignment was completed. This has been resolved with the addition of logic to remove the function when there is a change in the harness so that the function will be present for screenflows alone. | Case Management |
INC-265726 | 796716 | LoadOpenAssignmentsFromClipboard checks for suspended assignments | When the policy override flow was invoked, the existing assignments in worklists/workbaskets were not removed as expected. This was traced to using suspend flow functionality: even though the assignments were moved to the Assign-Suspend class, the 'pyLoadOpenAssignmentsFromClipboard' activity did not check for this condition. This missed use case has been resolved by updating 'pyLoadOpenAssignmentsFromClipboard' so it will check whether pxAssignmentKey.contains("ASSIGN-SUSPEND") and not load the assignments if the assignment key has assign-suspend in it. | Case Management |
INC-266532 | 798420 | Exception handling updated to avoid broken process issues | Broken processes were intermittently reported when a utility node was substituted by another node automatically. When a node is marked as unhealthy, the thread creation process is stopped on that node. However, the existing threads are allowed to execute, and in this use case there was a deferred save which led to a call to a declare trigger in a queue batch (Child requestor). This created a new thread, and as the thread creation was stopped on the node an exception was thrown and a problem flow was generated. To resolve this, the problem flow has been updated to throw the exception but not initiate the problem flow when a flow encounters a RejectedExecutionException, and further work will be done regarding potential flow recovery. | Case Management |
INC-268298 | 809734 | Corrected null changestage dropdown | After upgrade, dropdown values for the changestage smart shape were missing. Investigation showed there was a null step page causing the failure, and this has been resolved by adding a 'when' condition to the pzGetStageList activity to check the length of page list pyStageList.pxResults before removing pyStageList.pxResults(1) page. | Case Management |
INC-270931 | 799809 | Virus check available for Survey | A call virus check activity has been made available for uploading files through Pega Survey. | Case Management |
INC-271317 INC-A12268 |
806123 824096 |
Corrected date time value in Survey | The time was given in GMT when selecting a date in Survey. This has been resolved by correcting the handling of the date time property. | Case Management |
INC-A10602 | 823166 | Corrected security error on HTML sections | Flows that call the activity ShowNewFlow with HTML stream 'NewFlow' were generating a 403 Forbidden error. This was a missed use case for BAC implementation, and was caused by the ShowNewFlowHtml and StartNewFlow activity missing the necessary encryption in the NewFlow HTML rule. This has been corrected. | Case Management |
INC-A14336 | 827367 | Updated radio button control used in TransferCaseOwnership | After update, radio buttons disappeared on click in a section using pyTransferCaseOwnership. This was due to an incomplete cleanup for a deprecated radio button control used in the section rule and has been resolved by removing the deprecated control and adding the current pxRadiobuttons control to replace it. | Case Management |
INC-A14973 | 830290 | FindWorkGadget control deprecated | After upgrade from Pega Platform version 7.2 to Pega Platform version 8.7, searching for a case using FindWorkGadget generated the message "Error 403: SRVE0295E: Error reported: 403". The FindWorkGadget control contains the list view control to view the data, which is a deprecated control. This was a missed use case, and has been resolved by deprecating the FindWorkGadget control. Alternate widgets present in the dashboard such as work list, work queue, and the search gadget may be used to find work in its place. | Case Management |
INC-A15636 | 828130 | Survey questions validated when questions are hidden | After update, Survey Question Page validation was not triggering for Q-1 if the visibility condition for the last question on the page, Q-3, evaluated as false. If the visibility condition for Q-3 was true, validation for Q-1 was triggered. This was traced to the 'when' rule configuration in pzSurveyProcessing which skipped the validation on the question page if the visibility condition was hidden for the last question on question page, and has been corrected. | Case Management |
INC-A1577 | 811799 | Escaping added for single quote in attaching OpName | When the pxCreateOpName for a attachment contained special characters (eg Joe O'Sullivan), the attachment was not displayed when clicking on the .pyMemo property with the pyWorkAttachmentIcon control within the ReviewCaseAttachmentItem section. This was traced to the single quote in the "uploadedBy" user name, and has been resolved with an update to escape single quotes. | Case Management |
INC-A1709 | 810937 | Added handling for Section Presentation read-only | A 'when' rule to make a property read-only in the presentation tab was not working. Because this is an optimized table, row level expression is not supported. To resolve this, an embedded section will be used for pyCategory instead of a property to satisfy the read-only conditions. | Case Management |
INC-A1787 | 806357 | Resolved correctly sets pyStatusWork and closes assignments | Resolve was not working reliably. Status was not consistently updating, and discrepancies were seen in pxCurrentStageLabel, pxCurrentStage and pyStatusWork. Some assignments were kept open despite the case being set to 'Delete open assignments'. Investigation showed the problem occurred on step1 of "pzUpdateAndDeleteAssignments" Activity. The system is searching for a page containing the WorkObject key on clipboard: most of the time it will be "pyWorkPage" as expected, but from time to time there was another page containing the same WorkObject key that was being picked. This has been resolved by modifying pxForceCaseClose and pzUpdateAndDeleteAssignments along with introducing a new parameter in the pxForceCaseClose activity. | Case Management |
INC-A2117 | 810283 | Adjusted handling of AttachmentType parameter in Data-WorkAttach | After update, AttachingScreen (Data-WorkAttach-Note) did not work as expected. This was traced to the included section AttachmentCategory (Data-WorkAttach) containing a hardcoded attachmentType - URL, and has been resolved by modifying the hardcoding of "URL" to Param.attachmentType for the AttachmentType parameter in the pre-activity "pyGetListOfAttachmentCategoriesWrapper". | Case Management |
INC-A223 | 807791 | SetAttachmentProperties messages properly cleared | When using the SetAttachmentProperties activity to block certain files, attaching a blocked file generated the expected error message on the UI but the error message was not cleared from the page after deleting the respective file. This has been resolved by adding a new activity under the Embed-DragDropFile class to clear the messages on the pages along with extending the pyAttachFileDDFileList section to call the newly created activity on the delete button. | Case Management |
INC-A4545 | 811932 | Updated handling for Survey routing | Survey was not routing correctly if a user had a "dot" in their identifier. This was traced to the activity pzCreateSurvey evaluating the RouteTo param value: when the operator ID contained a dot character and did not have an @ character, the evaluate expression function considered it as a property reference and tried to resolve it on the step page. If the property was not found on the step page, an empty string was returned and the survey was routed to the current operator. To resolve this, if the route to parameter has a dot character and evaluate expression returns an empty string, the route will be considered as a operator ID string and appropriately routed. If that operator does not exist, the questionnaire will be routed to the problem flow. | Case Management |
INC-A7014 | 813881 | Updated handling for Mashup with iFrames | After upgrade, Mashup code was not working for multiple app names in Pega version 8.8. This was traced was a missed edge use case caused by the window.parent function returning null when iFrames are used, and has been resolved with an update to use the getDesktopWindow api instead of accessing window.parent directly in webwb_pxcasemgrheader_js file. | Case Management |
INC-A9603 | 827566 | Performance improvements for bulk processing | Performance issues were seen when using additional filters during bulk processing. This was traced to non-optimized properties for the LookUpList activity in the pzGetPropertiesToUpdateInBP activity, and has been resolved. | Case Management |
INC-A9617 | 822059 | Handling added for double quotes in survey questions | When a page with a question that contained a double quote ( " ") was displayed, the message "Exception occurred in Rule-HTML-Section for Question" appeared and the question was not rendered correctly in the Rich Text Editor. This has been resolved by adding logic to escape double quotes in survey questions. | Case Management |
INC-A9870 | 822960 | Switch application gadget reloads correctly after UI refresh | After a refresh occurred on the main user portal thread, the Switch App Launcher only loaded the search bar and required a page refresh in order to get the gadget to function correctly. This was a missed use case and has been resolved by moving the style bundle outside the onlyonce tag to load the CSS for switching the application gadget. | Case Management |
Cloud Services
8.8.4 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-272863 |
804280 | HistorySaver updated to handle previously deleted rules | An edge case was discovered where attempting to delete a rule that had already been deleted caused the history saver to try to save a history instance using whatever page it was given, which will usually not be valid. This caused issues after rolling back an update where the access token keypair from the history table was restored but did not contain pzKeyPair, leading to an exception and authorization issues. To address this, HistorySaver has been updated such that if there is an attempt to delete a rule and the page can't be opened, the system will conclude that the rule was already deleted and no history should be saved. | Cloud Services |
HFIX-A9 | 803724 | Corrected deployment package generation error | After update, building the package generated the error "The number of database bytes input for this interaction has exceeded the ERROR level for Requestor". This was traced to a missing call to tools.getRequestor().setIgnoreDBByteGovernor(true) during export, which was an inadvertent side effect of previous work and has been corrected. | Cloud Services |
INC-255081 | 791980 | Target properties made available to HistorySaver logic | While a record was being saved in the History table, the error "Cannot save instance of class History-XXX-Data-Member; it belongs to fully exposed table PEGA_HIST_DAT_MBR in database PegaDATA, but the instance has properties which do not correspond to columns: pxTargetClassName, pxTargetRuleSet" was generated. This has been resolved by adding pxTargetClassName, pxTargetRuleSet, and pxTargetRuleSetVersion to History-Data- class to make them available to the HistorySaver logic. | Cloud Services |
INC-267791 | 800974 | Ruleset context handling updated | The export functionality raised the error "Unable to open application :PegaRULES!03.35.05", which indicated a version of the PegaRULES application which does not exist. Investigation showed the context of the client's application version (03.35.05) was being added incorrectly. To resolve this, an update has been made to bypass adding contexts for invalid rulesets. The system will warn and continue if it fails to get the context, and diagnostic logging has been added to the createzipfile activity. | Cloud Services |
INC-270064 | 799806 | Corrected time zone handling for PUSHDAILYLOGUSAGEDATA | The PUSHDAILYLOGUSAGEDATA was sending incorrect data when the system was in a time zone other than GMT. This has been resolved. | Cloud Services |
INC-270658 | 801597 | Added timeout for non-functional column population jobs | If a column population job was in progress but no longer functioning, no other column population jobs could be triggered and the non-functional job was not terminated. This was an inadvertent side effect of work done to place a limit on simultaneous column population jobs to prevent system performance degradation, and has been resolved with an update which will detect the broken in-progress jobs by checking the last time the queue was updated with information and apply a targeted timeout mechanism. | Cloud Services |
INC-A16382 | 830419 | Added handling for non-fatal rollback errors | After initiating a rollback, trying to use getStatus for the rollback failed with an error. Reviewing the logs showed that there were issues with the rollback itself, and investigation traced this to the operator who was doing the rollback also being part of the rollback. This has been resolved with an update which will clear the processing status when a non-fatal error occurs opening the instance. | Cloud Services |
INC-A4246 INC-A4524 |
808972 809104 |
Generated SQL correct for column population job | After update, some systems experienced issues due to the corruption of shipped rule data caused by the column population process. The issue did not affect all systems, and the impact depended on which classes were included in the column population process. This was an inadvertent side effect of work done to address an incomplete column population job when pxCommitDateTime was NULL, and has been resolved by ensuring the generated SQL is properly formed. | Cloud Services |
INC-A4542 | 816773 | Corrected Rulebase Compare logic | Using the Rulebase Compare tool to compare rulesets from two different environments was not working as expected, with results being returned from non-specified rulesets. This has been resolved by updating the logic used to compare the rules. | Cloud Services |
INC-A7146 | 814111 | kotlin updated | The kotlin-stdlib-jdk8 jar has been updated. | Cloud Services |
INC-A729 | 809635 | Corrected failure behavior for rebuilding indexes | After generating and manually applying DDL changes for an in-place update, the "Reorganize Database Indexes Preupgrade" task kicked off the CALL ${rules.schema}.SPPR_REBUILD_INDEXES(). This step returned from the database before the stored procedure finished running, causing the upgrade to continue to run and then fail trying to insert into a table because the database was still running the rebuild of the indexes. The correct behavior should be that the the update should fail when the stored procedure failed rebuilding the index, and an update has been made to set reorganize indexes to fail on error. To avoid failure, run the equivalent of the rebuild_indexes stored procedure after manually applying the DDL changes needed for the upgrade to ensure all of tables have stats/indexes up to date. | Cloud Services |
Conversational Channels
8.8.4 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-251451 INC-262589 INC-269033 INC-A9920 |
814083 817457 818695 823654 |
Resolved stack trace error on UI | ActivityStatusError with Stacktrace or Error: Harness Fail was unexpectedly displayed while working. To resolve this, a series of improvements have been made in the application logic for clearing and initializing email-related data pages on Service case launch. | Conversational Channels |
INC-270877 | 819160 | GetAvailableEmailAccounts and GetAllEmailAccounts use current application stack | When using two implementation applications, the pzGetAvailableEmailAccounts activity was fetching all the instances of the Data-EmailAccount objclass irrespective of the application. However, for some of the email accounts the incorrect ruleset was picked, causing errors in the logs. To resolve this, the GetAvailableEmailAccounts and GetAllEmailAccounts activities have been updated to pick only email accounts which belong to the current application stack. | Conversational Channels |
INC-271572 | 803030 | Fixed timestamp setting for outbound messages | When a three-part message was configured to display when there were no agents, leaving the app and returning only showed the last message and the other two were missing. This issue occurred due to the duplicated time stamp generated for the messages on the custom flow, and has been resolved by improving the setting of the metadata interaction timestamp to provide unique values and adding the timestamp for metadata right after the outbound message creation. | Conversational Channels |
INC-A1210 | 825708 | Updated handling for missing file type extension on email processing | A java.lang.IllegalArgumentException error was logged with the message "FileExtension may not be null or blank for filename ../datacontent/Image/social/pulse_123456-0". Investigation showed the pyGetHtmlMessage activity was iterating through the email attachments/inline images during the processing of an email triage case and then creating the Data-Content-Image entry for it as part of the pySaveFileToImageContent activity. Because the file did not have any extension, pyAttachMimeType and file extension were null for the attachment /inline image. To resolve this, an update has been made to the pzAttachUploadedFile, pzCreateInteractionReply, and pzCreateExternalPostFromMail activities which will extract the mime-type information in the attachment encoding property and save it with an attachment file. If that also fails, the system will proceed and save the attachment as is. | Conversational Channels |
INC-A2589 | 808609 | Empty and not empty validation added to pyValidate | After update, cases were not getting created for some case types when using the ServiceHub email channel. This was traced to a configuration issue. The configuration could not be changed because channel save was failing with the error ".pzRouting.pyRouteTo(2).pyConditions(1).pyCompareTo:Invalid topic", which was occurring because routing condition "Topic -- Is empty" was selected, which is not supported. To resolve this, empty and not empty validation has been added for Topics in the pyValidate rule. | Conversational Channels |
INC-A4292 | 819617 | Corrected highlight markup for entity | The entity word was not highlighted when it was the last word of the subject and the first word of the body. This was an issue is with MarkJS and has been resolved by adding a space between <br> tags. | Conversational Channels |
INC-A8248 INC-A7218 |
819614 820899 |
Corrected HTML tags shown in email | After update, incoming correspondence showed the full HTML code instead of a readable text without the HTML tags. This has been resolved by updating the pyTreatIncomingText activity to force creating an email html attachment regardless of the "As Html attachment" setting on the listener, and by adding a new rule pyCheckAndCreateEmailContent to create email-content file in cases where the body has <html>. | Conversational Channels |
Data Integration
8.8.4 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-230002 | 820147 | Updated handling for incorrect chat agent availability | An intermittent issue was seen with chats being routed to an agent who was not marked as available, resulting in missed communications. The chat routing engine makes a decision on the correct agent based on their presence status. Under some conditions, like agent opening multiple portals or closing the portal without a proper logout, this could be set incorrectly and the pop was not presented to the agent. This caused the chat to get stuck in the routing engine and the agent could be set into a state where no more chats were delivered. To resolve this, an update has been made to modify the push-notification message system by sending back a client acknowledgment which confirms that the message has reached to the subscriber. Success and failure handler activities have been added which will be invoked based on whether message has reached subscriber or not. For this function, the DSS "prconfig/server-push/message/clientacknowledgementenable/default " must be set to true. The flag "Enable acknowledgements for Notifications" has been added on the channel rule form and needs to be enabled for the channel which needs client acknowledgement messages in order for the message to be published on the channel. Please note that different channels having same Applies To class should either enable or disable this flag. This flag needs to be the same on those type of channels. |
Data Integration |
INC-251939 | 796702 | Able to Trace Service REST rule | After update, attempting to trace the service REST rule was not working. Investigation traced this to a new method added in RestServiceAPI.java which was overriding ServiceAPI.startServiceRequestLogging():. This was an inadvertent side effect of work done to use an authenticated REST service with an app alias specified in the incoming service request, and has been resolved. | Data Integration |
INC-261780 | 815391 | NodeID max length increased | After update, attempting to sort the list of nodes resulted in the error ".pxResults(4).pySysNodeID: "pega-selektionen-background-pu-app-0" is too long, maximum length allowed is 32". This has been resolved by updating the System-Status-Nodes property pySysNodeId size to 64 to handle node names that exceeded the 32 character length. | Data Integration |
INC-262203 INC-A16665 |
804498 831599 |
Corrected SQL generation for purge/archive | When the PegaArchival job scheduler was run, the error "Type pegarules. pub. PRRuntimeException" was generated. This was traced to incorrect SQL being generated due to the same type of child case being present at leaf node and elsewhere in the hierarchy, and has been resolved. | Data Integration |
INC-262866 | 791983 | Connect-REST wizard data page handling updated | When using the Connect-REST wizard and choosing the data page label and data page ID, setting the data page ID at the final step was ignored and instead the connector ID name was used for the data page ID. This has been resolved with an update to properly consider the editable data page name and to use the data source name as fallback if the configured data page name is not proper. | Data Integration |
INC-263049 INC-A15364 |
797256 826458 |
Updated handling for PegaExpressionEvaluator assembly | System slowness and login issues were seen when using Global Resource Setting syntax in a text field combined with a parametrizable data page in the expression, for example: =D_pxGetApplicationSettingValue[OwningRuleset:"PegaUnitTests:01-01-01",Purpose:"URLSetting"].pySettingValue. Investigation showed the ExpressionEvaluator was compiling and writing to the database every time the GRS was evaluated, and this has been added by refactoring PegaExpressionEvaluator to use a unique java class name for each assembled expression. | Data Integration |
INC-263633 | 811322 | Sensitive data filtering added for JSON logging | In order to ensure potentially sensitive data is not included in the log file as JSON output, an inclusion list has been added to determine which fields should be present. | Data Integration |
INC-263791 | 807639 | Box integration updated for digital messaging attachments | Attempting to use a digital messaging channel to send a message to an end user failed to send the message and a HTTP 422 error was generated due to there being an attachment page detected. Content storage was configured with a Box provider which caused attachments to be uploaded to Box, and whenever chats came through there was some basic context data that was passed and treated as an attachment. The data transform pzCreateFileRequest created a clipboard page "pyRequestAttachmentPage" with attachment data to be sent via the REST connector, but this page was not removed from the clipboard, and the next request with the REST connector caused that request to be treated as multipart. This has been resolved by ensuring the removal of the pyRequestAttachmentPage before initiating Box transactions. | Data Integration |
INC-264088 | 818247 | Support added for PEC-signed emails | When a certified email using PEC (posta elettronica certificata) was received, the original message of the email was not displayed. In order to support this use, the class "JavaMessageParser.java", which handles content extraction when using IMAP, has been updated to handle email of content type "application/pkcs7-mime". | Data Integration |
INC-264237 INC-A5045 INC-A15993 |
830751 833813 832066 |
Calendar Object found after recycle | The Calendar entry was not getting picked properly in production environment after JVM recycle. This has been corrected. | Data Integration |
INC-264689 | 819559 | Custom repository documentation updated | The documentation for custom repositories has been updated to clarify that using custom repositories for case archival purposes is not currently supported. | Data Integration |
INC-265376 | 821729 | Corrected duplicate emails being forwarded upon error | Emails were randomly getting struck in the inbox and the same message was being repeatedly processed until manually removed from the inbox. This caused the system to send multiple emails to the forwarded email ID. This initial issue was traced to a third-party JSoup parser library which was throwing an exception on an unexpected empty value, and handling has been added for that exception. In order to prevent sending multiple copies of a failed email, a check for an existing DuplicateKeyException has been added so only one email will be forwarded per failure. | Data Integration |
INC-266294 | 801433 | Handling added for List in read-only datapages | After parsing the JSON response, copying the parsed clipboard page to another page generated the error "pegarules.pub.clipboard.InvalidParameterException: invalid mode '?'. Only JavaObject, String, or Page is allowed." This was traced to an unexpected additional value list property in JSON, and has been resolved with the addition of code to handle an unknown List in Read-Only Datapages. | Data Integration |
INC-267671 | 798040 | Show results in new window working in Case Worker portal | After update, searching for a work object in the Case Worker portal and clicking "Show results in new window" incorrectly displayed 1000+ records. Investigation showed the pySearchString was incorrectly passed to D_pyWorkSearch as pyDisplayHarness.pySearchText instead of pyPortalHarness.pySearchText, and this has been resolved by updating the parameter configuration in the section pyShowResultsInWindowWrapper to send SearchString param as D_pyWorkSearchPreferences.pySearchString. | Data Integration |
INC-268886 | 811600 | DownloadFromWebStorage updated to support UTF-8 text | A file with Japanese characters in the name appeared to be uploaded and attached with the correct name, but when that file was downloaded the name was altered to "ACPRIMARY_0.docx" (originally a Word file). Investigation showed that the custom file upload/download functionality being used called "pega.ui.HarnessActions.doAttachmentSingleClick" for the download. This uses pzDownloadFromWebStorage, and the Content-Disposition header for this has now been updated to support UTF-8 text. | Data Integration |
INC-269006 | 804887 | DSS added to control inferring for Circumstances Template | When creating emails, the base template was retrieved instead of the expected circumstanced template. After re-saving the circumstance definition used for the correspondence template, the correct correspondence template was selected during the email generation. This was traced to the circumstance template being assembled from the framework application level, causing it to miss definitions from the dependencies as they are in the higher application level. To resolve this, the DSS "racache/skipInferringForCircumstanceTemplate" has been added to allow disabling inferring for Circumstances Template. | Data Integration |
INC-269067 | 824701 | Updated file closure for static content server | The static content server was holding files open, eventually leading to the error "Log4j2-AsyncAppenderEventDispatcher-1-ALERT-ASYNCAES ERROR Cause: java.net.SocketException: Too many open files". This has been resolved with an update to close the InputStream properly to avoid leakages. | Data Integration |
INC-269469 | 818595 | Added handling for WrongModeException | When a case was passivated and reactivated, the case/portal was hanging and the error "pegarules.pub.clipboard.WrongModeException" was logged. This occurred when the case referred to a page property in a report definition which was sourced by a data page, and has been resolved by adding handling for a WrongModeException when a page is being activated. | Data Integration |
INC-270119 | 817202 | API added to clear archival CSV files from tmp directory | High disk utilization on utility nodes caused them to frequently recycle. This was traced to extremely large archival CSV files taking up most of the disk space in the tmp directory, pulled in by a job that opens hundreds of service cases at a rate which exceeded the capacity of the normal purge process. To resolve this, a new API has been added, removeArchivedTempFile(String aInstanceHandle). This can be used in a java step such as pega.removeArchivedTempFile(pzInsKey) and will remove the temporary archival CSV file for a given handle [pzInsKey]. It returns true if the file has been found & removed; otherwise it will return false. | Data Integration |
INC-271230 | 818639 | AWS jars updated | The AWS jars have been upgraded to the latest version. | Data Integration |
INC-271536 | 805588 | Updated contentLength handling for Microsoft Azure repositories | When using a File Repository and a File Listener to process a file placed in the Microsoft Azure Blob Storage, file listener was not able to process a large file placed in the Azure Blob and reported no files to process though the file is present. This issue did not happen when a smaller file was used. Investigation showed that Azure Blob storage stores large files in block blob and that the Content-MD5 property is not set implicitly for block blob by the FileCloudStorageAdapter used to handle Azure repository-related functions. This has been resolved by adding a check for contentLength alongside content-md5 for identifying whether the object is a file or emptyFolder. | Data Integration |
INC-271722 | 805707 | Updated JSON logic for embedded arrays of same name | An incorrect JSON string was created when an embedded Pagelist Clipboard Page was serialized. This was traced to a nested array structure with the same attribute name in child and parent which caused pre-popping of the JSON Element from mapping context.This has been resolved by updating the logic to not pop until execution is completed. | Data Integration |
INC-272293 | 804524 | populateActivity method updated for PATCH | After setting up Service SLA with fallback activity in REST service, the response body did not appear at all for PATCH method. This has been resolved by updating the populateActivity method to populate for PATCH method as well. | Data Integration |
INC-272460 | 810292 | PortalServer instance removed | The Data-Admin-AppID PortalServer instance has been removed and the rule type Service Portlet has been replaced by Pega Web Mashup. | Data Integration |
INC-273213 | 820380 | Corrected nested data transform execution | After update, calling a data transform inside another data transform was not working as expected. This has been resolved with an update to enable declare processing when needed for DataTransform execution. | Data Integration |
INC-A1049 | 815400 | Additional stack trace logging added to ConvertPageToString | A function used in multiple places to convert clipboard page to JSON format was generating an exception due to invalid inputs while performing ConvertPageToString, but logging was not able to help identify where the problem was originating. To resolve this, a new exception has been added to the ConvertPageToString function which will print the stack trace to help identify the source of the null Clipboard page. | Data Integration |
INC-A11245 | 822831 | Added database type check for VacuumFreeze | After upgrade, the the job scheduler "pyPegaArchivalVacuumFreeze" was failing with the error "There was a problem getting a list: DatabaseException caused by prior exception: java.sql.SQLSyntaxErrorException: ORA-00900: invalid SQL statement". This was caused by the PostgreSQL command VacuumFreeze encountering an Oracle database, and has been resolved by adding conditional handling on execution of connect-SQL to run the command for PostgresSQL databases while skipping other database types. | Data Integration |
INC-A12390 | 830698 | Report definition modified for deleted LowerCase function | After update, the actions list in the schema tool did not populate for a table in the pzDBDetailsInner section rule sourced from the report definition pzFetchDBTableHistoryLog. Investigation traced this to the @@pxLowerCase function being referenced in the pzFetchDBTableHistoryLog report definition even though that function was removed during previous refinements to the code. This has been resolved by adding a column without the function alias in the pzFetchDBTableHistoryLog report definition so it will work in alignment with sections. | Data Integration |
INC-A13061 | 828672 | Check added for custom associations history class | After adding associations for the standard classes Link-Tags, Link-Association-Follow, and Link-Association-WorkBookMark, the casetype archival fails. This was due to the custom associations missing properties, and has been resolved by adding a validation condition to check whether the history class for a given class is present, and if not it will not be added to Data-Archival-Batch (DAB). | Data Integration |
INC-A14416 | 828039 | Updated handling for email meta tags | The email listener was not processing some specific set of emails and throwing an exception. This was traced to the messages containing a meta tag charset with a varying number of attributes and different meta tag combinations and has been resolved with updated handling. | Data Integration |
INC-A281 INC-A10364 |
808095 820772 |
JVM proxy support added for CloseableHttpClient | After update, HttpHostConnectException errors relating to Microsoft Graph were encountered while processing incoming email messages. This has been resolved by adding JVM proxy configuration support for CloseableHttpClient. | Data Integration |
INC-A3080 INC-A7375 INC-A13372 |
826983 829121 829705 |
Updated handling for throttled websocket connections | After idling, issues were seen with refreshes happening when no action was performed, the portal notification count badge had an incorrect count, or the error "Unable to find presence agent with Application" intermittently appeared when a call was coming in. This was traced to some browsers throttling connections when idle, causing websocket timeouts. To resolve this, updates have been made to the PresenceSessionStateTrackerDaemon to handle websocket throttling. | Data Integration |
INC-A4594 | 822066 | Support added for custom S3 endpoint | In order to support the use of a custom S3 endpoint, updates have been made to enable a Path style request based on DSS, enable endpoint configuration based on the Service Endpoint URL, and honor the custom service endpoint URL from the DSS to create a system repository. | Data Integration |
INC-A5354 | 828984 | Email format retained for auto generated request | After updating Microsoft Office 365, the previous structured format for auto-generated email requests was changed to plain text email. This was traced to HTML handling relating to MS Graph: HTML new line characters and spaces are expected to use < >, but for the auto generated emails \n was present instead, and part of the processing was to remove the new line characters (\n). This has been resolved with an update to address the email message HTML formatting issues by retaining the original data. | Data Integration |
INC-A5522 | 817416 | Corrected localized RuleSet List Name and LocalePattern name | After updating from Pega Platform version 8.5 to Pega Platform version 8.8, attempting to import a RAP file failed with the error message "Found exception running import: com.pega.pegarules.priv.deploy.DeploymentException: PegaArchiveException RuleArchiveLoader.importContents(PegaArchive) Unable to import file: rules.jar because a problem occurred during import: java.lang.StringIndexOutOfBoundsException". This was traced to the localized RuleSet List Name and LocalePattern name starting with "de", and has been resolved by adding an underscore (_) as a prefix to the localePattern variable name. | Data Integration |
INC-A7067 | 822141 | ABAThinDebugLogger made available | The present ABA loggers generate an excessive number of messages, rendering it challenging to keep them enabled for extended periods to determine the root of the issue. To assist in debugging issues such as an incorrect rule from a different class being rendered during runtime, a new ABA logger "ABAThinDebugLogger" has been introduced which is very thin and can be turned on for longer period on production environments. | Data Integration |
INC-A7133 INC-A13072 |
817430 823832 |
Corrected en_SG locale datetime | After update, the datetime calculations in the SGT locale were incorrectly displaying as GMT + 8. This has been resolved with the correct format for the en_SG locale. | Data Integration |
INC-A7878 | 818313 | Data page creation documentation updated for endpoint URLs | Documentation for the endpoint URL configuration in a Data Page has been updated to clarify that only string literals are accepted and parameterized Data Page references are not supported. | Data Integration |
INC-A9085 | 820210 | Corrected PDC illegal argument exception | An Illegal Argument Exception in was seen in the PDC when starting the Listener in the Staging environment. This was traced to a missed use case and has been resolved. | Data Integration |
INC-A9983 | 822273 | Connect MQ charset handling updated | When processing response messages, the character set specified by the MQ header in the message (UTF-8) appeared to be decoded incorrectly. Characters within the ASCII range were unaffected. UTF-8 is a variable-length encoding, where characters can be represented by one to four bytes depending on the character code point. Characters like "Å" (a Welsh character) in UTF-8 can be represented by two bytes, but reading them one byte at a time might lead to the "Å" character being split into two separate characters and lead to an incorrect interpretation. This has been resolved by adding support for the MQ connector to read response messages using charset along with byte length. | Data Integration |
Decision Management
8.8.4 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-A4585 |
817816 | Updated label handling in proposition filter | If the value for any condition in the proposition filter was same as the criteria label, compilation failed for the proposition filter rule. This has been resolved with an addition which will wrap all labels with ## to ensure the system is not substituting a value with a label. | Decision Management |
INC-249372 | 771560 | Corrected file extension for compressed JSON export | When exporting interaction and decision results with compression enabled, the dataset named "InteractionFiles" had the extension ".json" instead of the expected ".json.gz". This has been resolved. | Decision Management |
INC-259934 | 794126 | Improved query performance | A performance issue was seen with database queries. Investigation showed a slowdown related to binding the recipient IDs and notifications IDs caused by the system making database query calls for each bound value, and this has been resolved by replacing the connect SQL call with Native SQL which creates prepared statements so one SQL call is sufficient. | Decision Management |
INC-262661 | 807360 | Kafka processing improvements for real time events | Processing seemed slow for a Realtime dataflow which reads events from external Kafka dataset. This has been addressed by resolving some conflicts, removing an unnecessary seekToEnd, and adding additional diagnostic logging to allow for better identification of issues. | Decision Management |
INC-267095 | 809077 | Null pointer handling added to CreatePoster activity | Changing the file mime type from php to png and trying to attach that file to the a case generated a null pointer exception from the 'pzCreatePoster' activity. This has been resolved by adding handling for the null pointer exception. | Decision Management |
INC-268327 INC-A6484 |
811795 816118 |
Improvement in decisions when using fallback strategy | While pzTakeExecMonSnapshot QP was processing and inserting records in the summary table, there were slow inserts and the out of memory error "Requested array size exceeds VM limit" was seen. This has been resolved by adding a check for the sampling condition on multi-level execution format, and compression of quantile summary on merge of numeric summaries. | Decision Management |
INC-268520 | 807311 | Support for FIXED type in Avro schema | The exception "kafka.api.serde.avro.AvroSerdeException: Unsupported data type: FIXED" was generated when using the Kafka cluster schema registry to receive Avro formatted messages. This was due to the schema registry providing the schema with attributes declared as FIXED type, which was not supported. This has been resolved by adding handling for enum, fixed and bytes. | Decision Management |
INC-269211 | 813003 | Improved performance for "isInList" functions | The function pxstringarrayhasvalue has been refactored to improve performance. | Decision Management |
INC-269322 | 825701 | Validation added to check for Strategy pagelist class | While triggering a batch data flow, the exception "decision.compute.ssa.exception.DecisionRuntimeException: class java.lang.String cannot be cast to class". This was caused by the mapping involved in the strategy shape in the Data flow attempting to map a page list property of the customer class when only page lists of a class type that inherits from Data-pxStrategyResult class should be mapped here. To resolve this, extra validation has been added on the UI to check if the selected pagelist property is of SR class. | Decision Management |
INC-269517 | 806383 | AggregatesSaveOperation provides per record errors | If a single record failed in a batch due to an invalid pySubjectID, the whole batch failed and logging did not assist with finding the bad record. This has been resolved by updating the error handling in AggregatesSaveOperation so that only the record with missing pySubjectId is marked as failed. | Decision Management |
INC-270817 | 823212 | Updated aggregation partition handling | Real Time Data Grid (RTDG) nodes were continuously restarting. Investigation showed that when handling very big simulation data, the partition of records being inserted became older than current partition, i.e. after an hour the system was still inserting records from the previous hour, causing the aggregation to fail while the collection buffer continued to build up. When the buffer hit the limits related with arrays (due either to current JVM settings or JVM limit) then the JVM crashed and the restart occurred. To resolve this, an update has been made to use a proper limit for the array size and modify the aggregation to aggregate all partitions and not just the current one. | Decision Management |
INC-272643 | 804943 | WhiteList and AllowList optimization made consistent | Some functions included in the 'pyWhiteListFunction' data transform were appearing as unoptimized. However, when the same functions were added to the 'pyAllowListFunction' data transform, the status showed as optimized. The function of whitelist and allowlist are the same and there should be consistent handling of the components; this has been resolved with an update to support white-listed functions as expected. | Decision Management |
INC-A10575 | 827415 | Corrected Visual Business Director time group logic for aggregates | Visual Business Director aggregates by month were incorrect. Investigation showed that when a query groups by time (monthly, quarterly, etc), the records for the last minute of the last month/quarter were missing. A similar query with the 'group by' removed, did include records from the last minute. This was traced to logic which rounded the end timestamp for the bucket to 11:59:00 instead of using 11:59:59, and has been resolved by updating the time binning to use inclusive logic to correctly calculate the end timestamp for the last bucket as passed in the API. | Decision Management |
INC-A11002 | 828127 | Updated context handling to resolve strategy exception | After update, the Strategy FinalActionLimitsAndBundling was failing with the exception "ExceptionWithInputRecord: decision.compute.ssa.exception.DecisionRuntimeException: Binding for variable Primary was not found". This has been resolved. | Decision Management |
INC-A1154 | 804429 | Resolved context for class loading of metrics for DDS | Campaign runs were failing with the error "NoClassDefFoundError: Could not initialize class com.pega.dsm.dnode.api.dds.service.CassandraSessionCache". This was traced to a context issue and has been resolved by using an explicit classloader to load DDSMetrics in CassandraSessionCache to prevent unsupported operation exception. | Decision Management |
INC-A11748 | 822082 | Updated handling for duplicate predictions | Multiple versions of each prediction were shown on the Prediction landing page in Prediction studio. Investigation showed these were created in two different classes due to application context, and this has been resolved with an update to ensure if there are two predictions with the same name in different classes then selection will be based on rule resolution. | Decision Management |
INC-A12371 | 824272 | Handling added for node stuck in queue processor initialization | The real-time data flow was getting stuck in the initialization state. This was due to it waiting for an in-progress partition to finalize, but before it was allowed to fail the data flow was run and it was skipped in the new partition assignment because it was shutting down and was never detected as an unhealthy partition. To resolve this, an update has been made to reset a dead partition when a run is in pending pick up state and has fail intent. | Decision Management |
INC-A12661 | 823392 | BigInt values handled by File Data sets | When using Data flows and File Data sets where one of the fields (AccountID) was configured as bigInt in the source system, the created JSON did not have quotes around it and executing the data flow generated a "Completed with Error" status. To resolve this, support has been added for bigInt values in the parsing logic. | Decision Management |
INC-A13515 | 824176 | Resolved ADM Node rebooting due to Invalid Factory keys check | An ADM Node was rebooting continuously. At ADM service startup, a database check is run for any factories whose keys have become invalid because they do not contain all of the Context Keys that have been configured on the model rule (e.g. when Context Keys have been added to the rule while there are already existing models which do not have this key). The service will be in a Pending-Joining state until this process finishes. In this scenario, the node was being restarted before the startup had finished, leading to a loop. To resolve this, the invalid factory key check no longer generates empty factories. The ADM node will start immediately even when there are invalid factory keys, and the invalid or empty value keys will be logged. | Decision Management |
INC-A13723 | 828456 | Corrected HTML code appearing in email body | After update, HTML code was displayed in the email body in Email Manager portal and Pulse UI. This was traced to cross-scripting filters formatting the Email response as plain text, and has been resolved by adding a condition check before calling crossScriptingFilter to avoid mis-formatting the response. | Decision Management |
INC-A14125 | 826039 | Corrected Decision Strategy Manager (DSM) API delegation | Obj-sort in activity and Sort in Datatransform were failing with the error "java.lang.UnsupportedOperationException at decision.dsm.strategy. clipboard.DSMClipboardPageAbstract" Investigation showed that when using a batch data flow with a data transform which called another data transform performing the sort action, a new method introduced to execute data transforms for optimized pages in Decision Strategy Manager (DSM) did not delegate to the correct API. This has been corrected. | Decision Management |
INC-A14423 | 825435 | Added fallback for absent value Component | When a proposition was deleted during Strategy compilation, which could happen if a rule was resaved a global optimized strategy recompilation task, the error "Exception in stage: GOS_NBA_TopLevel" was generated indicating "Optional.get() cannot be called on an absent value Component". This has been addressed with an update which will return null in cases where the optional value was absent. | Decision Management |
INC-A1468 | 805657 | Improved implementation of asynchronous writes into DDS | Existing real-time container response depends on several DDS writes happening within pxDelayedLearningFlow. In order to improve performance, the writes will happen asynchronously and be configurable per node. Asynchronous writes can be enabled via the dnode/save_dds_async_processing_enabled prconfig setting, and the number of threads used for async writes can be configured via dnode/save_dds_async_processing_thread_count. | Decision Management |
INC-A15306 | 828228 | Removed javascript files for deprecated Visual Business Director (VBD) planner | A cleanup has been performed for legacy Visual Business Director (VBD) planner files which are not in use, including outdated versions of moment.js. | Decision Management |
INC-A15641 | 827125 | Updated handling for multiple real-time dataflow runs | When using a set of queue processors given very similar names such as CreateCases, CreateCases1, CreateCases2, CreateCases3, CreateCases4, etc, which all used the same queue processor activity CreateCases, stopping the queue processor CreateCases in production stopped all of the other queue processors of the set which then reinitialized, and when any one of the queue processors was started, all of the queue processors were started. This behavior was only seen when the set of queue processors CreateCases{1 .. N} were created by "Save As" of the original rule queue processor without the suffix. Investigation showed that whenever a real-time data flow went to an end state (stopped or failed), wrong assignments were invalidated in a few cases. This was happening because of a deletion query removing a few too many entries due to an incorrectly configured 'like' query, and has been resolved with an update that will only delete accepted assignments for the data flow that is stopping so the other queue processors will be unaffected. | Decision Management |
INC-A16791 | 829938 | Performance improvement for Container REST calls | The issue of strategy execution delays at node startup has been addressed by loading and compiling globally optimized strategies (GOS) before the node is declared available for the load balancer. | Decision Management |
INC-A17541 | 832764 | Corrected clipboard handling for Interaction History summary cache | After populating the “pxPegaSummaries” list in the activity and invoking the single case data flow using the pxSingleCaseDDF API by passing the “useOptimized = false”, the execution failed and started throwing the exception "Expected DSM clipboard pages but got com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl". The same configuration worked as expected if “useOptimized=true” was used. This was traced to the Interaction History summary cache returning the wrong type of Clipboard page in some environments, and has been resolved by converting the page to the type defined by the tools before returning it from the Interaction History summary cache. | Decision Management |
INC-A17949 | 831647 | DSS added to allow Backfill to skip errors | The error "Positions out of order" appeared in the Backfill (BF_Interaction History) dataflow, and the Aggregate dataflow became stuck with failures. This was traced to duplicate Interaction History records in the S3 location. Backfill is configured to fail if there is an error on a record, as errors in records most commonly reflect errors in configuration (e.g. two separate environments pointing at the same S3 repository), but two new DSS setting have been introduced for ruleset Pega-DecisionEngine to allow configuring Backfill to skip errors if desired. - cep/aggregation_service/error_on_backfill_duplicate Values: True/False (default: True). When running Backfill by default the dataflow will register errors if records are out of order/duplicates. Changing this value to false will disable this behavior and ignore these duplicate records. - cep/aggregation_service/max_backfill_errors Values: 0-MAX_INT (default: 0). By default the Backfill run will fail on the first error. This is currently done out of concern for storage errors (e.g. Cassandra read/write problems). This DSS allows this configuration to be changed, for example to handle a small number of invalid records in S3. |
Decision Management |
INC-A2548 | 817812 | Able to set pyOutputClassName on simulation reports | After previously creating a database output destination, it could not be selected because it was not visible in the add Existing output screen. This was due to pzGetDataSets being designed to get all data sets in the system without a good filter condition. To support this use, the report definition pzGetDataSets has been updated to only return results for data sets with applies to class starting with "Data-". | Decision Management |
INC-A3182 | 814745 | Added handling for special characters in uploaded document names | When attempting to add an existing document to a space, special characters in the document name such as a "(" were replaced with their unicode value when the name was populated to the field. This caused a failure because the document names didn't match. This was due to the cross-site scripting filter, and has been resolved by changing the parameter string passed to the data page which fetches list of documents to have to the Document ID instead of the label. | Decision Management |
INC-A3322 | 812067 | Corrected document inline view handling | When using the pyAttachmentFeedDescription control to display attached documents with just minimum details such as type (PDF) and file name but not upload date, operator, etc, the 'when' condition in pxHaveAttachmentInlineViewAccess that evaluates if the document can be previewed was not checking the correct file which was clicked. Investigation showed this function was taking the Inskey of the work object and trying to pull all the attachments linked to the case, then retrieving the attachment(1) from the results that were sorted by pzInsKey. For example, given 10 attachments uploaded into 10 different file categories, trying to open/display the document caused the system to get all documents and take the oldest document (based on pzinskey sorting order) for checking the category access. This has been resolved with an added check in the DisplayAttachFile activity to use the correct page value to check if inlinepreview is allowed for the attachment. The activity will exit if not allowed. | Decision Management |
INC-A3416 | 824957 | Handling updated for proposition cache refresh | After update, TopLevelNBO was not providing results. Results were given on individual nodes only after running application validation or accessing proposition hierarchy landing page. This was traced to the proposition cache being refreshed from the PegaRules application context. The RAP import which has Actions, Prop filters and other rule types triggered the system pulse which queued the activity pyReloadPropositionCache activity. This queue item was picked up in PegaRules application context when the master agent woke up to process the pending queue items, and the execution caused the system to replace the proposition cache with empty results as there were no issue/groups defined in the PegaRules application context. To resolve this, a 'when' condition has been added which will exit the activity when invoked in the PegaRules application context. | Decision Management |
INC-A3886 | 809223 | ALT attribute information updated for attached file icons | When a document was attached, the default alt text was "Document type icon" regardless of the type of extension on the file. This has been updated for better accessibility with added field values and a decision table for alt text for attachments. | Decision Management |
INC-A4102 | 809484 | Visual Business Director security update | HTML injection protections have been updated for Visual Business Director. | Decision Management |
INC-A4475 | 824776 | Corrected condition check for Pulse messages | After update, attempting to post Pulse messages from assignment tasks generated the message "Error in commit:BadTableMappingException: Database-BadTableMapping-TooManyProperties PegaSocial-Message pegadata.pc_work_social PegaDATA". This was traced to the PropertyHasValue method adding a property to the page instead of returning the boolean value, and has been resolved by revising the condition for checking the .pyReference value. | Decision Management |
INC-A5424 INC-A5053 |
817803 831019 |
Improved performance for Globally Optimized Strategy recompilation | Performance improvements have been made to address an issue with inbound API calls timing out due to latency observed during Globally Optimized Strategy recompilation. | Decision Management |
INC-A5718 | 815044 | JAWS correctly announces New Task error message | When using Microsoft Edge and JAWS 2022, JAWS did not announce the error message when any field was missing a value on the create task screen on the Home tab. This has been resolved by updating the accessibility of the section to 'component/widget'. | Decision Management |
INC-A5936 | 819057 | Visual Business Director security update | HTML injection protections have been updated for Visual Business Director. | Decision Management |
INC-A7105 | 825730 | addFieldConditions method synchronized | After upgrading from Pega Platform version 7.3 to version 8.7, the exception "decision.strategy.api.exec.ComponentExecutionException: Strategy component: [ControlGroupSelection].[OHOG IH for 60 Days] failed to execute" was generated during a campaign run. This was traced to the Interaction History shape failing to execute due to a concurrency issue, and has been resolved by making the addFieldConditions method synchronized. | Decision Management |
INC-A7802 | 823005 | All relevant records appear on the landing page | If more than 50 strategies were marked as relevant, the Relevant record landing page only showed the first 50 strategies. This was traced to the 'pxLoadRelevantRecords' of class Rule-Decision-Strategy having the checkbox 'Enable Paging' checked, and has been resolved by removing pagination from Rule-Decision-Strategy pxLoadRelevantRecords. | Decision Management |
INC-A8654 | 816241 | Support added for NBA Explainability and Eligibility Extract | An update has been made to support extracting a customer's list of eligible actions for all interactions in production with details that would explain why an action would not be prioritized against other actions. This is handled by adding a section to the property panel of the Strategy shape in a data flow which allows persisting only a subset of the strategy results to pxDecisionResults for Delayed Learning by choosing a result component in the strategy rule. | Decision Management |
INC-A978 | 812225 | Corrected latency calculations when using secondary source | The data fetch latency in PDC calculations were not correct when using data flow as a secondary source. Investigation showed the system was using an incorrect metric collector when a secondary source is embedded in a Data Flow, and this has been resolved by using the SecondarySourceStageMetricTracker class if the source is included in a secondary source Data Flow (e.g. from a Compose shape). | Decision Management |
Low-Code Application Development
8.8.4 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-266539 | 814665 | IsInListofValues regex replaced with Apache Commons CSVParser | After configuring a 'when' rule with an "Is In" list of values functions that was given around 400 values, the 'when' rule was not executed during runtime. The results were blank and a stack overflow error was generated. Investigation showed the regex pattern in the pxIsInListofValues function caused the stack overflow error due to the recursion depth exhausting the available stack space. To resolve this, the regex pattern has been replaced with the Apache Common's library method CSVParser. | Low-Code App Development |
INC-266990 | 794819 | Updated privilege handling for Customer Decision Hub portal | Certain tabs were not visible in Customer Decision Hub. This was traced to BAC changes which limit what is shown based on the access groups, and which did not cover the use case of the Customer Decision Hub portal acting as a developer portal while not using an access group with developer privileges. To resolve this, an extension 'when' rule has been added for Customer Decision Hub to override and update the logic to show/hide tabs in Delegation. | Low-Code App Development |
INC-272619 | 805292 | Guided tour stop and resume work consistently | When the guided tour was stopped, the behavior was inconsistent on resuming the tour if there were hidden tour stops. When paused on a tour stop which was then followed by a visible tour stop, resuming the tour started at the point where the tour stopped. When the stop was followed by an invisible stop, resuming the tour skipped to the next visible stop. This has been corrected. | Low-Code App Development |
INC-272990 INC-A9055 INC-A9783 |
806390 819239 819919 |
Corrected validation rule resolution after modification | A validation rule showed OR in the statement but validated at runtime as an AND condition. This happened only when the second condition was given as AND, then one more condition row was added as OR, and the second condition was deleted, and has been resolved by updating the pzBasicValidWhen section to remove the pzSwitchOperation activity call on refresh of pyCondValueCategory. | Low-Code App Development |
INC-273641 | 805982 | Corrected attachment size validation rounding error | When the max size for attachment was set to 5 MB, a 4.6MB could not be uploaded. This was traced to the base64 encoded attachment stream data size logic used to calculate the attachment size, which resulted in a size higher than actual size of the uploaded file. This has been resolved by modifying the logic in the pzUploadAndSaveFile activity. | Low-Code App Development |
INC-A16711 | 829761 | Enabled Constellation back button for Alternate stages | The checkbox provided for allowing users to go back to the previous step in Constellation was not working in Alternate stages. This has been corrected. | Low-Code App Development |
INC-A3161 | 812312 | Data modeling and survey respect property optimization DSS and privilege | After update, leveraging the Questionnaire creation to non-developers failed as they lacked access to Column creation in the database. This was due to a change in the handling for questionnaire creation: in Pega Platform version 8.3, questionnaire answers are mapped to a field and data stored in Blob. In Pega Platform version 8.7 and higher, the property is exposed by default and thus the creation failed due to permissions. To resolve this, a check has been added to evaluate if pxIsPropertyOptimizationAllowed is true in places from data model so the Data modeling and survey will respect property optimization DSS and privilege settings. | Low-Code App Development |
INC-A7376 | 816518 | Corrected workPage for pzApplyPageInstructions | The pzUpdateCaseWithRequestBody activity for the pzApplyPageInstructions activity work page parameter was not passing during the PUT/Refresh DX API call. This caused the pxObjClass (ex: Data-Party-Ind) of the pyWorkParty(Customer) to override with the class defined in the pyWorkParty page group property, which resulted in the DX API returning a validation error. This has been resolved by setting the Param.workPage parameter, which is used in calculating class for content, while calling the pzApplyPageInstructions activity from the pzUpdateCaseWithRequestBody activity. | Low-Code App Development |
INC-A7629 | 816784 | Branch Quality limited to test cases for Rules in branch | Branch Quality was showing test cases for Rules not in the branch. Investigation showed it was pulling the test cases based on the rule name only and ignoring the type of rule. This was due to the activity rule that populates the pyBranchAUTs property list for the Unit Test Cases under the Branch quality dashboard referencing the Data page and passing a null parameter. This has been corrected. | Low-Code App Development |
INC-A8821 | 822386 | Corrected guardrail warning for for Onchange Activity | Calling the Onchange Activity type from the onchange rule caused the activity to throw a severe guardrails warning. This has been resolved by updating Rule-Obj-Activity!checkForWarnings to distinguish between trigger and onchange type activities so it will only show the guardrail message when appropriate. | Low-Code App Development |
Mobile
8.8.4 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-A14019 INC-A11637 |
829534 830301 |
Mobile splash screen background reflects custom branding | The splash screen background color was not reflecting the branding asset in the custom.properties file and instead defaulted to the Pega background color. This was traced to pySplashUploadType being set to "Upload" if it was empty during mobile channel open, but when custom branding assets are uploaded it should be empty. This has been resolved by adding a condition to not set the pySplashUploadType when pyLabel is "Custom". | Mobile |
Project Delivery
8.8.4 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-237089 | 746839 | Updated troubleshooting for correspondence template | The documentation for email bot troubleshooting has been updated to clarify that adding a correspondence rule for a suggested email reply to the channel requires that the correspondence template be created in an open ruleset. | Project Delivery |
INC-238815 | 755843 | Documentation clarification: system name DSS not available for Pega Cloud | The documentation for using a dynamic system name has been updated to clarify that the option to change the system name is not available for Pega Cloud deployments. Do not attempt to use this setting. | Project Delivery |
INC-250457 | 770096 | Email server integration clarification | The documentation for integrating the application with an email provider has been updated to clarify that Pega Infinity does not modify any incoming messages. It receives the messages after the external email server runs all relevant checks. | Project Delivery |
INC-259495 | 787440 | Access Controlled policy documentation updated | The policy documentation for Access Controlled Properties has been updated to clarify that users cannot use filters on columns where ABAC PropertyRead policies are applied on the property. | Project Delivery |
INC-265856 | 794814 | UI requires "Unsafe Inline" for Style-src | The documentation for security policies has been updated to clarify that unsafe-eval and unsafe-inline must be checked for Script-src and Style-src to avoid UI issues. | Project Delivery |
INC-267487 | 802273 | S3 repository documentation updated | The documentation for adding an S3 repository has been updated to clarify that connecting to Amazon S3 with VPC endpoints is not supported. | Project Delivery |
INC-269739 | 800513 | Compare on history of rule documentation updated | The documentation for Rule versions review and comparison has been updated to clarify that you can compare only historic versions of the rule. You cannot compare the current version of the rule with a historic version unless your current rule is checked out. If the current rule is checked out, the Compare With Checked Out button appears. | Project Delivery |
INC-270744 | 803439 | Access policy control documentation updated | The documentation for creating access policy control conditions has been updated to remove references indicating that string values in ABAC policy conditions must be capitalized. This is not necessary. | Project Delivery |
INC-272149 | 808363 | Localization documentation corrected | The documentation for localizing an application using Constellation has been updated to correct a missing line in the JSON example. |
Project Delivery |
INC-A644 | 813130 | Parent/Child case interaction documentation added | Documentation has been added explaining the expected behaviors when parent and child cases are worked in multiple tabs in the same user session. Please refer to "Best practices for managing interactions between parent and child cases". | Project Delivery |
Reporting
8.8.4 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-270230 INC-A3434 |
804455 812577 |
Option to enable/disable elastic search Cluster Service logging | After update, system slowness was seen during startup. This was traced to the the behavior of logger "org.elasticsearch.cluster.service.ClusterService" being changed to log all entries. Disabling it or resetting it to "Error" still resulted in DEBUG and TRACE entries in the log. To resolve this, the logging has been made configurable with the setting "disableOverrideElasticsearchClusterServiceLogger". The default value is false. | Reporting |
INC-271698 INC-A11631 |
801249 822494 |
DSS added to consider all fields when using SRS | Not all fields were indexed after migrating to Search and Reporting Service (SRS). In an embedded search model, all top level properties were available for full text by default. In SRS mode, only properties available in content security policies and Relevant records are indexed by default. A property may be indexed for full-text search (FTS) in embedded mode but will be skipped from indexation in SRS. To allow indexing of all fields outside of the model and make them available for full text search when using SRS, a new DSS has been introduced: indexer/srs/indexAllFieldsForFTS . All new data will be indexed as a list in _ftsValues, and it will be activated only for Work and Data (since Rule already has _unstructured). Only properties with the following types will be indexed: TEXT, INTEGER, IDENTIFIER, IDSTRING, DECIMAL, AMOUNT, UNKNOWN. | Reporting |
INC-272787 | 808349 | BIX Extraction rule history updated for descendant classes | BIX Extraction rule history was not properly updated after executing the extraction rule. This has been resolved by ensuring the extraction historical entry is updated when extracting the data from descendant classes. | Reporting |
INC-273436 | 810242 | DSS added to configure BIX extraction buffer | When a case was modified within 5 minutes of the BIX extract run, it was skipped from the extract. This sometimes resulted in a case being skipped for several extract days depending on the frequency and timing of the case update. In order to make this interval configurable, a new DSS has been added. BIXLastExtractionBufferTime has a default of 5 minutes. | Reporting |
INC-A11826 | 825227 | Corrected datatype for Report Definition datetime | It was not working to specify a symbolic condition such as [Today] for a datetime property in a report definition [Date and Time] interval. This was caused by the datatype being saved as "DATE TIME" instead of "Date Time" when created from UserPortal, and has been resolved by updating the pzGetSelectedValues Activity to correct the datatype. | Reporting |
INC-A13181 | 825330 | Custom header/footer DSS added for Export to Excel | Support has been added for custom Header/Footer text in Excel files using the ExportToExcelStaticText DSS. The Static Text appears on the top and bottom of each exported page if the DSS Setting is not empty. | Reporting |
INC-A14123 | 826102 | Select values time period modal made accessible | The <select> element within a report used to display the Time periods tab was missing an accessible name. This has been resolved by adding an aria-label to the select tag for the two custom controls used in the Report browser. | Reporting |
INC-A14124 | 826094 | Added accessibility to My Reports data tables | Data tables within My Reports were missing an accessible name. This has been corrected. | Reporting |
INC-A1480 | 815343 | Updated PDF cross-site scripting protections | Cross-site scripting protections have been updated for PDF generation. | Reporting |
INC-A3332 | 809619 | UserDashboardSlot handling updated | After update, the UI was not rendering as needed and the Create Team button was not accessible. This was traced to a configuration issue with the pxUserDashboardSlot section in the Pega-EndUserUI:08-08-03 ruleset that affected the swimlane template, and has been resolved by updating the navigation configuration for repeating dynamic layouts by checking use form navigation (by tab) in the System-User-Dashboard-Slot.pxUserDashboardSlot and Data-Admin-WorkGroup.pyTeamsWidget sections to ensure "Inline Grid Triple" is used for the layout orientation format when needed. | Reporting |
INC-A6794 | 819275 | Accessibility improved for My Reports - Select values | On the Select Value modal, the search text field, search button, and checkboxes were missing an accessible name. This has been corrected. | Reporting |
INC-A7495 INC-A4889 |
818072 828717 |
Improved query time for reindexing internal class | A socket and statement timeout occurred while reindexing a dedicated internal index class. This has been resolved by updating the query to remove the sorting condition while indexing internal classes to avoid timeouts. | Reporting |
INC-A9602 INC-A11469 INC-A11974 INC-A12028 INC-A12029 INC-A12194 INC-A12976 INC-A14590 INC-A14590 INC-A14590 INC-A14590 |
820965 822228 824917 822157 822162 822930 823263 828307 826598 825732 825685 |
Support added for Postgres MATERIALIZED/NOT MATERIALIZED | Performance impacts were seen after upgrading Postgres. Beginning with Postgres 12 there has been a change in query plan allowing common table expressions (CTEs) to be inlined into the outer query. CTEs were not inlined in Postgres 11 and were always evaluated before the rest of the query. With Postgres 12 and higher, they are automatically inlined if they have no side-effects, are not recursive, and are referenced only once in the query. Inlining can be prevented by specifying MATERIALIZED, or force multiply-referenced CTEs by specifying NOT MATERIALIZED. In order to improve performance, this update adds support for the materialized keyword to improve the performance of the descendant classes native SQL query for Postgres 12 and above. | Reporting |
Security
8.8.4 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-261899 | 811273 | Global resource setting (GRS) syntax supported for password reset email | Authentication emails were not being sent as expected when using the 'forgot password' flow. Investigation showed that when the value for the port was provided through the application settings (D_pxGetApplicationSettingValue), it was not getting picked. The system then attempted to use the default port 25, resulting in an error and the email not being sent. To resolve this, an update has been made to support global resource setting (GRS) syntax in the 'forgot password' flow for fields in the Email Account. Note: When using GRS syntax with Email account, ensure that the datapage referred for GRS syntax is in unauthenticated context. | Security |
INC-268552 | 822236 | Corrected authentication handling for Proof Key of Code Exchange (PKCE) | When using SSO for Google Angular via OAuth2.0 (PKCE) and SAML (for IDP), the Angular dashboard had intermittent loading issues after successful authentication from IDP. Investigation showed this was caused by a token request failure due to the matching pair of code verifier / code challenge not being correctly validated, and this has been resolved. | Security |
INC-272606 | 809929 | Improved security for redirects | Cross-site scripting protections have been updated for redirect scripts. | Security |
INC-A13971 | 829423 | Improved customization for “discoverable results” message | It is possible to customize the displayed message generated by the pxDiscoverableItemsCount section rule by overriding the pydiscoverableItems and pydiscoverableItemsnocount field value rules, which are marked ‘Available’, but it was not possible to remove the hyperlink (which displays a secondary list view with the case IDs of any suppressed items) because the pxDiscoverableItemsCount section was marked as ‘Final’. This has been resolved with an update to make discoverable messages within the report customizable. | Security |
INC-A4012 | 810257 | PegaRules-securityEvent logs present for download | An issue with PegaRules-securityEvent.log not being present when downloading from GOC/MSP has been resolved by adding security event logs to system out. | Security |
INC-A7781 | 819133 | Error message security udpated | In order to prevent potential security issues, an update has been made to limit the amount of information publicly disclosed in detailed error messages related to available libraries. | Security |
System Administration
8.8.4 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-253799 INC-A437 |
797913 806968 |
Job Scheduler improvements | Issues were seen with job scheduler runs intermittently failing. This has been resolved with several improvements around locking, checks for whether the update date time of execution is after the current run time, and improved logging. | System Administration |
INC-254608 | 779466 | Hazelcast client configurations documentation updated | The installation guides for Pega versions 8.8.0 and 8.8.1 have been updated to document that a null pointer error will be thrown for prcluster_service in the PegaRULES log if Hazelcast is set up using the deprecated war-based deployment model. This error does not prevent the Hazelcast server forming a cluster with a Pega node or in its functioning and can be ignored. Handling for the null pointer error has been added to the Pega 8.8.2 patch and all subsequent versions. | System Administration |
INC-268319 | 804119 | Corrected Job Scheduler reference time synchronization | Job Scheduler was intermittently running twice in a multi-node environment. This was traced to an error when synchronizing the reference time due to daylight savings time, and has been resolved. | System Administration |
INC-270873 | 810487 | MFA SMS sender picked from Auth policies | After configuring SMS verification for MFA, messages were sent from the hardcoded Sender IDs "ResendPwd" and "FORGOTPWD" rather the Sender ID defined in the SMS account. This has been resolved with an update which removes the hardcoding and will pick the sender ID from the SMS account configured in Auth policies. | System Administration |
INC-271349 | 818388 | Corrected queue processor delay factor increasing when localized to Italian | When the locale was set to English, the "delay factor" parameter of the queue processor remained constant. If the locale was set to Italian, the delay factor increased by a magnitude of 10 each time the queue processor settings were saved and the page refreshed. If the value increased and the locale was set back to English, it did not continue to increase. This has been resolved by enabling the displayUsingReadOnlyFormatting checkbox in the final section pzDefinition in Rule-Async-QueueProcessor for the delayFactor field which will format and show the correct values in the decimal field. | System Administration |
INC-272335 | 803026 | Run in background lockconfig made available | The pyLockTimeout field, which specifies how long queue processor activity should attempt to lock, was not available from the SendBackground shape despite having fields listed. An update has been made to include Timeout to acquire lock in RunInBackground shape. | System Administration |
INC-272434 | 810925 | Tracer settings edit uses current authenticated session | When switching to the admin studio to modify the tracer settings, clicking "change tracer settings" opened a new window asking for authentication. This was traced to the action being passed to a new session instead of using the existing authenticated session, and has been resolved by updating the activity. | System Administration |
INC-A14326 | 827099 | Stale queue processor partitions cleaned during initialization | After scaling down the queue processor partition count from 6 to 3 using the pxAlterStreamPartitions activity, scaling the partition count up later resulted in the queue processor only processing records from a few partitions and an error was generated regarding partition IDs. Investigation showed that the records for a specific queue processor were not deleted from the pr_data_qp_run_partition table while scaling down, resulting in a mismatch in offset when the partition count was scaled up later. To resolve this, after changing the number of partitions, the queue processor partition will be cleaned during data flow reinitialization. The cleanup is based on data flow partitions: all queue processor partitions which are not available in the data flow partition table or are in "Marked for deletion" state will be removed. | System Administration |
INC-A2276 | 811388 | Enhanced loggers for queue processor | In order to assist with troubleshooting, additional logging has been added for QueueProcessorRegistrar. | System Administration |
INC-A294 | 807211 | Job scheduler scheduled run handling updated | A job scheduler which was configured to run every 85 days on background processing node and only one associated node ran unexpectedly when moved to production and then ran continuously every few seconds on various nodes. Investigation showed the Next run time was older than current time, which was caused by a missed use case for handling the Job Scheduler being configured to run daily while the recurrence of a run was configured to happen sparsely. As a workaround, weekly or monthly recurrence patterns can be used. This has been resolved by updating the days and ms separately to avoid overstepping the maximum integer value. | System Administration |
INC-A5765 | 811825 | Added handling for default value in job scheduler date calculation | The configuration to pass certain parameters to be used in the Date calculation in Job Scheduler activity was not working as expected, leading to incorrect calculations. This was traced to an issue with using a Default value in the activity and expecting the background job to pick it up as a parameter, and has been corrected by explicitly setting a parameter on the javascript ruleform activity parameter section. | System Administration |
User Experience
8.8.4 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-219191 | 719968 | Show next Error bar replaced for accessibility | The documentation for layout groups has been updated to reflect that the Show next Error bar has been retired and substituted with more accessible error symbols to meet the WCAG ARIA guidelines. | User Experience |
INC-241515 | 789566 | Skin issue corrected for child case in Mashup | After creating and configuring a new channel in the pre-production environment to be integrated with the Salesforce platform, including the Mashup code in Salesforce only displayed a blank page and some sections disappeared from the child case.This was due to a missing skin name parameter for the iframe src URL when action within Mashup is launched, and has been resolved. | User Experience |
INC-243080 | 806332 | Updated handling of custom authentication login failover | While testing a simulated authentication server crash, users were presented with a login screen to choose their authentication method instead of being automatically redirected to using SSO. This was traced to the handling of custom authentication login: when the session ended the system was not able to remember the URL and redirected to the Pega standard login screen instead of using local storage. To resolve this, the custom authentication URL will be stored in local storage and a check has been added for this so the system will redirect to the expected login screen. | User Experience |
INC-250619 | 781030 | Updated special character handling for AJAX tabs | After creating a new case that opened in a new tab, going to Worklist and opening the same case from step 1 opened the case again in another tab. This occurred when the AJAX container was configured with T-(), and has been resolved by adding handling for special characters in an AJAX container tab name. | User Experience |
INC-258073 | 781568 | Group popover accessibility improvements | When using JAWS and activating “Group” from a repeating grid, a pop-up appears and “Add a field to group” receives visible focus. Selecting enter brings up a combobox to make a selection while focus remains on the “Add a field to group” link to allow users to add up to three combobox variations. However, when the focus remained on the link there was no accessible announcement that the combobox had appeared. Once the user has selected three comboboxes, the announcement from JAWS simply said “My Work”. This has been resolved with several accessibility improvements, including announcements that the combobox has been added. | User Experience |
INC-258442 | 824307 | Create Pin control updated | The control for the Create Pin description has been updated from label to pyInstructions to resolve an issue with displaying in read-only mode. | User Experience |
INC-261160 | 807035 | Resolved SECU0001 error on wrapup | Wrapping up an interaction was generating a SECU0001 error. This has been resolved by registering the ClientParameters for the pzActionCancel Rule-Utility-Function. | User Experience |
INC-263486 | 790925 | Updated handling for saving embedded data on refresh | Field data populated in the UI using a pyRefreshData data transform was not getting saved with the case. This occurred when using a Repeating Page list (pyWorkPage.Directors(1), pyWorkPage.Directors(2)) etc. Investigation showed the response of the refresh-api call was not generating any page instruction so the value coming from the server was not captured. This usecase has been handled by registering a call on serverChanges so the callback will contain context and the property reference and its value for use on submit. | User Experience |
INC-263718 | 794436 | Corrected unexpected appearance of dirty check modal | The unsaved changes modal appeared when there were no changes done, and the modal appeared twice, once from the browser and another time from the application, when there were actual unsaved changes. This has been resolved. | User Experience |
INC-263891 | 795750 | Corrected focus going to negative positioned elements | When selecting the values from a multiselect, the scroll bar was not auto-adjusting properly and focus was moving to the top. This was traced to the text area in multiselect being hidden using negative positioning, and has been resolved with an update which will not focus Negative positioned elements. | User Experience |
INC-264243 | 794567 | Accessibility added for stakeholder text control | The stakeholder name text is an actionable element that expands or collapses a popup card when bringing a mouse onto it. JAWS was reading out the text only as static text and not announcing the proper role such as button and current or updated state either expanded or collapsed. With this update, the Stakeholder(s) name in the Utilities panel is now a semantic button which can be interacted with via keyboard. The Stakeholder content is now provided within a dialog with the appropriate role and function of a dialog modal. | User Experience |
INC-264516 | 805713 | Create harness consistent across environments | A harness that was working in DEV and QA was not working in UAT. Investigation showed the circumstancing for the pzForCreateStage rule was not consistent in the different environments, and this has been resolved by modifying pzDefinitionForDesktopCreateStage to add a condition to not load for 'actertiary'. | User Experience |
INC-264720 | 791568 | Added support for PD4ML document view parameter | After upgrading from Pega Platform version 7 to Pega Platform version 8, a generated PDF did not have Fit to Width scrolling as expected. This was due to an issue with PD4ML, and has been resolved by updating to the latest version and adding support for the parameter pd4ml.document.view.mode. This parameter defines the default view mode for generated document, with the accepted values being "SinglePage", "OneColumn", "TwoColumnLeft", "TwoColumnRight", "TwoPageLeft", and "TwoPageRight". | User Experience |
INC-264952 | 793249 | Japanese space correct in PDF export | An issue with Japanese double-byte space being neglected when exporting to PDF has been resolved with an update of the PD4ML jar. | User Experience |
INC-265354 | 795418 | Error message styling updated for CaseActionArea | After update, the expected error message did not appear when creating/updating an operator in the End User portal. After specializing the rule Work-.pyCaseActionArea to show errors, a bullet appeared before the error message. This bullet was the result of previous work done to prevent Page level error messages from being concatenated and was inadvertently exposed by the local specialization of the Work-.pyCaseActionArea rule. To resolve this, a modification has been made to update the style when there are multiple error messages. | User Experience |
INC-265558 | 801985 | Rich Text Editor displays asterisk for mandatory fields | After update, Rich Text Editor fields were not displaying an asterisk for mandatory fields. This has been resolved by adding the needed CSS selector to display '*' for required Rich Text Editor fields. | User Experience |
INC-266355 | 808202 | Improved accessibility for dialog name | When using Microsoft Edge and JAWS 2022, JAWS announced dialog as "View Dialog", instead of "Save As New View Dialog" or "Edit View Dialog". This has been corrected. | User Experience |
INC-266527 | 810800 | Offline mobile app error message localized | Localization has been added for the error message "Please correct the errors indicated and try again" in the offline-enabled mobile app. | User Experience |
INC-266708 | 797606 | Corrected aria attributes for MultiSelect Lists | The aria attributes for MultiSelect lists have been updated so JAWS will announce "combobox" instead of "listbox". The "listbox" role is appropriate for the drop-down list container (e.g., <ul>), and the options (e.g., <li>) within the list with role of "listbox" container have the role = "option". | User Experience |
INC-267956 | 794851 | Revised dirty alert handling for table search box | Dirty Alerts were generated when using the Search option on table layouts. This has been resolved by using the table search box class and skipping the dirty validation for search text input which is part of the table toolbar. | User Experience |
INC-268234 | 797480 | Corrected Navigation Tree node name handling | After creating a Navigation Tree in UI Gallery and selecting the Width Component as Pixels(fit) in the presentation tab of the element, double-clicking on the node and then single/double clicking on any other node showed a duplicate node name and replaced the other node name. Investigation showed the node element was being replaced in the table whereas the description field still held on to the original element name, and this has been resolved. | User Experience |
INC-268786 | 796583 | Corrected session timer spacing | The session timer popup had additional space on the right side. This has been resolved by setting the Iframe width to take full space available. | User Experience |
INC-268876 | 827543 | Corrected lock release for child case | When completing a child case, the system returned to the parent case but then threw the error "You have lost the ability to make this change". This was traced to DoClose causing the lock to be released, which was an inadvertent side effect of previous work done on the context for the doClose activity. This has been resolved by adding a condition to check if a parent/child relationship is there between the cases, and if so skip the code that adds pzPrimaryPageName to safeURL so the lock will not be released. | User Experience |
INC-269073 | 815988 | Parameter added to handle Base64 encoding | While generating a PDF with image from a case, the image was not visible if it was sourced from Base64 encoding. The same encoding worked as expected in browser and in the standalone PDF generation utility. Investigation showed the image's base64 content was causing an exception when decoded via MimeUtility from Java Mail. To resolve this, a new parameter "pyUseBase64Decode" has been added to support the use of base64 encoding. By default it will be set to false. | User Experience |
INC-269105 | 798868 | Corrected dynamic UI date conversion | A date chosen based on timezones was being converted to the operator time zone on submit of the flow when using dynamic UI fields. This has been corrected. | User Experience |
INC-269163 | 820872 | Corrected storage service load logic | The links needed to open a contract, show a previous version of the contract, or links to external systems were not being loaded on the first try in Cosmos React and a 400 error was logged. This was traced to a logic error and has been resolved. | User Experience |
INC-269352 | 806218 | PD4ML jar updated | The HTMLtoPDF activity was taking an excessive amount of time to generate a PDF file from section when there were three or more nested tables in a section. To address this, the PD4ML jar has been updated. | User Experience |
INC-269765 | 808220 | Assignment screen fully visible in embedded section | Only half of the assignment screen photo and text was visible in an embedded web section. Investigation showed that when the field was set to "(always) read-only", the Rich Text Editor created an iframe which could not stretch once the img was loaded because the img load was done outside of the loading the iframe. This has been resolved. | User Experience |
INC-269951 | 819492 | Null check added for datarepeater layout | Multiple Dynatrace errors indicated an issue with pzpega_ui_datarepeateractions js where layoutInfo was undefined. This has been resolved with the addition of a null check which will return from the method if the layout information is null or not defined. | User Experience |
INC-270106 | 810021 | Menu items accessible in Mashup | Accessing a menu with Enter key worked fine if launching the portal in a regular scenario, but the Enter key did not work in Mashup. This was due to missing event listeners for keydown in the use case of directly launching a case in this scenario, and has been resolved by moving the event listeners registration code to top of the function for Mashup. | User Experience |
INC-270615 | 816151 | Corrected missing GroupByOrder registration value | Intermittent 403 BAC errors were seen when an authorized user attempted to move a report from one category to another category. This issue was due to the parameter "GroupByOrder" which requires the default value of "asc" for the pzGetDropdownOptions activity, but which was being set as empty or no value by the generated java of the section pzMoveShortcut7. To resolve this, an update has been made to set GroupByOrder parameter to "asc" when the value is empty or null. | User Experience |
INC-270835 | 803894 | JAWS correctly reads caption and table instructions | When a table had a caption configured, its narration was blocked when it was located within a layout with a header configured. The caption narration was also blocked if the table had a header configured. The grid caption values were also not read by JAWS. To resolve this, an update has been made such that the aria-labelledby information will be updated with caption + table instructions when the grid has caption configured. If there is no caption but the title is configured, then aria-labelledby will be title + table instructions. In the case of no caption and no title, then aria-labelledby will be the table instructions. | User Experience |
INC-270887 | 803064 | Text contrast updated for placeholders and controls | Updates have been made to placeholder color values and link disabled styles to meet the IT Accessibility Standards of a color contrast ratio of 4.5:1. | User Experience |
INC-270947 INC-A11027 |
803424 830847 |
BAC registration added for generateActionFrame activity | Attempting to access assignments generated the message "Error 403 Forbidden Request You are not authorized to perform this action." This has been resolved by adding BAC checks in the generateActionFrame activity. | User Experience |
INC-270992 | 814733 | Separator present in Interaction portal | After update, some Menu items were missing the separator line in the Interaction portal. This has been resolved with an update which will use the current page parameter instead of a new parameter page. | User Experience |
INC-271073 | 804562 | Rich Text Editor control updated | Security around using the Rich Text Editor control has been updated. | User Experience |
INC-271214 | 801744 | Rowheader support for optimized table added | Attempting to configure a read-only table layout with both column and row level headers where a particular column was designated as row header did not result in JAWS reading out the column header association as expected. This has been resolved by adding rowheader support for optimized table based on the column importance. Within the Table Column Properties configuration, setting the column’s importance to Primary will allow for that column to be designated as a row header for the table. It is strongly recommended to flag the first data column in your table as the Primary for best screen reader experience. Also, it is important to only set one column to Primary. | User Experience |
INC-271611 | 818957 | Smoothed UI on change of assignment view | Opening a new assignment caused the assignment frame to resize and jump before displaying the expected content. This has been resolved by stabilizing the height of Editor on initial render. | User Experience |
INC-271915 | 807784 | Updated handling for text area resize | After choosing size to content for textarea and adding more rows than the specified minimum row height, the text area expanded as expected, but the last few rows were not visible when coming back to the screen in the screen flow until the down arrow was pressed. In addition, when the end user screen resolution was around 1344 * 840 or less, the text area was not resized when minimizing or maximizing. This has been resolved by adding a resize observer for textarea. | User Experience |
INC-272052 | 822560 | Corrected filter application after report column sort | After referring a embedded section in a column and adding a reference property in filtering, sorting and then filtering the column showed an empty result. Filtering without sorting first worked as expected. This has been resolved by updating pzpega_ui_templatizedgridcomponent_js. | User Experience |
INC-272346 | 806204 | Validation messages appear as expected for datetime dropdown | When two different date properties using the dropdown list control (rather than the default date time picker) were configured on the same page with client side validation, the error messages were only displayed on the first property and not on the second property. This has been resolved by making the necessary changes to show required validation messages for datetime dropdowns. | User Experience |
INC-272495 | 808218 | Improved accessibility for Case Action menu display | The entire Case Actions menu was presented in one line or string for several applications, impacting accessibility. This has been resolved by updating the aria labels to correct the JAWS field form list issue. | User Experience |
INC-272675 | 801225 | Submit button correctly persists upon listview row action | In an assignment level list view, when a row level action was submitted for a single record the main flow action submit button disappeared. The submit button reappeared if the case was closed and reopened. This issue was caused by the second case type information being merged/updated in the first case type's work area, resulting in the non-availability of buttons.To resolve this, an update has been made to only merge the if parentContainerData and currentContainerData are equal. | User Experience |
INC-273017 | 807602 | Corrected HTML for readonly with helpertext | The layout was distorted when displaying text input fields when DynamicLayout's Skin: Label settings were set to Label Position: Left and the Helper text was present (specified as "Help icon with overlay on focus"). Investigation showed this was caused by one closed span tag not getting generated as part of the HTML if the field was readonly and helpertext on focus was configured. This has been corrected. | User Experience |
INC-273313 | 805288 | Customized error message works for Rich Text Editor | Customizing the Required fields error message was not working as expected for Rich Text Editor.This has been resolved by updating the findLabelFor function to get the Rich Text Editor label. |
User Experience |
INC-273315 | 803836 | Corrected accessibility for attach content error | Attach content error messages were not being read by JAWS immediately after being triggered, and focus was going to the background. Investigation showed the error section did not have the proper role set, which has now been resolved. | User Experience |
INC-273465 | 796825 | Improved accessibility for optimized grid pagination | The rule pzGridActivePage was not setting the aria-label properly for optimized tables and an incorrect page count was read out. This has been corrected. In order to promote an accessible pagination format that is convenient to navigate with a mouse or a keyboard, the DSS NewPaginationForOptimisedGrid has been added. Set this to 'true' to enable the accessible pagination format. | User Experience |
INC-273587 | 805537 | Improved Case Preview accessibility | JAWS was setting the focus on the close button and announcing it without giving any information about the purpose of the Case Preview and heading. This has been resolved by adding a section and field value 'PreviewPanelA11y' to support accessibility in the preview panel close icon. | User Experience |
INC-273643 INC-256869 |
805344 781457 |
Attachment requirement validation check updated | When an attachment upload field was set to required, the requirement was active the first time through the screenflow. However, navigating back to the assignment and deleting the attachment did not generate an error when saving and closing the assignment without uploading a new file. This was due to the method used for the validation condition check, and has been resolved by adding separate keys by property name under the attachment list key. | User Experience |
INC-273644 | 818165 | Corrected soft keyboard layout for NumberInput and CurrencyInput on iOS | On some iOS mobile devices the browser presented a numerical keyboard without "." (decimal). This has been resolved by updating the CurrencyInput and NumberInput components to set the inputmode attribute to "decimal" in cases where the showDecimal property is set to true. | User Experience |
INC-A10334 INC-A21119 |
830261 833926 |
Display harness updated for Advanced attachment view | A 403 error was generated when accessing the Advanced attachment view if the case was launched by clicking on a link from an email. The error did not occur when logging in, navigating to the case, and then clicking on the Advanced attachment link. This was caused by a security authorization event, and has been resolved by adding the portal name to the display harness action with target as popup. | User Experience |
INC-A10776 | 825276 | Dirty popup triggered for date control | When a date control was used with the configuration of "allow text entry" set to no, dirty popup was not getting triggered when a value was entered by choosing a date from the control. Picking the Yes option for "allow text entry" triggered the popup as expected when a value was entered. This was a missed use case for isContainerDirty in pzpega_ui_doc_dirtyhandling and has been added. | User Experience |
INC-A10839 | 823616 | Navigation menu focus reset | Navigation menu focus was not getting reset to the current active navigation. This was traced to an issue with the styling and has been corrected so the blue styling is set on current menu item on the left navigation focusout. | User Experience |
INC-A10991 | 823280 | Text area honors max characters for pasted contents | When using a data transform or activity to copy contents from one text area with no max character limit to another text area which had a max number of characters, the character-limited field accepted more characters than the limit and showed the remaining character count as a negative number. This has been resolved. | User Experience |
INC-A11040 | 823897 | Corrected Helper and tooltip text | Dropdowns using both Helper text and per-item tooltips were broken. Investigation showed the value in the template file for this helper text was set to the property reference instead of the static helper text kept at design time. This was caused by referencing the property in the incorrect path if there were any tooltips associated with the options, and has been resolved. |
User Experience |
INC-A113 | 803390 | Stages accessibility improvements | When clicking the Stage name link from a case and launching the section pzStageName, the repeating dynamic layout used to source the list provides did not provide useful semantic markup indicating a list was present. This has been resolved. | User Experience |
INC-A11944 | 828489 | Added 'when' rule to handle text as datetime | After upgrading from Pega Platform version 7.4 to Pega Platform version 8.8, dates entered were off by a day when saved. For example, selecting the date August 10th, 2023, was saved as August 9th, 2023. This was traced to the data type of the property being Text instead of DateTime, which caused it to use the local timezone. In order to facilitate using the large number of Text type properties already present in the applications, the 'when' rule pyConvertTextAsDate has been added. Setting this to true will convert the date value in the text property to GMT and not the user timezone. | User Experience |
INC-A1195 | 814289 | Corrected mobile sort and filter for embedded section | When pyIsMobile || IsMobileResponsive is added as a visibility condition for layout, it is not possible to sort or filter the columns. This was traced to the property name starting with '.' when the embedded section gives the section name without '.' . This was a missed use case for sort and filter of an embedded section in mobile, and which has been resolved. | User Experience |
INC-A12035 | 822990 | Regex filtering updated for autocomplete | Autocomplete was throwing a console error for the '+' character when "Results display" was list in the Presentation Tab and the "Highlight match" checkbox was selected in the General Tab. This has been resolved by updating the regex filtering. | User Experience |
INC-A12509 | 824628 | Script HTML tags blocked from personalization view name | When using a table or grid in the UI with Optimize code and Personalize table checked, filtering on a column and trying to save that view using PersonalizationName caused the system to freeze. This was traced to an issue in the parsing logic of parseAndGetMetaDataTree when the value of pyPersonalizationName had script tags, and has been resolved by blocking the invalid strings (<script>, </script>, <SCRIPT>, </SCRIPT>, ....) in the personalization view name of template grid. | User Experience |
INC-A13962 | 827488 | Text input security updated | Security protections around sanitizing input text have been updated. | User Experience |
INC-A14040 | 827635 | Improved accessibility for opening dynamic grid work items | My Reports table rows are interactive and when clicked with a mouse open a new tab, but the rows were not keyboard accessible. This has been corrected by adding a VirtualRD attribute with added role="link" and tabIndex=0 on first cell. | User Experience |
INC-A14075 | 827048 | Configuring an Autocomplete control documentation updated | The documentation for configuring an autocomplete control has been updated to clarify that "Property for value" and "Property for display text" configured on the property definition will not work for Autocomplete. | User Experience |
INC-A14082 | 826097 | Accessibility improvements for My Reports table menu options | My Reports table menu options, Summarize and Appearance, displayed modal dialogs which contained controls which did not have accessible names. This has been resolved with an update to use dynamic layout and correctly set the labelFor. Grouping has also been added for some of the checkboxes. | User Experience |
INC-A14209 | 828353 | Corrected TransferAssignment action visibility in Constellation | After adding pyTransferAssignment as a case-wide local action in Constellation, opening the case and clicking Actions displayed the Transfer Assignment option. After refreshing the browser, the Transfer Assignment action was not visible anymore. In Constellation, some actions are only available when an assignment is open in perform mode. These include "Transfer Assignment" (pyTransferAssignment) and "Change goal and deadline" (pyAdjustAssignmentSLA). Showing Transfer Assignment in review mode in Constellation was incorrect behavior and has been corrected. | User Experience |
INC-A14274 | 829240 | View Less button translation corrected | Localization has been added for the View Less button translation in repeating dynamic layouts. | User Experience |
INC-A14339 | 827405 | Corrected layout for sort and table filter icons | The table filter and sort icons were overlapping when used together. This has been corrected. | User Experience |
INC-A15107 | 829696 | Corrected handling for custom application switching | After update, users with multiple Access Groups were not able to switch between applications by choosing from the dropdown. This was traced to custom transition styles that triggered a call to a method created as a part of left navigation accessibility enhancement, and has been resolved with an update that will ensure focusing on the back button will be fired only for a "transitionend" event called for slide in panel and not when "transitionend" comes from other controls (for example dropdown). | User Experience |
INC-A15996 | 829779 | Display details read only made consistent | The integer control was not removing dot(.) immediately on entering when "Display details read only" was unchecked for integer control. Investigation showed there was a difference between text and integer handling in the pega.c.ITextInput.prototype.keyup method: it removed the dot character immediately for type=text but for type=number control it removed the dot after one more character was entered. This has been resolved by adding code to restrict the entry of dot for integer control with integer property if the input type is number so the behavior is consistent between text and integer. | User Experience |
INC-A16885 | 829206 | Document library generation library updated | Running the wizard through the localization landing page was failing. This has been resolved by updating the document library generation version. | User Experience |
INC-A17186 | 830264 | Corrected modal dialog focus order | After adding the pxAttachContent control to a section, opening the modal dialog and tabbing through to the action buttons caused the focus to go to the button on the right before the button on the left. This was an issue with pzModalTemplate and has been resolved. | User Experience |
INC-A1928 | 808238 | Cell identification updated for column locking | After applying a lock on columns in a grid display sourced from a data page, the first column lock was not reflected after saving the selected columns into a new view or default view. The remaining column locks were correct. Investigation showed this could occur when there are cells which do not have proper labels, and to resolve this the cell index will also be used to identify cells with no proper labels, allowing the system to uniquely identify columns based on the initial column order. | User Experience |
INC-A1964 | 814770 | Updated helper text for date property | Helper texts added to text properties were working as expected, but a helper text created for date property was not reflecting the correct values. This was due to the 'when' condition for the date/time control helper text not bringing up the proper control name in the pyName attribute, returning the value as "pxVisible" instead of the expected "pxDateTime". This has been resolved with an update which will take pyName from the nested "node.pyTemplates[0].pyTemplates[0].pyName" instead of the top level if the visibility is based on a 'when' condition. | User Experience |
INC-A2171 | 807997 | File type and icon match after deletion | When using the File Upload Component within a View Rule, uploading several valid files that have different file types such as png and pdf and then deleting a file (not the first or the last one), caused the preceding file to be labeled with the icon of the deleted file type. The file and the icon no longer match together, such as deleting a pdf file and the preceding png file is then labeled with the icon of the deleted pdf file. Investigation showed that when a file was deleted and the elements were moved over to the next slot, the icons were skipped in that process with the result of a mismatch between file type and icon. This has been resolved by adding an ID property to the element to keep the type and icon aligned. | User Experience |
INC-A2822 | 811780 | Validation message for hidden input of datetime cleared | When Datetime was configured as dropdowns, the client side validation 'incorrect date format' error message was not cleared when a value is selected in any dropdown. This has been resolved. | User Experience |
INC-A3115 | 809616 | Edit button works with case that has more than one assignment | The case details edit button stopped working when there were multiple open assignments in a case. The button uses the activity GetFlowIndex to try to find the pyLocalActionsList property on the workpage level. This property is populated by the activity pyWorkActionsPopulate, which has two different scenarios depending on whether there is only a single open assignment or multiple open assignments. In this case when there were multiple open assignments, each assignment had its own pyLocalActionsList property and the values on the work level were left empty. As a result, GetFlowIndex could not find pyLocalActionsList. This has been resolved by modifying GetFlowIndex to add a check for the multiple assignments scenario. | User Experience |
INC-A3539 | 823987 | Corrected post-resize context handling for navigation arrows | After lowering the resolution for a tab layout, the arrows used to toggle between the tabs were not visible until there was a click on a different tab. This was traced to a context issue caused by the global resizeaction removing the resizeCall of setimeout, and has been resolved. | User Experience |
INC-A3599 | 820459 | Corrected portal focus issue | Focus was getting lost from the portal text boxes and autocomplete dropdowns and preventing data entry. This has been corrected. |
User Experience |
INC-A361 | 797065 | Improved accessibility for left navigation menu items | Accessible navigation of the main left menu has been improved for a more consistent navigation experience for keyboard users. | User Experience |
INC-A4113 | 811961 | View focus moves to top of new view | On a view where a user was required to scroll down to view all the relevant information and then click continue, clicking continue loaded the next step but the focus on the screen remained at the bottom of the next view and not at the top as expected. This has been resolved with an update which focuses on the first focusable element in the assignment region upon render. | User Experience |
INC-A4203 | 814761 | Section Repeating dynamic layout uses correct page context | After update when a table was defined on pagelist B and within each table row there was a section that had a repeating dynamic layout defined on pagelist C with section embedded in it, the section and controls defined on the repeating dynamic layout of Pagelist C were getting the context of Pagelist B instead of C when the sections were rendered. This caused the controls to not work. This occurred when using a pagelist pyWorkPage.A.B(n).C(n), where B and C are pagelist properties which both refer to the same page definition class, and has been resolved by ensuring the correct context for the triggered event. | User Experience |
INC-A4239 | 814024 | Updated parameter registration for Flow in Modal Dialog | A SECU0019 error indicating "Unauthorized request detected : Unregistered request encountered" was generated when using 'Flow in Modal Dialog'. Investigation showed this was caused by the modalflowParams string being generated differently during registration and in the AJAX request payload due to the randomized order of parameters being returned while iterating over the clipboard. As the individual parameters and values are already registered, the registration of modalFlowParams is unnecessary and has been removed. |
User Experience |
INC-A426 | 812901 | Required field error message persists on UI | When a text input field was set with a required condition with Number as the presentation option and the property was configured as decimal, after entering a value and tabbing out and then going back to clear the field the error message flickered and was not persisting. This has been resolved by adding an empty condition check for DecimalPrecision. | User Experience |
INC-A4362 | 808968 | JAWS Focus set on title of new harness | The initial focus for JAWS was set on the left navigation or the next actionable item on the page instead of on the title as expected. This has been corrected to set focus on the header text when harnesses are launched. | User Experience |
INC-A4741 | 825157 | Added handling for Spellcheck exception in Rich Text Editor UI | Using the spellcheck in the Rich Text Editor UI component was causing the browser to hang after pressing the spellchecker button. Investigation showed this was caused by a call to the activity SuspectWords_V2 from pzspellchecker_v2.js which returned HTML to the JSON parsing and crashed the spellchecker. This has been resolved by adding a check for spellChecker returning HTML and exception handling will generate a warning. | User Experience |
INC-A4746 | 811789 | Corrected accessibility focus on dynamic layout expand/collapse | When using JAWS2022 it was possible to get focus on the expand/collapse icon on dynamic layouts while navigating a section with the virtual cursor (arrow keys). This expand/collapse icon should not be present in the Accessibility focus order as the expand/collapse functionality is triggered from header, and this has been resolved by making aria-hidden="true" for the <i class="icon icon-openClose" />. | User Experience |
INC-A4890 | 820203 | Restored previous confirmation dialog for case reopening | In previous versions, the text on the confirmation dialogue for opening a case was "Case_Name (Case_Id) is already open." After update, this was changed to "Case_Id (Case_Id) is already open." To address this, the label condition has been updated in the showConflictDialog function of dynamiccontainer.js for the Confirmation dialog shown in the browser alert box for reopening a case. | User Experience |
INC-A4955 | 814068 | Corrected autofocus on Text Area on validation error | Auto focus was not working on a text area after a validation error. This has been resolved by updating focus for the textArea element in focusFirstElement() in pzpega_ui_doc_focus.js file. | User Experience |
INC-A5046 | 814377 | Corrected JAWS reading My Apps name twice in left menu | When navigating My Apps left navigation with arrows the application name was announced twice by JAWS. This has been resolved. | User Experience |
INC-A5074 | 829284 | Updated parameter handling for dashboard filtering | Clicking on the filter option in one section of the Pega dashboard generated the error "There has been an issue, please consult your system administrator." This was traced to an invalid parameter exception related to nested tables where a section ID was used as the grid metadata page with the combination of grid source. To resolve this, the section pxreportwidgetgridandchartsection has been updated to use the custom result page pyResultReference. The grid activity has also been updated to use the primary page while fetching the unique record and use the pxreportwidgetsetreference activity to populate the unique results page. | User Experience |
INC-A5235 | 818029 | Step name localized | Localization was not working for the step name which comes as a header in the task when using the Constellation interface. This has been resolved. | User Experience |
INC-A5528 | 818685 | Updated row selection implementation for optimized tables | Enabling checkboxes within an optimized table with select all functionality did not persist to all pages within the table. This has been resolved, and support has also been added for being able to check a row checkbox and enable the row header checkbox. | User Experience |
INC-A5548 | 815939 | Constellation popover layering improved | When imitating a Constellation case the date section controls were not being displayed correctly, either by being visible and the background flickering or by not being visible at all. This has been resolved by improving the popover layering. | User Experience |
INC-A5795 | 814850 | Added null handling for dynamic container lite | An intermittent null pointer exception was generated when loading the portal. This has been resolved by adding a null check in the dynamiccontainer_lite file | User Experience |
INC-A5884 | 815292 | Support added to use dynamic class name for Portal harness | After creating a custom landing page and adding it as a default page, clicking the Pega Logo generated the error message "Failed to load harness: Failed to find instance Data-Portal.TestLandingPage of type Rule-HTML-Harness". This was traced to pyPortalNavigationHeader having the class name hard-coded, and has been resolved by replacing the hardcoded class name with the dynamic value D_pzDynamicNavigationPages.pxResults(1).pyClassName. | User Experience |
INC-A5924 | 821455 | Corrected Unicode characters present in radio button aria label | Some radio button labels were being read to JAWS users with Unicode characters not decoded. This has been resolved by adding decodeCrossScriptingFilter. | User Experience |
INC-A6107 | 818118 | Restyled Google Chrome selection box to make text readable | When searching for a case using the left search panel in user portal, using the feature provided by the browser to select one of the cases previously searched resulted in Google Chrome's autocomplete suggestion selection creating a white text over white background which made the text unreadable. This has been resolved by changing the autofilled search input background color while retaining the proper focus styling. | User Experience |
INC-A6248 | 820113 | Removed duplicate guardrail warnings | The section rule pzAssemblePreProcess logic was adding duplicate guardrail warnings. This has been corrected. | User Experience |
INC-A6303 | 819495 | Corrected AM/PM localization issue | The Native Calendar control was not populating P.M. time (12-23 hours) correctly in offline mobile when localized to Chinese locales zh_tw and zh_cn or Arabic locales starting with ar_ This has been corrected. | User Experience |
INC-A6420 | 814682 | Helper text displayed when property visibility conditional | If a property was visible based on a "when" condition, the "?" icon for the property was visible but the helper text was not displayed. If the the visibility condition of the property was changed to "always", the helper text became visible. When the "Visible When" condition is configured on Property Level, the tooltip value is sourced from a different nested level and the DLCellTemplate file was trying to get the value from an unexpected place. This has been resolved by adding handling to get the value from the correct nested position. | User Experience |
INC-A6631 | 813841 | Dropdown with Local Value list correctly translated | After update, the localization of a dropdown with local list stopped working. This has been corrected by setting the correct localePath for the RadioButton and Dropdown components when the source is picklist or a datapage. | User Experience |
INC-A6637 | 817649 | Rich Text Editor toobar accessibility improved | In order to improve accessibility, tooltips have been included for the Rich Text Editor keyboard shortcut tool bar. | User Experience |
INC-A6641 | 820904 | Accessibility improvements for report table menu controls | The menu labels and controls for the dynamic grid header of Report Viewer have been updated to improve accessibility. | User Experience |
INC-A6787 | 813424 | Improved uploaded file display for mobile | On a small mobile device there was no space for the file details once uploaded, and only a few letters were displayed. This has been resolved by removing a redundant container reference. | User Experience |
INC-A6792 | 817899 | Calculation Builder accessibility improvements | The links to return to a previous calculation in the Calculation builder modal were not keyboard accessible. This was due to the links being coded in <span> tags instead of HTML link or role link, and has been resolved by adding the necessary aria-label to non-auto Autocomplete and Text controls. The fields on the modal were missing an accessible name. This has been addressed with the new pyPinModalHeader HTML fragment which uses the h2 tag for modal header inside it. Error handling for the calculation builder modal has also been updated. | User Experience |
INC-A6846 | 823332 | Focus moves to intended element from Notifications Tab | After navigating to the Notifications tab and tabbing to one of the notifications, clicking "Enter" to open it did not correctly move the focus to the notification harness that was launched. This has been corrected. | User Experience |
INC-A7038 | 817769 | Locking error correctly appears for child case launched from local action | When parent and child cases were configured with default locking, a second user trying to add a child case from the Actions menu did not see any error or lock message and instead an empty popup appeared briefly and then closed. This has been resolved with the addition of a script to prevent the closing of local action modal when a work object has a lock. | User Experience |
INC-A7141 | 825151 | Corrected case id display in header | After update, creating a new case from the first case did not update the summary panel with the correct case details. This was traced to an incorrect case context when a tertiary container is not used to create the case, and has been resolved by fixing the empty handle error issue. | User Experience |
INC-A720 | 803657 | Corrected UI edit focus handling | UI Edit item actions were not showing the updated values. Investigation showed that the edit activities correctly focused on the grid element, but after adding the data in the row, clicking outside and firing the submit action changed the focus to the main element instead of the grid. This resulted in the submit action happening on another thread due to the focus on main element, causing the grid to become unresponsive. This has been corrected. | User Experience |
INC-A7200 | 814463 | Improved contrast for Preview & Open in tab | When the “Interactive items” color in the theme was set to a value that used black detail / text (e.g. checkbox checkmark, or button text), the popup menu displayed as a dark font and background (black text on grey background for some themes). This was due to the menu using the text color but not the “Interactive items” color that was picked, and has been corrected. | User Experience |
INC-A7718 | 823174 | Handling added for plus character in search term | When using anypicker and searching a local data source for a country code which starts with a "+" such as +966, it was not showing results. Searching with 966 did produce results. This has been resolved with an update to handle the "+" character in the search term. | User Experience |
INC-A7748 INC-A21764 |
816387 834407 |
Focus set correctly for datetime control cursor | After update, the focus was not being set correctly after a single digit month value was given in the datetime field. This has been resolved. | User Experience |
INC-A786 | 811722 | ViewPDF activity withdrawn | The pyViewPDF rule has been withdrawn. Functions previously performed by this rule can be handled by adding the Rule-File-Binary to the offline configuration. More information on this is available in the documentation for "Making custom resources available in offline mode". | User Experience |
INC-A7863 | 817082 | Corrected filter handling when searchText is integer | After defining two columns of picklist type in a table view, selecting "Dropdown" as the Display mode for the columns caused the values to appear properly with sorting, but the values appeared without sorting when "Search box (Default)" was selected as the Display mode for the columns. In addition, the values selected in the picklist disappeared when switching between screens in the screenflow using the Previous and Next buttons. Investigation showed that an ignoreCase filter option for integer type of key was added when calling buildFilters in data-view, but it was not supported for integer. To resolve this, a conditional statement has been added to skip the ignoreCase filter when searchText is integer. | User Experience |
INC-A7877 | 821734 | Corrected date resetting on refresh | After generating the reports, clicking on refresh from the actions menu was resetting the date if the report was configured with column format. This has been resolved by adding pyFormatType before calling pxFormatDateTime. | User Experience |
INC-A8047 | 819259 | Corrected save for Operator rating change | After making updates to the Operator rule to change Skill and Rating under the Work Tab and saving, pyDirtyCheckConfirm unexpectedly appeared when attempting to close the tab in dev studio. Investigation showed that values entered inside the Rating input field were not being properly saved, and this has been resolved with an added condition check for number input in the operator level. | User Experience |
INC-A8214 | 824006 | Corrected layout for additional info component | A component populated by the additional information icon did not respect the main navigation menu when the case was collapsed. This has been resolved by changing the z-index so that it comes as top most element in dom. | User Experience |
INC-A8340 | 818662 | Modal dialog flow releases hidden button space | After using 'Hide Default Button' in a flow action, the buttons were hidden but the space was still taken. This has been resolved by adding the condition .pyShowFAButtons != true for pyModalFlowTemplate and pzModalFlowTemplate | User Experience |
INC-A8639 | 823620 | Added handling for empty activity name on landing page | After creating a landing page and adding it to the application as the first page, logging in generated the error "java.lang.IllegalArgumentException". This was traced to actionPage.getPageValue().getString("pyActivity") being empty, and has been resolved with an update which will not execute the activity if the name is null or blank. | User Experience |
INC-A8942 | 819976 | Support added to disable drag and drop in optimized tables | Drag to reorder is not available to keyboard users for optimized tables. You may ensure that your application does not include operations that users cannot perform by keyboard by turning off the ability to reshuffle columns for tables that you use in the group by overlay. In this way, you provide equal access to your applications to users with all levels of ability and reduce user frustration from not being able to fully navigate your product. To support this, the pyDragDropCategorizeColumns 'when' rule has been added. This will return true by default to enable mouse-based drag and drop for reordering columns, and setting it false will disable the rule. Disabling this rule must be combined with unchecking "Enable drag to reorder items" (in the operation tab of the repeating dynamic layouts property panel) in pyGridCategorization to fully disable drag/drop. For more information refer to Pega documentation under the subject "Disabling drag and drop in optimized tables". | User Experience |
INC-A9145 | 818584 | Accessibility added for report table sort | The sort controls in the report tables have been made accessible with a visible focus ring for table header's filter, sort and table pagination and report viewer (summary report) cells. | User Experience |
INC-A9184 | 828329 | Updated signature event handling on mobile | After a signature was made on mobile, any movement gesture was captured on the mobile screen and the signature was not recognized. This has been resolved by stopping the event propagation during the process. | User Experience |
INC-A9213 | 822819 | Pega Call widget labels updated for modal template | The Buttons on the Pega Call widget were not labelled correctly when using a modal template. This has been resolved by adding the aria-label in pzModalClose control (non-auto). | User Experience |
INC-A944 | 804790 | Improved accessibility for application switching | When an operator has multiple roles (ex. Author, User) and switches apps, a "proceed as" and "go" button are shown after clicking on an app. When using JAWS and selecting "go", the action was not taken and focus was brought to the main container without switching the app. To resolve this, several accessibility updates have been made including updating the handling for dynamic layout accessibility roles in pyAppDetails and adding an additional dynamic layout to wrap repeating dynamic layouts to handle the accessibility role in pzMyApps. | User Experience |
INC-A9803 | 820410 | Method header runtime check added | Attempting to save a section which had a reference to a property with an index other than 1 generated the exception "Save failed - Exception thrown by generated.pega_processengine_dxapifua.pzSectionDXAPIMethodHeader". This has been resolved by adding an isRuntime check to the FUA method header for both sections and harnesses so it will not be run at save time. | User Experience |
INC-A9867 | 829036 | Screen reader accesses Create button expand/collapse | When a screen reader placed focus on the Create menu navigation element on the left navigation element, there was no announcement to suggest the menu was expanded or collapsed or that it was possible to activate this. This has been resolved by adding the aria-expanded attribute for the Create menu. | User Experience |