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 |
---|---|---|---|---|
805971 | 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.7.6 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-253351 | 785181 | 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-254403 | 805921 |
Updated handling for unauthorized case access | After upgrade, an incorrect error message was seen for unauthorized access to a case. In Pega 7.4 the message was "The work object XXX could not be locked: You are not authorized to create, modify, or lock instance XXX". After upgrade to 8.7, the error "There has been an issue; please consult your system administrator" appeared when executing the same scenario. Investigation showed this only happened when the user did not have a standard skin rule in their application stack, and the issue has been resolved with an update to call the Open assignment function instead of the ProcessAssignment activity, as ProcessAssignment doesn't have error handling configured. | Case Management |
INC-260916 INC-269286 |
785683 799778 |
Bulk activities updated to consider context | Bulk Transfer was not working after customizing the "pyTransferAndAdjustSLA" section rule(in Work- class) to be in the implementation layer. This was traced to the system picking the section rule from 'Work-' class and not from the implementation layer, and has been resolved by modifying the pzPreBulkProcessModal activity to consider the context. | Case Management |
INC-264941 | 792161 | Updated validation for Change Stage parameters | In Pega 8.1 the shape 'Change Stage' uses stage IDs like 'PRIM1', 'PRIM2', 'PRIM3', 'PRIM4' etc instead of the actual stage name. Beginning with Pega 8.2, a flowaction called "pzChangeToSpecifiedStage" uses a validation rule which only accepts stagename as a ChangeToStage parameter. This caused validation issues after update and resulted in the error "Go to Stage— Please select a valid stage" in case type rules and in flow rules with this configuration. This was a missed use case and has been resolved by adding the needed additional logic to validate StageID if is a valid one in the pzChangeToSpecifiedStage validate rule. | Case Management |
INC-265726 | 796715 | 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-266208 | 794354 | Handling updated for HasChildWithDependencies | An issue was seen where disabling the automatic instantiation of child cases did not reset the flag HasChildWithDependencies to false. This has been resolved by updating the condition to set the flag when automatic instantiation of child cases is checked and dependency fulfillment is selected. | Case Management |
INC-266532 | 798419 | 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 | 803399 | 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-271317 INC-A12268 |
806124 824095 |
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-A4545 | 811930 | 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-A9617 | 822060 | 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 | 822961 | 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.7.6 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-272863 |
804281 | 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 |
INC-255081 | 791979 | 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-265030 | 791079 | Corrected race condition for column population | Duplicate column population jobs were seen. This was traced to a race condition in the query, and has been resolved. | Cloud Services |
INC-267791 | 799561 | 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 | 799748 | 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 | 800379 | 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-A4524 | 809106 | 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-A729 | 809637 | 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.7.6 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-251451 INC-262589 |
814081 817456 |
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-257499 | 788971 | Updated datetime handling for forward/reply emails | Forwarding and replying to emails was unexpectedly slow. This was traced to an issue with the pxCreateDateTime format in the pyPostEmailContent and pyEmailMessageDetails sections which was causing an exception, and has been resolved by using a universally valid datetime format for the new message. | Conversational Channels |
INC-259069 | 787971 | Parameters passed correctly to interaction data page | After update, log warnings indicated there was a missing parameter during use of D_pxUserFromChannel in step 6 of pzCreateInteractionReply. This was traced to the parameters not being passed correctly, and has been resolved. | Conversational Channels |
INC-265376 | 803778 | Exception handling added to prevent repeated email processing | Emails were randomly getting struck in the inbox and the same message was being repeatedly processed until manually removed from the inbox. Investigation showed there was a corner use case that caused an error in ConversionToInlineStyle, resulting in an exception. This has been resolved by adding exception handling for StartOperation in pyGetHTMLMessage. | Conversational Channels |
INC-270877 | 819159 | 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 | 803029 | 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-272410 | 808182 | Corrected unwanted system chat message to WhatsApp consumers | The chatbot was displaying an unwanted system message to WhatsApp Consumers which was not configured in the flow for Digital messaging. This was traced to a command being unexpectedly executed at the end chat, has been resolved by updating pxAuthenticate, pxProcess (shouldProcessCase, isResponseToMenuInCase) and pzProcessCase (error message only when needed). | Conversational Channels |
INC-A2589 | 808611 | 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 | 819618 | 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 |
Data Integration
8.7.6 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-222150 | 791491 | Updated handling for Value Group property with subscript | After completing a section of a flow and hitting "Continue" to move to the next flow action, going back to a previous screen showed several of the radio button properties were not being saved correctly even though "RecalculateAndSave" was called when continuing and pyWorkPage contained the data entered at that time. Investigation showed that when using a Value Group property with another property name as subscript, while removing the Value Group Property the property with same name was also removed. This has been resolved with an update to preserve the property with the same name while removing the Group element. | Data Integration |
INC-243067 | 764728 | Message IDs correctly appended when using MSGraph | After switching to MSGraph, the Message-IDs were not appended to the References header for reply, reply all, and forward, causing an issue when identifying whether a work object already associated with the existing thread was in the system. This was traced to a difference in message ID formats between MSGraph and IMAP, and has been resolved by overriding the updateMessageID() method of MimeMessage class. | Data Integration |
INC-250997 | 792858 | Archived data for email triage and pegasocial-message class fetched with all attachments | Some Pulse messages were missing when attempting to retrieve archived data for email triage cases. To resolve this, support has been added for data work attach notes, handling for the pyObject in pulse message and translation logic has been updated, and the pxGetCompleteMessage activity has been updated to check secondary storage for social messages and notes. | Data Integration |
INC-251939 | 796701 | 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-252057 INC-249024 |
800534 796235 |
Added handling for passivated modal dialog flow | After passivating a modal dialog flow launched from the user portal context, launching the flow again encountered a security exception error. This was caused by the modal dialog flow thread being lost during passivation, and has been resolved. | Data Integration |
INC-252499 INC-255612 INC-268174 |
786717 799246 799968 |
Updated error handling for CommitWithErrorHandling | The exception "Error during Encode" was generated when running the activity CommitWithErrorHandling. This has been resolved with an update to fix the IndexOutOfBound exception during BLOB encode. | Data Integration |
INC-253409 | 793611 | Updated handling for null requestor returned to ManagementDaemon | Previous work done to add handling for an InvalidParameterException in cases where the requestor is deleted before the job is executed on it has been updated to include the use case where the case requestor is "batch". | Data Integration |
INC-255730 INC-260314 |
786043 810504 |
Debug logging added for page open | In order to better diagnose an issue with a 'when' condition configured in the Access role being called on an unnamed page rather than the pyworkpage after update, additional logging has been added. | Data Integration |
INC-257385 | 796786 | Email listener updates for logs and send-as | Unneeded warning logs were printed for the email listener. This was an unintended side effect of previous work to check for empty SendAs in MSGraph, and has been resolved by moving the unnecessary log into a catch block.In addition, using Global Resource Settings (GRS) for send-as in the email listener rule form was not working. This was a missed use case and has been corrected. | Data Integration |
INC-257386 | 787151 | Added Calendar Type check for .ics attachments | Whenever a message with an .ics file attachment was sent to the email listener, the filename was automatically changed to noname_1.ics in the portal. This has been resolved with the addition of a check to evaluate whether MimePart has a file name for Calendar Type. | Data Integration |
INC-258026 | 806228 | Dates stored properly when using DX API | In some scenarios a datetime property with a value in the format 'yyyyMMdd' in it was incorrectly formatted when running the pxConvertISODateTimeToPegaInternalFormat function. To handle this format a condition has been added to evaluate whether the datetime property value contains "-", and if so the method convertDateTime will be called to convert it into Pega Data format. If the condition is not met, the system will return the same datetime String value. | Data Integration |
INC-258105 INC-268493 |
794764 797047 |
PushDailyCaseData query optimized | Case data was missing in PDC Telemetry due to the PEGAAESRemote agent report pushdailycasedata timing out. To resolve this, the GetInstancesOfCaseType report definition and the FetchDailyCreatedCaseInstanceData activity have been optimized by removing the date function in filters. | Data Integration |
INC-258256 INC-273044 INC-A10277 |
789417 801202 818835 |
S3 repository credential handling updated | Uploading or downloading documents from an S3 repository was not working, and the error "Repository pegacloudfilestorage not authenticated. Directory does not exist." was logged. This was traced to an expired token, and has been resolved by setting the repository default credentials to be InstanceProfileCredentialsProvider. | Data Integration |
INC-258450 | 800909 | Corrected intermittent compilation error | An intermittent component compilation error was generated if a specific When condition was called. This has been resolved by adding a missing import statement in When rule compilation unit builder. | Data Integration |
INC-258764 | 802133 | REST connector Authentication redirection updated | An authentication REST connector which redirects to another URL was not working. This has been resolved with an update to AllowListLaxRedirectStrategy which checks for the Name in addition to the Value of the header. | Data Integration |
INC-258871 | 797180 | Updated WebUser requestor timeout to resolve intermittent spike | An intermittent user/requestor spike was seen in WebUser nodes, requiring a node restart to recover. Investigation showed that whenever a requestor was terminated through Admin Studio, two "NONE" requestors were being created through Web-Login and pzunKnownSessionAlert HTML: Web-Login's "NONE" requestor was treated as a shortlived requestor and removed from Admin Studio after reaching the configured shortlived timeout value, but the pzunknownsessionalert "NONE" requestor was considered a normal browser requestor and deleted based normal browser timeout value. This has been resolved with an update to correctly set pzunKnownSessionAlert's requestor as "shortlived". | Data Integration |
INC-259204 INC-271326 |
795959 801074 |
Added handling for space in folder name for MSGraph-based listener | When the MSGraph folder name contained spaces (for example "toms inbox"), the email listener was not able to read the messages. The error "Caused by: java.lang.RuntimeException: java.net.URISyntaxException: Illegal character in query" was generated. This has been resolved by using URLEncode with folderName in MSGraphEMailClient.getMailFolders to properly encode the entire folder name value. | Data Integration |
INC-261714 | 788830 | Archived case email attachments open as expected | Attempting to open an archived case email attachment resulted in an error from pzDownloadArchivedFile activity step 4. This was traced to a recent logic update, and has been resolved by adding a 'when' condition that will skip the unneeded step for email attachments. | Data Integration |
INC-261780 | 815389 | 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 | 804499 | Corrected SQL generation for purge/archive | When the PegaArchival job scheduler was run, the error "Type com.pega.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-262348 | 795978 | File upload error message made less verbose | Overly verbose error messages may contain information that is not inherently sensitive but could potentially be used to exploit a vulnerability. To resolve this, error message that is generated when uploading files with extensions that are not allowed in the application will only use the last portion of the message from the exception to create a FileNotFoundException. | Data Integration |
INC-262797 | 795690 | Corrected decimal separators for en_ZA locale | While entering financials the amount gets multiplied with 100 automatically in the en_ZA (South Africa) locale. This has been resolved by updating the thousand separator and decimal separator as space and comma respectively for the en_ZA locale. | Data Integration |
INC-262866 | 791982 | 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 | 791615 | 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-263576 | 787459 | Case archival made more resilient | In order to improve the performance and increase resiliency of the archival process, an update has been made to case archival to run the job using pipeline mode. | Data Integration |
INC-263626 | 818046 | Null check added for email contentType | Email listener was failing to process some emails and the error "java.lang.IllegalArgumentException: Null charset name" was generated. This has been resolved with an added condition to validate email contentType (BodyType.HTML) for null and empty values. | Data Integration |
INC-263633 | 811320 | 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 | 802085 | 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-264515 INC-A2127 |
793240 808595 |
Corrected date formatting issues for en_SG locale | After update, date formatting was incorrect for the en_SG (Singapore) locale. This has been corrected. | Data Integration |
INC-265138 | 796184 | Data-Retention-Policy rule reflects Associated classes added from Archival screen | After adding and saving "archival associated classes" and "Search using embedded page-list properties" from the Case Types -> Settings -> Archival screen, these added changes were not reflected in the archival case type instance when opened from Data-Retention-Policy. Support has now been added for Data-Retention-Policy archival case type instances. Note that Pega does not support or recommend any archival-related change from the Data-Retention-Policy instance, and associated classes and embedded page-list properties changes will not be saved if added from the Data-Retention-Policy screen. Changes should be done from the Case Types -> Settings -> Archival screen only. | Data Integration |
INC-265376 | 821730 | 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-265462 INC-266830 |
793589 | Interaction History Summary replay updated for large repositories | The Interaction History Summary replay from the File Repository was not working if there were more than 1000 entries in a folder. This was due to a limitation of the RepositoryAPI, and has been resolved by replacing the ListNextBatchOfObjects API with ListObjects. | 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-266964 | 792510 | Null check added to resolve multipart service error | After update, calling an endpoint of a REST service which returns a multipart format response to obtain the content of a file resulted in the error "Caught throwable while accessing message body: null". This has been resolved by adding null check for the disposition. | Data Integration |
INC-268886 | 811598 | 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 | 804889 | 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 | 824704 | 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 | 818597 | 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 | 817200 | 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 | 809665 | AWS jars updated | The AWS jars have been upgraded to the latest version. | Data Integration |
INC-271536 | 805589 | 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-272293 | 804224 | 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 | 810291 | 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-A1049 | 815398 | 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-A1168 | 816029 | Email Listener updated for MSGraph token error | Email Listener marked a message as read, but a case was not created. Resubmitting the email caused a case to be created as expected. This was traced to Microsoft Graph modifying their error code for an expired authorization token, and handling for the "TokenExpired" error has now been added to ensure those messages are sent to the retry flow. | Data Integration |
INC-A281 | 808097 | 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-A5008 | 811326 | Added check to resolve memory allocation exception | Memory allocation exceptions were seen in system logs for every UI action by a user. This has been resolved with the addition of checks for whether the thread allocation memory attribute is supported by the JVM. | Data Integration |
INC-A7067 | 822142 | 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-A9085 | 820211 | 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 | 822274 | 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.7.6 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-A4585 |
817801 | 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-250642 | 766909 | Email will not be sent when there is no account set in Prediction studio | After update, all the users in the application were receiving email notifications from Prediction studio with the subject "Model notification". This was traced to the activity SendSimpleEmail, a basic interface to the Send Email Notification, which ended up as the default email account sender by the getEmailSenderInfo activity due to there not being an email account configured. To resolve this, an update has been made to disable sending email in cases where no email account is configured in the Prediction studio settings. | Decision Management |
INC-252392 | 791436 | DDR count updated correctly after record deletion | The count on DDR was not updated appropriately after a record was deleted from it. Investigation showed the step for updating the count for DDR was missing in activity pzModifyDDRule, and this has been resolved. | Decision Management |
INC-253125 | 785132 | Empty value handling added to bias report | The default reports "Bias report" and "Detailed Bias report" were not showing any records. This has been resolved with an update to handle empty numeric values. | Decision Management |
INC-255453 | 789191 | Max character limit made configurable for language detection | On sending email to the listener in a single language the acknowledgment mail was correctly generated in the respective language, but if any keyword in the mail body or subject header was in different language than the rest of the email received by the listener, the language used for the acknowledgment mail was in an unexpected language even if English was set as a fallback language. This led scenarios such as a customer who sent mail in German where the email subject contained a single English word receiving back an acknowledgement in Dutch. To resolve this, the Prediction Studio settings have been updated with a configurable limit for language detection which allows for more characters to improve the performance of language detection. The default for LANGUAGE_DETECTION_MAX_CHAR_LIMIT is 200 characters, which was the previously hardcoded limit. | Decision Management |
INC-255532 | 787539 | Resolved exceptions from ExecuteHandleResponseDataFlow check | The ExecuteHandleResponseDataFlow activity was continuously throwing IndeterminateConditionalException errors due to a condition calling HasFunctionalNodes to check for available realtime nodes before starting the data flow run. All the nodes were in the cluster but the function call failed, causing the alerts. This has been resolved with an update which removes the condition in ExecuteHandleResponseDataFlow which was calling HasFunctionalNodes to check for realtime nodes, and adding a refresh of the last known snapshot when the topology never has been refreshed or has been marked as stale. | Decision Management |
INC-257347 | 790934 | Corrected rule checkin error in ValidateRuleData | Submitting a change request generated the error "You are not the owner of this checked out rule". This was traced to a missing "when" condition for the step where the rule is checked in the pyRMValidateRuleData activity, and has been corrected. | Decision Management |
INC-258442 | 788527 | 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. | Decision Management |
INC-258715 | 824699 | Calendar control registered with BAC | Due to being deprecated, the pxCalendar control was not properly registered with BAC. This has been resolved. | Decision Management |
INC-259667 | 796503 | Corrected feedback training data edit issue | Attempting to edit training data for unreviewed feedback in the training data tab was not working when the feedback was added using the pxCaptureTAFeedback API. This has been corrected. | Decision Management |
INC-259934 | 794125 | 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-261912 | 790815 | Change to Event Strategies detected by the digest validator | After update, the pxhandle response dataflow was failing. The issue was caused by changes in pxQueueResponses dataflow between Pega 8.5 and Pega 8.7: the number of output properties changed for the Event Strategy, causing a mismatch between the state storage and the event strategy/dataflow definition. With this update, when any change is made to Event Strategy rule or Event Strategy shape in DataFlow then it should be detected by DataFlow and internal state of Event Strategy should be truncated. | Decision Management |
INC-262661 | 790182 | 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-263012 | 793063 | Corrected change request property value handling | When creating a change request where the strategy contained Decision Data, the change request was not opening properly, the error "Change Request Case type has been altered, please remove the Change Request and refresh the screen to proceed" was generated, and the Strategy was not getting saved into the revision branch ruleset. This was traced to the pzChangeSegmentResultClass activity changing the pyPageClassName property value from AppliesToClass (Data-Decision-Request-Customer) to pySegmentResultClass (Data-pxStrategyResult), and has been resolved. | Decision Management |
INC-264935 | 794224 | Corrected Pulse "show tags" parameter casing | After setting the D_pzRenderFeedContext parameter of "show tags" to false, Pulse was still displaying tags. Investigation showed the activity PegaGadget-Pulse-Feed.pySetPulseContext had the parameter in camel case format like 'showTags' where the datapage declares the parameter in pascal case format like 'ShowTags'. This has been resolved by updating the activity PegaGadget-Pulse-Feed.pySetPulseContext's parameter from "showTags" to "ShowTags" so the parameters match. | Decision Management |
INC-265011 | 792764 | Resolved metrics deserialization error | After upgrading from Pega 7.3 to Pega 8.7, the PegaRULES log file began to fill up with error messages related to metrics. This was caused by the current data flow metrics not being compatible with the 7.3 version of the metrics, resulting in serialization errors. This has been resolved. | Decision Management |
INC-266507 | 791949 | DASS added to control initial state of ServiceAPI Circuit Breaker | When an initial request triggers the Global Optimization strategy compilation, all other requests are blocked while the strategy is compiled. Once the compilation is eventually done, all waiting threads start to execute the cold strategy. This high concurrency plus hotspot compilation and cache priming may cause high latencies for 30 seconds or so. To address this, an update has been made which will allow the Circuit Breaker in the Service-REST rule to start in open mode during node recycle while the Globally Optimized strategy is being compiled for the first time. This Circuit Breaker open mode allows default offers or responses to be sent to the end user during this delay window instead of impacting the performance for the inbound calls. 'Start in open mode' should only be enabled on Decision Hub nodes. | Decision Management |
INC-266893 | 796509 | Updated stack handling for strategy execution engine | During execution of a strategy the exception "pegarules.pub.context.PRStackFrameNotTopException: Specified stack frame 'null' does not match top of stack: 'doActivity Rule-Decision-Strategy' at pegarules.session.internal.mgmt.Executable.popStackFrame" was generated. The exception did not occur when the strategy execution engine (SSAVM) was turned off. This was traced to the stack size per thread being bigger when when using SSAVM. To resolve this, an update has been made to ensure the stack is updated even if there is a problem in evaluate method. | Decision Management |
INC-267095 | 809079 | 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-267142 | 797982 | Addressed memory leak related to secondary branch strategy shape | A memory leak was occurring in the batch and realtime dataflow execution when using a strategy shape in a secondary branch, such as a dataflow source in compose and merge configurations with a strategy shape. Investigation traced this to the flush listeners which hold references to all the dataflow stages executed in the secondary path and which can build up over time if many stages are executed. To resolve this, an update has been made to call onPulse and onFlush at least once after secondary source has produced all its output. | Decision Management |
INC-267360 | 792469 | snakeyaml updated | The snakeyaml library has been updated. | Decision Management |
INC-268327 INC-A6484 |
811793 816115 |
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-269211 | 813001 | Improved performance for "isInList" functions | The function pxstringarrayhasvalue has been refactored to improve performance. | Decision Management |
INC-269322 | 799405 | 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-269513 INC-268520 INC-A117 |
799757 807313 802612 |
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-269517 | 806384 | 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-270318 | 798853 | When condition added for delete ruleset on update overlay | When the overlay instance from Data-Decision-RevisionRecords became corrupted and did not have the ruleset and version information, the underlying rules were getting deleted when the revert logic was executed and the overlay was updated. To resolve this, a "when" condition has been added to check for empty ruleset and version and delete only if it is not empty. | Decision Management |
INC-271608 | 800096 | 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-272336 | 800309 | Override added for Cassandra native protocol version hardcoded to 3 | After upgrading to Cassandra version 4 the error "An unexpected protocol error occurred on host" appeared intermittently. This is an issue with Cassandra 4.0.x which is fixed in 4.1.x. The issue presents itself because the DDS code specifies to use CQL Protocol Version 3. Upgrading to Cassandra 4.1.1 will resolve this issue. To handle this issue locally, an update has been added which will allow for negotiating the protocol version in the Cassandra driver and override the required version. | Decision Management |
INC-272643 | 804149 | 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-A12371 | 824271 | 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-A13515 | 824175 | 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-A1468 | 805658 | 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-A2548 | 817811 | 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-A4673 | 815662 | Avro null logging changed to debug | When using a Kafka dataset with a message structure of type AVRO which contains type "NULL" for non-required fields, the error "Exception-12248 - Unsupported data type! NULL" was logged. This has been resolved by updating the log level to debug. | Decision Management |
INC-A5718 | 815042 | 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 | 819058 | Visual Business Director security update | HTML injection protections have been updated for Visual Business Director. | Decision Management |
INC-A7802 | 815129 | 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 | 816238 | 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 |
Low-Code Application Development
8.7.6 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-257941 | 821985 | Corrected DX API refresh data transform | When a table row was selected, other rows disappeared. Investigation showed that the pre-processing data transform "invoiceList" was not being correctly performed on assignment refresh in the flow action("Invoice") due to an issue with pzGetAssignmentActionDetails. This has been resolved. | Low-Code App Development |
INC-260253 | 787371 | Sibling rules button visible | The button for the sibling rules was missing after update. This has been resolved by updating the cross-site scripting filters to better handle rules without an applies-to class. | Low-Code App Development |
INC-260618 | 786774 | Handling added to clean up test cases with exceptions | When a test case generated an exception, the pass/fail status was not being returned and the test case was not cleaned up. This has been resolved by adding handling for the exception so that clean up block gets executed and an error report is generated for the test case failure. | Low-Code App Development |
INC-262490 | 787163 | Coverage trend time correctly sorted | The X axis of a coverage trend did not have the months displayed in the expected calendar order. This has been resolved by removing an extra sorting, as the initially passed data is already sorted. | Low-Code App Development |
INC-266191 | 791407 | Handling added for custom JSON attributes | During the GET call on the action of assignment of DX API, the generated JSON contained the error "validationMessages: Error while processing field" instead of the data of a "pxRadioButtons", "fieldID": "Selected Package". This was traced to an issue with custom attributes which have a key that has the name "value", which is a key word in the code. To resolve this, an update has been made to not obfuscate custom attributes, especially if a key is "value". | Low-code App Development |
INC-266539 | 814663 | 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-A3161 | 812310 | 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-A7629 | 816782 | 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 | 822387 | 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 |
INC-A9055 | 819240 | 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 |
Mobile
There were no 8.7.6 Resolved Issues for Mobile
Project Delivery
8.7.6 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-243156 | 761952 | Browser support documentation updated | The documentation for browser support has been updated to clarify that because Pega Platform version 8.5.6 introduced changes incompatible with Internet Explorer 11 and Edge Chromium in “IE mode”, version 8.5.6 is not supported on those browsers. Versions 8.5.1 to 8.5.5 continue to be supported. | Project Delivery |
INC-251128 | 771456 | Keytab documentation updated | The documentation for Configuring Hadoop settings for an HDFS connection has been updated with additional information about configuring the Hadoop key tab. | 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-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 |
Reporting
8.7.6 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-241350 | 787996 | Performance improvement for global Consult case search | Searching for Consult cases was intermittently not working when there were many millions of records. Investigation showed that if the index on pzInsKey was too large the database could decide to not use it and to sort the data on the disk. This led to resource consumption with long wait times and key generation failed. To resolve this, an update has been made so that rather than fetching all properties for external tables, only keys will be fetched. | Reporting |
INC-248354 INC-A3727 |
792067 807990 |
Custom search works for embedded properties | Embedded page properties were not being included in a custom search even after adding the properties in the pySearch instance and indexing the data and work classes. This has been resolved by adding a check to detect an embedded property by evaluating whether there is a dot in a property name, and if the property is embedded it is moved to the properties array. | Reporting |
INC-256165 | 791539 | Correct error shown for insufficient privilege | After adding privilege to some report definitions accessed through the report browser, one user who without the privilege received the proper "insufficient privilege" error message while another user was shown an error screen. Investigation showed the original error was being overridden. This has been resolved by cacheing the exception so that original one will be displayed as expected. | Reporting |
INC-259565 INC-260991 |
793300 794359 |
FTP listener updated to support BIX data extracts in Pega Cloud | BIX zip files generated in the Cloud environment were not able to be transferred to an SFTP location when the shared path was configured as PegaCloudRepository URI. This has been resolved by updating pzFTPService to handle BIX file transfers. | Reporting |
INC-262378 | 788201 | Added handling for magnifying glass when using BAC | The magnifying glass next to "Format values" was not functional and a security error was generated when attempting to create or edit a report in the report browser and edit a column of that report. This has been resolved. | Reporting |
INC-264087 | 798403 | Exception handling added for BIX extraction path errors | When running a BIX extract from the command line using the activity java step ((com.pega.pegarules.priv.PegaAPI)tools) .executeCommandLineExtract(args, tools.getThread()); , the above java step exited abruptly and was not handled by the jump StepStatusFail or Exception condition if the 'path' value of the arguments was incorrect (such as the specified folder did not exist). To resolve this, an update has been made to ensure all the steps in the "pxExtractDataWithArgs" activity are executed, and handle the exception properly if the extraction path does not find and update the actual status in the extraction history. | Reporting |
INC-265336 | 794712 | GetPropsForTreeGrid registered with BAC | A 403 error was generated when trying to modify a report, and an error indicated there was an unregistered request. Investigation showed pzGetPropsForTreeGrid was not registered properly in pzBACActivityRegistration, and this has been corrected. | Reporting |
INC-267671 | 796811 | 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. | Reporting |
INC-270230 | 804456 | 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-271516 | 799987 | Corrected CSS for ReportEditorStyling | After update, the Navigation Menu was overlapping the Data explorer properties in the Report Browser. This has been corrected. |
Reporting |
INC-271698 | 800557 | 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 | 808351 | 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 | 810241 | 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 | 825230 | 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-A12028 INC-A12194 INC-A12976 |
822158 822931 823264 |
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 |
INC-A13181 | 825333 | 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 | 826118 | 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-A6794 | 819276 | 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-A8438 | 823526 | Corrected pagination Issue with queryable data pages | When a section was sourced with a queryable data page sourced with a report definition and optimized code checked, pagination wasn't working. After unchecking "Allow API Query", pagination was working but all the records were fetched into the clipboard and performance was impacted. This has been resolved. | Reporting |
Security
8.7.6 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-257638 | 790273 | Token endpoint failure security alert added | A new alert SECU0022 has been added for OAuth2 token endpoint failure. | Security |
INC-258968 | 785230 | Updated OIDC authentication service token interaction refresh time | Logging in at the time the authentication keys were changed resulted in the error "Unable to execute OIDC flow : Caught exception while parsing the id token". This has been resolved with added logic to set the expire time to zero for the reload once per interaction refresh strategy. | Security |
INC-259895 | 812061 | Performance improvement for rule assembly | After update, the assembly time increased significantly for Correspondence rules with embedded pictures. This was traced to the new vulnerability scanner mechanism taking considerable time to parse through all the text in the rule, and has been resolved by optimizing the code. | Security |
INC-261689 | 785517 | JWT token processing updated for clone environment | Validation of the token by pxProcessJWT was failing in the clone environment with the exception "JSON web token is rejected during signature verification due to bad signature : Signed JWT rejected: Another algorithm expected, or no matching key(s) found". To resolve this, code changes have been made for local JWT configuration to consider x5t/kid. | Security |
INC-261899 | 801494 | 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 | 822237 | 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 | 809928 | Improved security for redirects | Cross-site scripting protections have been updated for redirect scripts. | Security |
INC-A7781 | 819134 | 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.7.6 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-253799 | 797912 | 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-265987 | 793509 | Additional thread dump support added for failed node health check | If queue processor slowness and stale threads caused utility nodes to terminate after health check failures, the shutdown task was sometimes unable to shut down the executorServices (which hold executing threads for Agents, Job Schedulers and Async Services Executor) within the 5 minute time limit. In order to assist with this, an update has been made to add a thread dump after the dataflow health check fails the very first time, and to introduce monitoring which will generate thread dumps if the shutDown Engine task takes too long. | System Administration |
INC-266784 | 799120 | Performance improvements for queue processor | Impactful queue processor latency was traced to queries involving PXSTREAMPOSITION, PXUPDATEDATETIME, PXQUEUEPROCESSORNAME, and PXSTREAMPARTITION. This has been resolved with an update to defer the SQL update of partitions until the commit of activity processing, along with ensuring partitions are initialized before item is processed. | System Administration |
INC-268319 | 802258 | 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-270727 INC-A4012 |
805193 810256 |
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. |
System Administration |
INC-271349 | 818390 | 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-271490 | 804873 | Corrected forced logging of Job Scheduler warn error | After update, logs were filling with the error "JobSchedulerLifecycle) WARN - Current runtime for '%s' job scheduler is in future. Omitting execution." This has been corrected by disabling this unneeded warning. | System Administration |
INC-A2276 | 811386 | Enhanced loggers for queue processor | In order to assist with troubleshooting, additional logging has been added for QueueProcessorRegistrar. | System Administration |
INC-A294 | 807213 | 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 |
User Experience
8.7.6 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-238432 | 752225 | BusyIndicator description announced by JAWS | When the busy/loading indicator displayed onscreen, the status was not announced to screen reader users. This has been corrected. | User Experience |
INC-238579 | 747519 | Disabled Relationships are grayed out | After update, Disabled Relationships were not grayed out in the Report Browser when using Mozilla Firefox. This was traced to the dropdown format "Standard" class having styles which included color that overrode the style SELECT[disabled] color. This has been resolved by adding disabled styles for drop down control. | User Experience |
INC-241515 | 789565 | 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-242439 | 778583 | Screen display correct after iPad orientation change | When switched from landscape to portrait, the screen in the iPad mobile app only used half of the display space. This was traced to the modal resize logic not updating correctly, and has been resolved by executing the resize logic after the orientation change event. | User Experience |
INC-242985 | 757460 | Icon helper text read by JAWS | Tooltips were read by JAWS when the helper text was configured on an input but not when the text was configured on an image. This has been resolved with an update which will announce the helper text value when focus is brought to an icon in browse mode. | User Experience |
INC-243080 | 806334 | 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-244936 | 788019 | Removed case sensitivity for parser check | The javascript check for JsoupParserUtility has been made case-insensitive. | User Experience |
INC-246814 | 766261 | JAWS correctly reads case preview inputs | When opening the case preview panel and navigating Details with JAWS, some of the information was presented audibly in blocks of data and not as the equivalent of the visual presentation. This was traced to multiple text inputs being grouped together into one focus when tabbing into the case preview, and has been corrected by adding the necessary label descriptors. | User Experience |
INC-248981 | 764954 | Screen reader correctly announces accordion button status | When a layout group(accordion) was overridden in the application skin and the checkbox was checked for "Collapse all panes on load", the panes were collapsed on load but the screen reader was announcing the state of a button as expanded even though it was collapsed. This was traced to the aria-attribute handling, and has been resolved by adding a multi-accordion identifier and updating the logic in layout group js to toggle multi-expand accordion independently. | User Experience |
INC-250392 | 792649 | Identity type column filters work for mobile view | Filters for the identity type column were not working in mobile view for an optimized table. This has been corrected. | User Experience |
INC-250619 | 781028 | 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-251305 | 769040 | Focus preserved on initial load | When a work object was opened via Open Assignment, the focus moved right to the top of the Layout Group If any control within these sections had a OnChange->Refresh this Section configured. This was due to the total work area being covered via Perform harness instead of a Review harness, and has been resolved with an update which will prevent focus being stolen on the initial load. | User Experience |
INC-251538 | 786912 | More informative error message shown on report definition timeout | An "Insufficient privilege" error message was intermittently displayed after opening a datatype, passivating it, and then opening the same datatype again. This error message was hard-coded in the "UIActionFailHeader" section, and updates have been made to the pxOpenLandingPage and UIActionFailHeader to show the error message that is coming from the report definition instead of showing the insufficient privilege error message. | User Experience |
INC-253871 | 798125 | Updated mobile browser mashup cookie handling | Every time a mashup website was opened from mobile browser a request to enable cookies was shown. Giving permission for cookie consent resulted in asking the user to refresh to load the mashup. This issue was due to incorrect URL filtering which resulted in an encrypted URL, and has been resolved. | User Experience |
INC-255461 | 793046 | Check added to handle integer with comma on mobile | After entering an integer value on mobile which was presented as a comma-separated value, the case was submitted but the particular integer field was highlighted in red. Subsequently attempting to reopen the work object on desktop generated the error that the particular integer was not a valid integer. This was traced to the value being saved as a comma value on the backend but the desktop only saving the number without the comma. To resolve this, a check has been added in getFormJSON in the ui_property.js file. | User Experience |
INC-255734 | 791918 | Security improved for desktop actions | Cross-site scripting protections have been improved by wrapping desktop actions using the crossScriptingFilter function. | User Experience |
INC-256041 | 791804 | Session timer corrected to ensure complete countdown | Work done on the pop-up timer to trigger close() when the timer reaches 0s has been further updated to remove an additional extra space on the pop up and ensure the timer is accurate for the closure. | User Experience |
INC-256426 | 793020 | Corrected "Unregistered request" errors | After a security update, repeated errors regarding "Unregistered request encountered with params pyActivity" were seen. This was traced to the PreDataTransform parameter which was added for ReloadHarness when the pre-activity is SaveAndContinue, but which was missed during the cleanup of the DoSave map. This has been corrected. | User Experience |
INC-257259 INC-263313 |
789200 790775 |
Markdown-It updated | Markdown-It has been updated to the latest version. | User Experience |
INC-257485 | 788941 | JAWS reads Inline errors on multi-select controls | JAWS was not announcing an inline error displayed under the control when the user tabbed away from a multi-select control marked as required. This has been resolved by setting aria described for the error div. | User Experience |
INC-257940 | 788872 | Filter pop-up anchored correctly during horizontal scroll | When applying filters in the last few columns of a delegated table, the pop-up was not sticking to its respective column but instead scrolling horizontally with the screen. The pop-up location worked as expected for a non-delegated table. This was traced to an eventListener not firing as expected in harnessMainRegion for scroll event, and has been resolved. | User Experience |
INC-258073 | 781566 | 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-258314 | 786609 | Custom date format correctly applied to Mail template | After creating a custom date time control with DateTime format set to custom, the format was not applied when a property with this custom control as the format was embedded in a correspondence rule. If the same control was used in a section, the format was displayed correctly. This has been corrected. | User Experience |
INC-258845 | 794845 | Mashup correctly shows landing page when using authentication | After implementing a Token Credentials authentication service to handle authentication and authorization of the user for a mashup implementation, the login screen was shown instead of the mashup landing page. Investigation showed this was caused by the authentication headers not being sent, and this has been resolved by adding additional logic for a null check to PegaCompositeGadgetMgr.js. | User Experience |
INC-259948 | 803323 | Resolved Case Manager portal launch error | On Accepting a call from the toaster screen, a 403 forbidden error was generated and the error "Unregistered request encountered with params pyActivity:@baseclass.doUIAction action:display eventSrcSection:*" was logged. This has been resolved by adding a condition to have portalName in the arguments if it is not the top portal and action is display (show-harness case). | User Experience |
INC-260140 | 794363 | Null check added for instantiating tab | Refresh of the interaction portal was causing an instantiation error for the thread index:2 in the log. A null check has been added to resolve this issue. | User Experience |
INC-260892 | 788659 | Improved accessibility for categorized tables | Using the tab key to move focus from the "refresh" button did not go to the first column of the grid as expected, instead moving to the second column, "ID". When navigating with the arrow key the toggle button was read as "column header", and arrow buttons did not give the expanded/collapsed state to JAWS. These issues have been resolved. | User Experience |
INC-261466 | 788544 | Corrected tab layout group scrolling | When using a Layout Group – Tab with Header->Spacing between tabs, the right navigation button was becoming disabled before reaching the last tab. This was traced to the spacing between tab headers not being considered when calculating the whole tab headers width, and has been resolved. | User Experience |
INC-261897 | 788818 | Calendar correctly sets "Today" | Selecting "Today" on the calendar showed yesterday's date. This was caused by the date property not considering the operator's time zone for the date, and has been resolved by modifying the code for setToday in the ui_calendar function for DateTime Control with date property. | User Experience |
INC-261950 | 790940 | Updated focus so JAWS doesn't read out DOM | When an edit modal was launched from within a grid / table context, JAWS was reading a lot of unnecessary context information before reading the contents of the modal. When the modal is launched, the original button that the menu was introduced from receives momentary focus prior to the popup appearing. When a slow network is introduced into this scenario, it had the result of JAWS reading the entire DOM into the table because the menu populated from the button is appended to the end of the DOM. When focus returned to the button element, JAWS was positioned to think that it has gone from the end of the HTML tree into multiple layers to the table so it read everything to get to the table, then read the modal that appeared. To resolve this, an update has been made such that if the menu item target parent is from template grid and if its opening a modal, don't focus on the showMenuTarget. | User Experience |
INC-262094 | 791629 | Time zone will be assigned by serverTimeZone if TimeZone is not available | Two different timezone formats were displayed in two places of the application: Operator Timezone was set as America/Los_Angeles so the date time control displayed the operator time zone as PST, but for pxTimeCreated it was showing as UTC. This occurred when the pxTimeCreated property used in the case history table was configured to display format as Operator Time Zone, and was caused by the pega.u.d.serverTimezone not being considered while converting from PST to moment-supported timezones in the ui_formatDateTime text rule. To resolve this, code has been added to assign the timezone if pega.u.d.TimeZone is not available and pega.u.d.serverTimeZone is available. | User Experience |
INC-262343 | 793659 | Case properly opened in review harness in new tab | When using the open work by handle action in a table in the Cosmos user portal, attempting to use right click and open a case in a new tab produced a 403 forbidden request error. This was traced to the case not getting opened in the review harness for new operators, and has been resolved by modifying the script in the userHeaderInc section to register the new window session instead of relying on the existing session. | User Experience |
INC-262506 | 788603 | Corrected autofocus for non-mobile devices | Focus was not retained in the address field, instead jumping to another icon on top of the screen. This was traced to the setFocusToInput function in the pzpega_control_autocompleteag.js file checking for a touchable device. If it is touchable, the condition will not execute and focus will not be removed, but this condition leads to failure in touchscreen laptops/devices. The condition has been modified with a check for mobile to resolve this issue. | User Experience |
INC-262558 INC-271435 |
789212 801554 |
List control correctly populates values in Mashup | After update, multi-select list functionality was not populating the values when using Mashup. This was traced to the parent.document in the popover file causing a cross-origin issue when used in Mashup, and has been resolved. | User Experience |
INC-262864 | 788275 | SessionTimer modal header correctly set | The title of the standard modal dialog (launched from script using "showModalDialog") was not referencing the title from an embedded HTML rule. This was caused by the function "pzDisplayModalDialogLoaderOnLoad" passing _isOverlay as a string instead of boolean, and this has been resolved. | User Experience |
INC-262877 | 788211 | Corrected empty space in mashup after deleting table rows | Empty space was visible on the screen after the grid rows were added and deleted from a mashup. This was due to the mashup iframe height not being resized correctly after removing elements, and has been resolved. | User Experience |
INC-263133 | 789197 | Harness handling updated for Create Stage Ajax Container | When using Theme Cosmos 02-01, the create stage pop over was not getting closed when the case proceeded to the next stage, causing the screen flow to be displayed inside a pop-up box instead of full screen. This has been resolved by updating the harness handling so the Ajax container will close and the second stage will open on the main action area within the Cosmos Portal. | User Experience |
INC-263718 | 807608 | 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-263852 | 790721 | Case ID added to Preview button for JAWS | Theme-Cosmos generated a Preview button automatically for case links but did not add specific text to indicate which case was being previewed. To resolve this, an update has been made so when using JAWS the Preview button will now announce the case ID as part of the label. | User Experience |
INC-263870 | 790288 | Corrected handling for numbers added to formatted number field | After creating a number field (Decimal/Currency) with auto-format enabled, typing in a value and clicking outside the field formatted the value as expected, but then clicking inside the field to add values at the start of the existing formatted number resulted in the newly typed numbers not being placed at the correct positions. For example, typing in 34 and then having it formatted, then adding 12 before the 34 resulted in 1324 instead of the expected 1234. This has been corrected. | User Experience |
INC-264014 | 801629 | Browser refresh from local action opens correct target | When a local action performed a browser refresh, pending task opened instead even if the task was not assigned to the current user. This was traced to the local action target being an ACPrimary (AJAX container) call instead of popup, and has been resolved by adding the NewTaskStatus and TaskIndex parameters to the payload for the ACPrimary call to ensure the local action is opened as expected. | User Experience |
INC-264243 | 794566 | 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-264642 | 789639 | DX attributes and symbols converted correctly in JSON | When invoking the DX API for dropdown and tooltip, the JSON was not parsed due to incorrect formatting. This has been resolved. | User Experience |
INC-264901 | 791679 | Updated validation for sourced report definition with class join | Values were not fetched as expected when using a report definition sourced in a section as a table with class join conditions. This was a missed use case and the needed logic has been added for the java step performing the validation. | User Experience |
INC-265081 | 802046 | DSS added to hide flag icon for links in Rich Text Editor | Javascript was adding a background image for anchortag/links in Rich Text Editor when in editable mode. This has been resolved with introduction of a new DSS named "HideFlagIconForLinkInRTE". When this DSS is set to true, the flag icon for links in the Rich Text Editor will be hidden. By default, the DSS is set to false. | User Experience |
INC-265995 | 793676 | Autocomplete in initialization screenflow announced by JAWS | When creating a case and tabbing through the fields in the Create Case modal, JAWS 2022 was not announcing an autocomplete field and instead read all the form fields from the top down. This was traced to an attribute being appended to the body element during tabbing that caused JAWS to read additional context and stop reading the autocomplete control in its entirety, and has been resolved by skipping the addition of the role attribute on focus. | User Experience |
INC-266355 | 800822 | 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-266401 | 795262 | Corrected focus issue when using hide column | Selecting "Hide field" from the ‘Open Menu’ for any column of an optimized table in a section in a case caused focus to shift to the browser top left. This has been corrected. | User Experience |
INC-266973 | 795321 | Multi-line warnings correctly localized | Single validation warning messages were correctly localized, but multiple warnings appeared in English only. This has been resolved by updating the code to handle localizing multiple errors associated with same field. | User Experience |
INC-267032 | 795660 | Focus will skip calendar icon if Datepicker is disabled | When Datepicker was disabled, the calendar icon had tab index as 0 and screen readers were reading the calendar icon on the tabs instead of skipping it. This has been resolved with an update which will avoid focusing on the calendar icon when the date field is disabled. | User Experience |
INC-267082 | 802788 | Modal popup localization enabled | After localization was implemented, the Submit button was not getting translated in the modal popup even if a localized field value was created for that button. This has been resolved by enabling the Localize checkbox under the HTML tab in the pyModalTemplateStandard section. | User Experience |
INC-268234 | 797479 | 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-268507 | 798298 | Left Navigation panel focus moved to back button for sub-menus | When opening the "My applications/notifications/recents" panel via keyboard, focus landed on the hidden search edit field on the “My Applications” panel instead of the Back button on the "My applications" panel as expected. In order to have the focus align with the implementations of the other buttons within the sidebar, focus will be brought to the back button when going into the sub-menus rather than the header. | User Experience |
INC-268618 | 799481 | Corrected last digit of date value being truncated | After creating a Date-only property and configuring a read-only date-time control formatted as 2001/01/01, creating a case and copying/pasting a date value in date field such as 20220802 caused the last digit to be truncated and an error was generated indicating it was not a valid datevalue. This occurred when using the UIKit, and was traced to miscalculated formatting based on the separators. This has been resolved with an update to auto-separate the date when a separator is present. | User Experience |
INC-268688 | 796843 | Moment library updated | An issue with date/time not updating to reflect Mexico's DST changes has been resolved by updating moment.js to version 0.5.43. | User Experience |
INC-268876 | 801551 | 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-269174 INC-A5795 |
802272 814848 |
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-269352 | 806219 | 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-269708 | 800252 | Corrected context handling for close event | When using Theme Cosmos, clicking on the cancel button in the runtime for a same step showed a collapsed view which was repeated again at the bottom. Clicking on the cancel button again generated an error popup. This was traced to the mdcName being undefined in context and has been resolved with the addition of a variable to store the context before the preACClose event. | User Experience |
INC-269887 | 797770 | My Applications "Back" button focus updated | When selecting the back arrow from “My Applications” navigation item from the left hand navigation, the focus was set back up to the top level page of the screen rather than returning to the navigation button that launched the “My Applications” Section. This has been corrected. | User Experience |
INC-269951 | 800738 | 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 | 810020 | 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 | 816148 | 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-270992 | 814731 | 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 | 804563 | Rich Text Editor control updated | Security around using the Rich Text Editor control has been updated. | User Experience |
INC-271207 | 803534 | Updated busy indicator handling to resolve ApplyInputMask freeze | Intermittent freezing was seen for some fields in a UI form when using the ApplyInputMask function called on a focus event. This has been resolved with an update to hide the busyIndicator only if one is present on the screen. | User Experience |
INC-271207 INC-A196 |
805189 805306 |
Corrected freeze on focus | After update, controls using a focus event or autocomplete control were intermittently freezing. This was an inadvertent side effect of work done for busyindicator focus and has been resolved. | User Experience |
INC-271214 | 800636 | 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-271641 | 799781 | Improved accessibility for initialization screenflow autocomplete | After creating a case and tabbing through the fields in the Create Case modal to reach an autocomplete field, JAWS 2022 did not announce the field and instead started reading all the form fields from the top down. This has been resolved by adding the needed role attribute on the results popover container. | User Experience |
INC-271981 | 800062 | Case ID added to Preview button for JAWS | Theme-Cosmos generated a Preview button automatically for case links but did not add specific text to indicate which case was being previewed. To resolve this, an update has been made so when using JAWS the Preview button will now announce the case ID as part of the label. | User Experience |
INC-272052 | 822561 | 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-272343 INC-262011 |
800472 797908 |
Tab key works as expected in Repeating Dynamic Layouts | After opening a case type that has repeating sections, attempting to tab through the fields in the section resulted in the focus moving out of the section and to the adjacent section heading instead of to the next field. This has been corrected. | User Experience |
INC-272346 | 800384 | 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 | 802839 | 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-273313 | 805289 | 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 | 803835 | 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-273323 INC-A3599 |
803593 820460 |
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-273465 | 802035 | 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 | 804145 | 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-A10991 | 823281 | 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 | 823898 | 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 | 802274 | 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-A1195 | 814287 | 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 | 822991 | 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-A1656 | 824735 | Corrected repeating dynamic layout class for save-as | When attempting to "Save as" existing Section template rules, the process just kept spinning and tracer captured the error "pyRecordAPI-NoRulesetVersionFound, No unlocked rulesets/version found that are valid for this record". This has been resolved by ensuring the class of the list backing the repeating dynamic layout is used and not the class of the section containing the repeating dynamic layout when generating views from a section with a repeating dynamic layout. | User Experience |
INC-A2822 | 811778 | 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-A361 | 803065 | 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-A426 | 812899 | 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 | 808970 | 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-A5046 | 814375 | 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-A5528 | 818687 | 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-A5884 | 815290 | 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-A6303 | 819496 | 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 | 814680 | 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-A6637 | 817648 | 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 | 820905 | 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-A6792 | 817898 | 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 | 823333 | 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 | 817768 | 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-A720 | 803241 | 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-A7718 | 823175 | 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-A7847 | 815555 | 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-A8047 | 819260 | 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-A8340 | 818664 | 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-A8942 | 819977 | 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 | 818586 | 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-A944 | 804791 | 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-A944 | 803698 | Left Navigation panel focus moved to back button for sub-menus | When opening the "My applications/notifications/recents" panel via keyboard, focus landed on the hidden search edit field on the “My Applications” panel instead of the Back button on the "My applications" panel as expected. In order to have the focus align with the implementations of the other buttons within the sidebar, focus will be brought to the back button when going into the sub-menus rather than the header. | User Experience |