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.)
For information on downloading this patch, see Pega 8.7.4 - Patch Release Available
Low-code Application Development
Case Management
8.7.4 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-214360 | 732121 | SimpleQuestionDisplay honors readonly mode | On the Review screen, some of the survey questions were displaying in edit mode even after resolving the case. This was due to SimpleQuestionDisplay not honoring the section readonly condition, and has been resolved by updating the SimpleQuestionSection section rule and the SetSurveyQuestionText activity to set Edit option as Auto for section include. | Case Management |
INC-216406 | 723285 | Attachment preview works for filenames with special characters | Attempting to preview attachments from the file and attachments view was not working if the file name had special characters. The browser console showed errors complaining that an unrecognized character was present. This has been resolved by adding crossScriptingFilter to sMemo to allow special characters in the attachment preview filename. | Case Management |
INC-222388 | 731649 | Handling updated for custom flow bulk actions | If the first assignment in a bulk queue failed validation of the flow action, the other selected assignments with same validations also failed without going to queue. This occurred when custom flow actions were configured on the standard bulk processing section, and caused the incorrect email template to be sent. To resolve this, Activity ProcessMultipleAssignments has been modified to add jump conditions to address the errors in PerformFlowAction and handle exception scenarios and ensure the proper template is sent. | Case Management |
INC-224299 | 736465 | CaseTypeClass property created in @baseclass for better upgrade compatibility | When trying to use page-validate on pyWorkPage the error "The page contains an undefined property: pyWorkPage.pyAddableWorkList(1).caseTypeClass\nValidation failed: Errors Detected" was generated. This was traced to the difference in handling for old casetypes from earlier versions of Pega, and has been resolved by creating the caseTypeClass property in @baseclass. | Case Management |
INC-224548 | 725321 | Case Wide Actions do not trigger assignment arrow mark to progress | Given a case type with two assignments in first stage, if the first assignment is completed and then a case-wide action is performed before beginning the second assignment, the the chevron arrow mark was shown pointing to the second assignment even though the user was performing a case-wide action. This was traced to the activity pzLoadStageStatusDP step 10 java step where pxFlow page is taken from the pyWorkPage and the pyLastFlowStep property holds the next step that will be performed. As pxFlow holds the flow parameters of current flow being performed, pxIsCurrent ends up set on the wrong step. To resolve this, a "when" condition has been added in the pyStageStepList section for the arrow mark to be visible only if it is not case-wide local action. | Case Management |
INC-224726 | 730542 | Resolved drag and drop duplicate entries | Including files with Drag and Drop control was resulting in duplicate file entries. This was traced to run visibility on client being enabled by default on layout in the section pzAttachContentScreen, and has been resolved by modifying the default to be that run visibility on client is disabled on layout in this section when pyDescription is null. | Case Management |
INC-226400 | 731711 | Adhoc case creation repaired | Adhoc case creation was not working. The adhoc case creation flow action uses a page called "newWorkPage" for case creation: this parameter page which is used by the pySaveAdHocCase activity in the pyCreateAdhocCase flow action has a naming conflict with page name in activity pzShowConflicts, resulting in the system removing both the pages in step 11 of pzShowConflicts activity. To resolve this, the page created and used in pzShowConflicts has been renamed from newWorkPage to showConflictsWorkPage. | Case Management |
INC-228513 | 736681 | Operator ID recorded in pxStageHistory | In order to support capturing, reporting, and extracting the operator ID of the users starting and completing the stages and steps in the case lifecycle, an update has been made which will store the operator ID in pxStageHistory. | Case Management |
INC-230662 | 738960 | Security updated for AttachmentInnerDetails | Cross-site scripting protections have been updated for AttachmentInnerDetails. | Case Management |
INC-230826 | 733551 | Legacy hardcoded WorkPage removed from ReassignAssignment | When there was a child case Task available, attempting to transfer the case caused the system to update the Parent case .pxFlow(CreateTask) instead of the Task case .pxFlow(CreateTask). This was traced to the pyReassignAssignment activity having a legacy hardcoded page pyWorkPage defined, and this hardcoded page has been removed to resolve this issue. | Case Management |
INC-231562 | 745420 | QuestionImportWizard draft mode corrected | When the bulk question setting was enabled, pxQuestionImportWizard was created in Draft mode which does not work in Production Level 1. This has been resolved by turning off Draft mode on the pxQuestionImportWizard flow. | Case Management |
INC-235700 | 746634 | ShowSubFlowData registered to resolve navigation breadcrumb error | In a screen flow navigation utilizing the TreeNavigation7 Section rule, double clicking on any bubble /step in a navigation breadcrumb generated a "Modal Dialog: Ajax Call Failure!" error. This has been resolved by adding activity registration code to register the pxShowSubFlowData activity. |
Case Management |
INC-236743 | 750765 | DiscoverCaseTypes requires authentication | The activity Rule-Obj-CaseType.pxDiscoverCaseTypes now defaults to Require Authentication to run. |
Case Management |
INC-236754 | 748211 | Removed aria label for div without role | "Process Work Area" had an aria-label attribute used in conjunction with role=generic, creating an accessibility issue due to the aria-label attribute not being well supported on a div with no valid role attribute. This was traced to a role="main" which was previously removed from the div that the aria-label="Process Work Area" was present on, and the issue has been resolved by removing the lingering aria label for the div which doesn't have a role. | Case Management |
INC-236764 | 744618 | Busy indicator handling added for failed drag and drop | For some emails, attempting to drag and drop an attachment from the inbox did not work and the reload icon would appear and keep spinning until there was a refresh. Investigation showed the value of count in the function pzHandleDrop was 0 for the problematic emails, but the issue occurred because the function did not have an else block to stop the busy indicator whenever the file count was 0. This has been resolved by moving the showBusy() function call inside an if condition in the pzhandleDrop function of the pzMultiDragDropControlStandard control. | Case Management |
INC-236768 | 752387 | Find by ID functionality repaired | After update, the Find by ID Functionality was not working as expected. This was an unintended side effect of work done around the inheritance of default values when the portal pyPortal.pyDesktopType was set to Composite, and has been resolved by modifying the previous work to move the check to verify if the pxCurrentWorkPool== "" to a later step. | Case Management |
INC-240966 | 753403 | Corrected SFTP attachment URL format | When using an SFTP URL such as sftp://testurl.test/fillers for an attachment, the platform was removing the colon and showing the URL as sftp//testurl.test/fillers. This has been resolved by adding adding SFTP (!strURL.toUpperCase().startsWith("SFTP:")) to the conditions list in the 'DisplayAttachment' HTML rule to resolve the incorrect SFTP URL format. |
Case Management |
Cloud Services
8.7.4 Patch Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-210513 | 710343 | Added handling for clustered index on the pr4_rule table during migration | When attempting to migrate the rules schema to RULES85 and temp data schema DATA85, the upgrade was becoming stuck in a loop while working to generate declarative indexes for Rule-HTML-Paragraph. Investigation showed the infinite looping happened only for classes mapped to the pr4_rule and with instance count of more than (num of threads * batch size). This was due to the presence of a clustered index on the pr4_rule table causing the resultset to return an infinite number of records in SQLServer, and has been resolved with an update to leverage the total record count to iterate the resultset instead of depending on the resultset.next(). | Cloud Services |
INC-217855 | 731909 | Uncommitted hotfix able to Rollback All after install | A security hotfix was installed through Hotfix manager and left as uncommitted. When new hotfixes for the same files were received, the process required the uncommitted hotfixes to be rolled back, but attempting to do so generated exceptions in the logs reading "Exception in rolling back the archive PegaRULES Process Commander: code: 0 SQLState: Message: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (PRPC_RULE_ADM_P7.PR_ENGINECLASSES_PK) violated". The issue was caused by the Date field only accepting dd/mm/yyyy HH:MI:SS, so attempting to insert two records of the same jar in the pr_engineclass generated this error from pr_data_restore in Oracle. To resolve this, an update has been made to insert rolled-back jar removals with their original patch date to avoid PK conflicts. | Cloud Services |
INC-222835 | 721066 | Fallback handling improved for import synchronization | Upgrade to CRM 8.7 was failing during the import of the CRM jar. There are some rare edge cases where instances may be in the database, but not visible to the engine until the import is already underway, such as when rollback has deleted a class definition and mapping but not the instances of the class itself. To mitigate the risk of PK constraint violations when this happens, the process has been modified to mark all the instances that cannot be directly synchronized as updates so that the data layer will upsert them. | Cloud Services |
INC-241010 | 752131 | Increased pr_data_restore blob accommodation | Over time the various DB2 LUW Linux, UNIX, and Windows (LUW) blob sizes on different tables has drifted upward and created the need to handle larger instances. This update increases the size of the blob for pr_data_restore (which is used to hold hotfix rollback information) to accommodate the largest instances that can be stored in other tables. | Cloud Services |
Conversational Channels
8.7.4 Patch Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-218361 | 737012 | AttachmentEmbededInHtml flag works with Microsoft Graph | When an email was received with inline attachments such as images in the signature or an attached file like a Word or Excel document, the attachments were saved into Data-WorkAttach-File but the flag "pyAttachmentEmbededInHtml" used to differentiate whether these attachments were inline attachments or not was not being set consistently when the email was sent from an external domain. This was was missed use case related to Microsoft Graph where pyAttachContentDisposition was not being set to inline for inline images, and has been resolved by updating pzCreateInteractionReply. | Conversational Channels |
INC-228963 | 740548 | Null check added for blank CSS style | After a case was created from email, opening the case did not display the email body. This was traced to the styles found in the content of the email body, specifically to a style starting with ":root" that was causing the issue. In pyGetHTMLMessage, the email processing does not happen if the CSS selector is blank, which happened due to a null check not being performed when changing the internal CSS styles to inline CSS styles. To resolve this a null check has been added on the selector. | Conversational Channels |
INC-229423 | 729986 | forcemigratetriagecases added to allow check migration status query skip | The IsMigrationDone query was taking around 20 seconds to run on a very large amount of data in pc_work table. To address this, a new 'when' rule pyforcemigratetriagecases has been added to allow skipping checking migration status for on-demand migration. | Conversational Channels |
INC-230368 | 735186 | Handling added to prevent empty interaction identifier | The pxInteractionAggregator queue processor was trying to aggregate data periodically but failed with the error "Unable to open an instance using the given inputs: pxObjClass = "Data-Conversation-Summary", pyInteractionId = "". Investigation showed the interaction aggregator could not find the interaction or could not get an ID from the interaction, causing the number of broken records to grow because Obj-Open failed each time it could not find a record in the database. To address this, the pxInteractionAggregator has been updated to better handle the Obj-Open step and empty interaction IDs. | Conversational Channels |
INC-232249 | 736728 | DefaultParagraphSplitter updated to handle nested HTML | When a customer selects an option from menu, the outbound message should consist of the message along with a link that the user can click and navigate through. Due to an issue with DefaultParagraphSplitter, only the message was seen and the link was missing. This has been resolved by updating DefaultParagraphSplitter to better handle nested HTML tags. |
Conversational Channels |
INC-232672 | 756530 | Message history merged when document version is different | When a chat was escalated to the agent, an internal error message was shown following the queue position and wait time message indicating that the PreChatQuestions flow was executed but the questions were not captured in the pyHistory of the BotCase. Investigation showed that processing the PreChat flow on the same interaction at the same time as processing messages such as "You are in queue..." may cause that history to be overwritten, leading to intermittent issues with lost messages or messages out of order. This has been resolved by introducing a document version property and merging pyHistory before saving if the document version does not match. | Conversational Channels |
INC-232672 | 741892 | PreChatQuestions correctly captured in history | When a chat was escalated to the agent, an internal error message was shown after the queue position and wait time message. The PreChatQuestions flow was executed, but the questions were not captured in the pyHistory of BotCase. This was traced to an incorrect reference relating to inbound and outbound messages and has been corrected. | Conversational Channels |
INC-234503 | 745904 | Corrected PrimaryTopic detection | Using natural language processing (NLP) to detect a topic worked as expected, but the list in the clipboard was unordered and an incorrect value was set as the primary topic. This was traced to the system not sorting pyTopics after aggregating the topics from the body and attachments, and has been corrected. | Conversational Channels |
INC-236529 | 745695 | Updated regex logic to speed email parsing | Large emails with a thousands of blank rows were taking an excessively long time to parse. This has been addressed by removing ~* from the selector regex. | Conversational Channels |
INC-236531 | 750006 | Data page in FIlterProperties updated to not use paging | As a part of Channel configuration, Entity types were mapped with Case type properties => Suggested cases => Response configuration=> Entities extraction. However not all Case type properties were available in the dropdown. Investigation showed that the dropdown source data page was restricting the number of properties and hence not all properties are available. This was due to the report definition (ex: pzGetAllRelevantPropertiesForDataTypeNoAppFilter) which was called internally during source data page execution having "paging enabled" under the Report Viewer tab, leading to the report definition only retrieving 500 records. To resolve this, D_pzGetPropertiesForDataType in pyFilterProperties has been replaced with D_pzGetPropertiesForDataTypeNoPaging. | Conversational Channels |
INC-237536 | 751320 | Handling added for missing text analyzer null pointer | Opening correspondence cases which had email templates in any color or heading or images generated exceptions when there was no text analyzer for the channel. This has been resolved by replacing "getIfPresent()" with "getProperty()" in "pzMapStyleToEntity" to avoid null pointer errors. | Conversational Channels |
INC-239086 | 746009 | Menu titles allow HTML formatting | Attempting to format line breaks and hyperlinks within the menu titles was not taking effect. This was due to the system only accepting a string and stripping out HTML tags in menu titles. To support this formatting use, an update has been made which will not strip the tags on the platform side but will instead send the formatted text all the way to the messaging layer for the menu title inside a menu message type. | Conversational Channels |
Data Integration
8.7.4 Patch Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-176138 INC-198555 INC-225788 INC-226764 |
723083 720900 728056 745050 |
Performance improvements for save-as | Performance issues were seen when using save-as for rules such as Declare expression, When rules, activity, etc. This was traced to a very large number of extra database queries that were being executed while building the Declarative Cache. To resolve this, an update has been made so the queries used for the Declarative Cache will only be executed when required. | Data Integration |
INC-189772 | 718592 | Prconfig added to control declarative behavior during page merge/copy | Declare-on change was getting triggered multiple times even though there was no change in the watched property. Investigation showed this happened when properties had the same value in source and target page. To resolve this, a prconfig has been added which may be used to disable declaratives while performing page merge operations for these properties. The setting name is clipboard/putAllKeepNew/doNotFireDeclaratives: when true, it will disable declaratives when there is no change in property value while performing page merge/copy operation with merge strategy PUTALL_KEEPNEW. The default value is false. | Data Integration |
INC-210855 INC-216381 |
715820 716613 |
BigDecimal handling updated for @ sum function | The @ sum function was not behaving correctly. This was traced to the java code in the 'sum--(ClipboardPropertyCollection)' function which was not properly converting the double to Bigdecimal for some of the inputs like 500, 500, 600.11. This has been resolved by modifying the function to convert input properties to BigDecimal, add BigDecimal values, and return the result. | Data Integration |
INC-212433 | 724510 | Clarified SLA calendar error message | If a calculated SLA date is out of calendar end date range, the error "Perhaps the business calendar of year XXXX is missing" is generated. When the provided start date is not the business day and the SLA was calculated by using a custom activity using addTime, isBusinessDay and pxGetSpecifiedTimeOnDate function, this message showed the current year calendar. When checked in the tracer the exception was thrown with the correct year calendar, but when the exception was written as an alert the message was changed and provided the misleading error on the screen. This has been resolved by addressing the misleading error message. | Data Integration |
INC-213124 | 724630 | AWS file type added for S3 uploads | The correct content type was not getting set when uploading images to S3 using the "pxPublishArtifacts" activity. This has been resolved by adding the content type for AWS files while uploading to S3. | Data Integration |
INC-213413 | 740705 | iText dependency now in Pega shaded jar | Secure PDF uploads were generating a ClassNotFound exception after update. This was due to an updated version of bouncy castle (1.66) not being compatible with the site-required version of iText (2.1.7). To resolve this, a "shaded jar" has been made available for iText 2.1.7 which contains iText and all iText dependencies, and the gradle files have been modified to reference the shaded Pega version of iText. | Data Integration |
INC-217159 | 721072 | German locale preserves semicolon as CSV separator | When manually importing CSV files in the German locale which has special characters, special date format and the semicolon as a separator, the staging environment worked as usual and separated the imported records, but attempting to import the same CSV file to the staging clone did not split the records into the separated fields. This was traced to the pzGetLocaleListSeparator decision table returning a comma for the separator instead of semicolon for the de_DE locale, and has been corrected. | Data Integration |
INC-217904 INC-218802 INC-220251 |
730430 736909 732071 |
New prconfigs added to handle lob closed error | BIX extraction was encountering the SQL error "Invalid operation: Lob is closed" while reading the BLOB, but the rest of the records were able to be extracted. This was traced to previous work done to resolve an issue where Oracle temporary space used to write the LOB was not freed up after writing records to Log-Service-File when using OJDBC8 or OJDBC10 versions. This change caused an issue for DB2 where the freed BLOB was still trying to be extracted. To address this, new prconfig settings have been introduced to control freeing BLOB memory. If the error is seen regarding the lob being closed, add and disable these settings (set value as false) in the pronfig.xml file. DATABASE_MANAGEMENT_FREELOB: settingName: database/management/freeLOB description: If this flag is set to false, it controls the free memory calls defaultValue: true DATABASE_MANAGEMENT_FREEPAGEDBMAPPERLOB: settingName: database/management/freePageDBMapperLOB description: If this flag is set to false, it controls the free memory calls. defaultValue: true Following this change, restart the server. |
Data Integration |
INC-218234 INC-238293 |
734685 750018 |
DSS added to skip 'Has Purge Happened Since Startup' | The Purge Agent did not finish execution, exiting with the error "skipping purge because HasPurgeHappenedSinceStartup == false". This was traced to the local site policy of restarting their nodes every week, which was not aligned with the system default purge policy. To address this, a new DSS "skipHasPurgeHappenedSinceStartupCheck" has been added to the Pega-RulesEngine ruleset. When set to true, the check for 'Has Purge Happened Since Startup' will be skipped. | Data Integration |
INC-218463 | 726500 | Common TransformerFactory method added for greater compatibility | In Service-SOAP, mapping request headers and parameters to the clipboard (instead of mapping to a Parse XML rule) resulted in blank values on the primary page of the service activity when using the IBM WebSphere Liberty app server. In this case, instantiating the JAXP TransformerFactory object using the com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl parameter resulted in a transformer that serialized the XML to an empty string instead of the correct XML. To resolve this, an update has been made to make a common TransformerFactory method to ensure IBM JDK in WAS deployments function as expected. | Data Integration |
INC-218532 | 742523 | File listener error recovery resumes from failure point | When file listeners were unable to parse a file due to exception, the automatic error recovery did not start parsing from the correct location. Investigation showed the segment was not tracked during file listener run, so during error recovery the file listener always started processing from the first segment instead of the segment from which it failed. This was a missed use case and has been resolved by tracking the active segment and utilizing it during the error recovery run of the file listener. | Data Integration |
INC-220652 | 721385 | Added explicit clearing for AsyncServiceManager cache | Heap size for multiple JVMs increased after update. Investigation showed data pages loaded via Load-DataPage during service processing using requestor pools were cleared after each service interaction but the AsyncServiceManager cache was not cleared. To resolve this, an update has been made that will clear the async cache when the requestor is returned and when flush all is called. | Data Integration |
INC-220837 | 729120 | Number formatting a separator corrected for Greece | When the locale was set to el_GR, number formats for currencies in monetary digit grouping was using 3;2 formatting instead of 3, causing errors such as 10,00,000.00 being displayed instead of 1.000.000,00. This has been corrected. | Data Integration |
INC-221078 | 746885 | Corrected error while creating client device | A null pointer error was generated while creating a client device. This has been resolved. | Data Integration |
INC-225696 | 736795 | Explicit expiration added to avoid searching for expired requestor | A login page was taking long time to display. This was traced to pre-authentication cookie in the browser pointing to the requestor object on the server which triggered a lookup across the entire cluster of servers to find the requestor. This was not only taking time, but the attempt to find the requestor in the cluster would always fail to return results as the requestor was not passivated but instead removed after two minutes. To resolve this, an expiration has been added to the Pega-RULES cookie when the value is pre-authenticated. The time to expire is derived based on the short-lived requestor time for unauthenticated requestors + 1 minute, and will be 2 minutes by default. This will avoid searching for a requestor across all nodes in cluster when the requestor has already timed out and been destroyed by server. | Data Integration |
INC-227988 | 736461 | Corrected unnecessary declare trigger firing | The crmAuditStage declare trigger was activated whenever the views mentioning the properties were accessed even though the values for the mentioned properties were not changed or updated. This resulted in a row inserted in the audit table. The audit data was in turn read by other processes to determine the age, health status of opportunity, etc, causing several reporting issues. To resolve this, if the target and source pages have the same property(same value), while invoking the Page-Merge-Into with Keep value 3(PUTALL_MERGE), then it will not create changeElements and the Declare Trigger and Declare On Change Rules should not fire unnecessarily. | Data Integration |
INC-228145 | 746013 | Performance improvement for service package requestor pool | Slowness was seen on requestor pool for Services Packages like OAuth2 redirect or WebSSO AssertionConsumer. This has been resolved by adding the user access group to the ADP thread to avoid requestor context switching. | Data Integration |
INC-228622 | 739123 | Month names localized correctly for "CZECH" | Localization for the country "CZECH" has been updated to correct the month names displayed in calendar control. | Data Integration |
INC-229907 | 734304 | SOAPAppenderPega includes namespace in ClusterName and Signature fields | After update, the Predictive Diagnostic Cloud (PDC) was not not logging the events, servers status, etc, and was indicating it was blocked by the IBM DataPower Gateway due to the SOAP message format. This was traced to the namespace not being included in the ClusterName field, and has been resolved by updating the sendEvent method in SOAPAppenderPega.java to add the namespace to the ClusterName and Signature fields in the header. | Data Integration |
INC-229992 | 735013 | SOAP TLS version will be dynamically set | Using the "Create SOAP connection" wizard resulted in an error no matter what WSDL was imported. The original implementation of the SOAP wizard relied on a hard-coded TLS level when invoking the HTTP call to the WSDL URL. The hardcoded value was never updated past TLSv1, and had to be manually updated by developers for new TLS versions. This was insufficient when the WSDL URL provided did not support lower TLS versions. To resolve this, the logic has been updated to source the TLS version from the system setting "Pega-IntegrationArchitect pyLowestAllowableTLSVersion", which will match the generated rules and stay up to date as Pega security standards update. The value will default to v1.2 if the system is unable to get a value from setting. To make the best use of this, do not use hardcoded values for version specification in dynamic flows where possible. | Data Integration |
INC-230929 | 743822 | Corrected memory leak related to CLOB cleanup | Excessive CPU use was seen even under normal traffic. Investigation identified an edge case where CLOBs were not all being cleaned up, causing memory leakage. This has been resolved by ensuring unused objects are freed. | Data Integration |
INC-231195 | 748024 | Business Calendar functionality updated to clear instances | Campaign runs were failing when the Business Calendar functionality was used in Decision Strategies to limit communications after a threshold time. Investigation traced this to the single calendar being loaded more than once, and this has been resolved by adding a synchronized block in the checkCalendarCache function for thread safety along with modifying the updateCalendarCache function to remove old business calendar instances before adding new ones. | Data Integration |
INC-231255 | 743969 | Documentation updated for "pagination on scroll" layout configuration | The documentation for configuring layout options in a repeating dynamic layout has been updated to clarify that the "pagination on scroll" function works in template mode only. In non-template, it switches back to user action pagination. Setting pagination on user action works in both template and non-template UI. | Data Integration |
INC-231961 | 740672 | Logic updated for locating attachments for archived items | Clicking on the attachment link for archived work items resulted in the message "Unable to open the attachment. You lack the required permissions." Investigation showed the system was trying to retrieve attachments from the default archived location even though cases were archived on the local file server, and this has been resolved by updating the retrieval logic. | Data Integration |
INC-232338 | 739259 | Data_views Pagination in v2 DX API working as expected | When attempting to use the pagination features available with the v2 DX API '/data_views/{data_view_id}", all results were returned and no pagination was performed. This has been resolved. | Data Integration |
INC-234724 | 747288 | Robotic desktop automation (RDA) response included in post body | A robotic desktop automation (RDA) response of more than 2500 characters was not being set on the clipboard after the completion of the automation. Instead, the response was being converted into post-URL to call the pzUpdateClipboardWithAutomationValues activity, which then failed with a 400 error. As the large incoming response value makes the safeURL instance invalid when directly included in the URL, this has been resolved by including the response in the post body. | Data Integration |
INC-235943 | 746623 | Null check added to prevent PresenceLifeCycleEventManager loop | A null pointer exception was occurring in a loop and creating thousands of log entries. This was traced to the PresenceLifeCycleEventManager trying to set the presence state of a given requestor to Disconnected and not succeeding. To resolve this, a null check has been added to block the null pointer exception. |
Data Integration |
INC-236439 | 745284 | Corrected export of zero value being saved as '0E-9' | File Data Set was exporting some properties as '0E-9' if the value was 0.00000 . This has been corrected. |
Data Integration |
INC-237464 | 745859 | en_SG locale added | Support for the locale “English (Singapore)” (en_SG) has been added. | Data Integration |
INC-238791 | 753720 | Localization updated for Decimal/Integer/currency values | In the UI section rule, using the local Vietnamese currency and decimal points displayed correctly in the UI, but after firing the validations the amounts were displayed as plain numbers without any decimal points. Ex : 36.492.000,00 đ was displayed in the UI, but in the validation it was showing 36492000 đ. This has been resolved by modifying the MessageEvaluator.java to format the Decimal/Integer/currency values based on locale. | Data Integration |
INC-242283 | 755026 | Support added for bulk case delete with Case Archival utility | Through this enhancement, clients can configure Case Archival utility to perform the Purge operation directly while skipping the Copy operation. This allows the clearing of very large amounts of data without copying the cases to an external repository first. | Data Integration |
Decision Management
8.7.4 Patch Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-209358 | 703530 | EmailParser updated to handle line breaks when seeking entities | After update, entities like policy number and dates were not extracted from an email triage case if there was a line break in the email body. Investigation showed the email splitter (pxEmailParser) was treating only part of the email, which contained line breaks, as the "email body" while the rest of the email which contained the entities was considered a signature or disclaimer. This has been resolved by updating pxEmailParser. | Decision Management |
INC-210892 | 706289 | Handling corrected for CSV formatted output from CDH | After upgrade, the Output Templates with File output (.csv file extension, comma delimiter) for Customer Decision Hub did not work as expected. Creating an Output Template for use in an action flow with defined fields containing commas for output previously resulted in the individual fields containing commas being enclosed in double quotes, but the output after upgrade instead was enclosing each of the comma-delimited fields in quotes, causing an issue with the original format of the data. This has been corrected. | Decision Management |
INC-219445 | 736806 | Performance improvements for text analysis | When the content size was very large, slowness was seen when progressing an article from creation > approval stage. This was traced to the data transform “KMClearRejectionNote”, where a loop was iterating more than required due to an incorrect parameter passed to pzGetCurrentContextTagsWrapper, and the activity pxRunTextAnalyzer was taking an excessive amount of time to run. To improve performance, the logic has been updated and modifications have been made to the chunker and the sentence level analysis used in the Twitter parts of speech (POS) function. | Decision Management |
INC-220227 | 725951 | Guard added for exceptions in ExceptionWithInputRecordConstructor | Creation of ExceptionWithInputRecord instance can intermittently lead to a null pointer exception or a stack overflow error. This has been addressed by adding handling to protect against these in ExceptionWithInputRecordConstructor. | Decision Management |
INC-220280 | 715771 | Reference corrected for Decision Data Record (DDR) component | Globally optimized strategies (GOS) optimization was failing due to invalid reference of a Decision Data Record (DDR) component. Investigation showed the pyPageClassName of the DDR shape was not set to the correct new value at the time the shape validation was triggered when using 'save as', causing validation to pass during the save-as step when it should fail. This has been corrected. | Decision Management |
INC-220893 | 728486 | Errors persisted for single case runs using a custom error handler | Single case processing (SingleAccountData) had failed records when opening the SubscriptionData dataset, but it was not possible to see the failed record details for further investigation. Investigation showed that when running a single case run with a custom error handler, errors were persisted as part of the dataflow metrics, but not written to the database. To resolve this, an update has been made to ensure errors are persisted for single case runs configured using a custom error handler. | Decision Management |
INC-220985 | 728987 | IsPropositionActive property retained during save-as | When the action treatment was saved-as from a lower version to higher version, the treatment DDR form was missing the attribute "pyPropositionactive" property in the higher version. This was traced to the pyIsPropositionActive property being removed by the PreSaveAs activity of the DDR rule because it was considered not relevant for a non-proposition type decision data. This has been resolved by adding handling for the pyIsPropositionActive flag. | Decision Management |
INC-222561 | 721042 | Check added for destination type for distribution test reports | When there were two output destinations in the system, one of type VBD and another of type Database table and both had the same name, an incorrect class was set for distribution test reports and an error was generated when trying to open the report. Investigation showed the system was only checking for the name of the destination and not its type; this has been resolved by adding a pzSetSimulationOutputClass data transform to check for the destination type in addition to the destination name when setting the class for reports. | Decision Management |
INC-223522 | 748138 | Revision Manager landing page updated and DSS made available | In order to address slowness in the load part of revision manager, a lightweight version of the landing page has been created, and the DSS OptimizeRMLP has been introduced in the Pega-DecisionManager ruleset. If the value is true, the load will rely on the pyRevisionRecords page list instead of the pyDMRulesOverview page group. |
Decision Management |
INC-224816 | 748307 | Notifications list will be rebuilt after passivation | Trying to load the notifications by clicking on the bell after returning to a passivated session resulted in a blank page.This was traced to a null pointer for the pyEnableChannel in pyGetNotificationDefinitionsPerClass, and has been resolved with an update which will remove and rebuild the NotificationsList page in the pyGetNotificationDefinitionsPerClass activity in case of session timeout. |
Decision Management |
INC-226718 | 734887 | Handling added for illegal character in filename exception | The exception "Illegal characters detected in the path "Notifications_01_06_2022_05:00:32AM.csv". You may not use the following characters: [", ?, ASTERISK, <, >, |, :]" was appearing regularly in all environments. This was traced to the activity pzGenerateMailAttachment, which explicitly formatted attachment name with : and then threw the exception while validating the same in pyFormatAttachmentName. While this exception did not have any functional impact and was triggered once a day, code has been added to remove the special characters from the filename. |
Decision Management |
INC-228287 | 731635 | Resolved IH count discrepancy for globally optimized strategy | When the IHSummary dataset used in the interaction history shape had pxInteractionID selected as an additional dimension in GroupBy keys and a globally optimized strategy (GOS) was created that referenced the strategy, running the GOS compare test with a data transform setting the primary key of the strategy apply-to class had the right summary record as output while GOS had an empty page as the output. This has been addressed with an update which will exclude interactionID from the GroupBy keys of the IHSummary dataset to resolve the discrepancy between GOS and normal strategy execution. In addition, when there is no driver shape and no summary records, the system will not output summary record pages. | Decision Management |
INC-228430 | 738823 | Enhanced diagnostics for NLP | To enhance diagnostics for issues related to natural language processing (NLP) and Apache Rule-based Text Annotation (RUTA), support has been added for runtime metrics that will allow benchmarking and debug test scenarios over a set amount of time. NLP diagnostics have been introduced which will capture the text analyzed for all incomplete executions in Data-NLP-Report-Summary table. Every text analyzer execution will insert a record into summary table with text and text analyzer details and at end of execution the row is deleted. On system crash, texts with incomplete executions will be present in the table to help identify any special patterns that could cause issues. This summary record insert/delete will occur only if DSS(PEGA-NLP!ENABLENLPDIAGNOSTIC) is set to false. Currently the DSS is shipped with true. To enable/disable, change the value in DSS and then re-validate and save for the changed DSS to reflect (Configure > System > Release > Upgrade > Validate > click on re-validate and save - Type:rule-NLP-PredictiveModel dropdown and ruleset: give the application ruleset - ruleset in which the text analyzers are created. Click on list and then Click on run.) Additional support: * The activity "pygetdiagnosticnlpsummaryrecords" has been added to retrieve the summary diagnostic records present in summary table whose NLP analysis has not been completed. * The "pyDumpNLPProcessTimersInRepository" activity has been created to dump process timers to a repository. This activity must be called from a job scheduler configured to run on background processing nodes to dump process timers. This will be done on-demand to analyze the performance(time taken) for RUTA execution etc. Before running this JS, configure the repository in prediction studio settings to dump the CSV in that repository. As soon as 1 CSV is dumped, the JS can be disabled. * Debug logs have been enabled for com.pega.nlp.ner.command.RutaCommand (system>operations>log level settings) which prints the RUTA entity type start and end of execution. |
Decision Management |
INC-228430 | 744986 | RUTA handling improved in Prediction Studio | Out of memory errors were seen when using natural language processing (NLP). Investigation showed that certain Apache Rule-based Text Annotation (RUTA) scripts had disjunctive rules which were not able to handle certain types of texts having base64 characters which were introduced in emails via attachments, images, logos etc, and which caused excessive system loads. This has been resolved by modifying the RUTA handling in the Prediction Studio settings to better manage the scenario. | Decision Management |
INC-228935 | 731522 | Writes to movie data set made optional in Delayed learning flow | In order to prevent the Cassandra event store from accumulating excessive tombstones, an option has been added on the movie landing page to disable writes to the event store dataset. | Decision Management |
INC-229319 | 739146 | Service registry queries optimized | Full table scans were being performed by queries running against pr_sys_serviceregistry_kvs and pr_sys_serviceregistry table. This has been resolved by optimizing service registry queries to avoid full table scans. | Decision Management |
INC-229682 | 731964 | Repository schema updated for DdsDataSetFactory | After update, running the CDH NBA Scheduler resulted in the error "UnsupportedOperationException: This operation is not supported by NonVersionedJDBCJarReader". This has been resolved with an update to use the explicit construction of PRPCSchemaRepository in DdsDataSetFactory rather than loading SchemaRepository via SPI ServiceLoader. | Decision Management |
INC-230327 | 738103 | Updated DDS table migration handling | In order to prevent data loss during update, Data-Admin-DataSet-DDS activities have been modified so that an existing pyCorrespondingTableName is not overwritten on subsequent save calls for data sets already saved to the database. | Decision Management |
INC-230436 | 733941 | PropositionFilter logic updated | In order to reduce processing overhead and better handle custom code, new LogicStringParser has been added for evaluating complex logic in PropositionFilter. | Decision Management |
INC-231505 INC-237193 |
733972 744027 |
Error handling improved for NBA run | The data flow partition on a node was sporadically becoming stuck during a Next Best Action Campaign outbound run when it encountered an issue such as a NoClassDefFoundError, requiring the node to be restarted to clear the problem. This has been resolved by explicitly making sure the flow partition is failed when an input thread dies or there is an error in the dataflow. | Decision Management |
INC-231704 | 741218 | Email template fragment updated to correct footer handling | After creating a new Email correspondence rule and configuring the place holders as per the selected template, when the preview was rendered the "Footer" verbiage was being displayed irrespective of the footer region configurations. This has been resolved by updating the template fragment. | Decision Management |
INC-231808 | 735285 | Heuristics moved from individual Annotator to Operations for consistent tokenization | Because tokenisation heuristics were part of annotator and not part of operations, rule-based taxonomy loaded token operations directly, bypassing these heuristics and resulting in different tokenization outcomes for taxonomy keywords and analysis time text. Due to this discrepancy, emails were getting tokenized and not matching analysis time content. This has been resolved by moving heuristics from individual Annotator to Operations for tokenization to be consistent. | Decision Management |
INC-231889 | 736489 | Email Parser updated with entity models and datatype casing | When the email bot receives a message, all of the content plus the appended disclosure statement added by the mail server is considered. This was causing issues when words in the disclosure matched words added in the actual email body as keywords, causing the email bot to pickup multiple categories matching these words and not routing the service case appropriately. This has been resolved by adding AnalysisType.ENTITY in the analysisType list for pre-processing models and updating the logic to find out if entity extraction is selected or not (without using the analysisType list). In addition, an issue where pxEmailParser model was not running in the email channel due to an issue with preprocessing model datatype casing has been resolved by updating ExecutePredictionInPRPC to lowercase the datatype after reading from the text analyzer rule page, and then perform the comparison. | Decision Management |
INC-233125 | 747097 | Updated logic for UnreadNotificationsCount | The count for the notification bell was not increasing properly. This has been resolved by updating the visibility condition for the UnreadNotificationsCount. A separate section has also been added for the Prediction studio bell icon representation. | Decision Management |
INC-236469 | 746494 | Algorithm updated to handle decreasing propensity | If propensity decreased at the end of the log odds score distribution, the final two bins calculated by the PAV algorithm had incorrect ranges. This could potentially lead to a log odds score being mapped to a wrong propensity, and the AUC could in turn be calculated slightly incorrectly. The effect of this would be more apparent for young models with fewer bins; in mature models the impact was very small as the error occurred at the tail end of the score distribution and effected a very small percentage of responses (<1%). To resolve this, the PAV algorithm has been updated so the calculated bin ranges for the final bins are correct in the edge-case of having a decreasing propensity. | Decision Management |
INC-236831 | 748740 | Confidence score saved for entity, topic | Confidence score for topic has been added in the Natural Language Processing (NLP) report details | Decision Management |
INC-238427 | 746849 | Attachment pagination handling added for custom simulation reports | The Pega Marketing simulation process migrated as case type has an option in the Pending-Review stage for each report to attach the report outcome to the case, but the system was loading only 50 records when pagination was enabled. This was a missed use case for custom reports with pagination enabled. The API used in the custom report to convert the results to CSV used a Report content page which had limited results due to pagination while standard simulation reports do not have pagination enabled. To resolve this, an extension has been added to override the report parameters for custom simulation reports and disable the paging parameter. An extension point was also added in the Simulation report category so it can be enabled for report viewer. | Decision Management |
INC-239867 | 748086 | Old scoring models given default modelVersion to resolve error | After update, an intermittent "Error prod-mirror - DataFlow Stage Exception" error message appeared when opening the "Decision > Model Management" page to view all models. This was due to modelVersion not being defined in old scoring models that have been generated and serialized. If these are still in serialized form in the Cassandra store on Pega versions 8.6+, then they will throw this exception. To resolve this, coverage has been added for Pega v8.3 scoring models which will use the default version when modelVersion is missing on deserialization. | Decision Management |
INC-240208 | 749898 | Offer flow opens when adaptive model exists | After creating and enabling an offer in two inbound channels, the offer was then enabled in an outbound channel. After that, an error was generated when opening the offer flow and tracer showed a type conversion error on one of the predictors while the system was trying to load the ADM data. This has been resolved by updating ADM Monitoring to address a getBinLabelDisplay parse error. | Decision Management |
INC-241874 | 752367 | Special characters handling added for keyword entity type | Entity extraction was not working if the text contained a dash character, "-". This has been resolved by modifying the tokenization logic to handle special characters when building the keyword based model. |
Decision Management |
INC-242670 INC-243025 |
753019 753287 |
Pre-aggregation calculation logic updated | When using custom interaction history summaries in which some of the aggregates were configured with a window of "All time", the summary was aggregating data only for the last 365 days. This has been resolved with an update to the calculation of the pre-aggregation start date when a summary dataset contains both all-time and non all-time aggregates. | Decision Management |
INC-243344 | 754453 | Enhancements to Voice AI Model | In order to address an issue where entity model accuracies with voice transcripts were lower in certain instances where the entity was in the beginning of the sentence or towards the end of the sentence, a feature set has been added for entity models built for voice usecases. This is controlled through the new DSS "decision/textanalytics/entitymodel/isvoiceenabled" which is set to false by default. If set to true, this new feature set will be used and entity models built after setting this DSS to true will be better suited for voice AI usecases. | Decision Management |
Low-code Application Development
8.7.4 Patch Resolved Issues for Low-code App Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-205938 | 721199 | Improved handling for heavy use of PushDailyUserData | The PushDailyUserData agent was causing utility node performance issues due to the amount of data it was fetching from pr_hourly table. To resolve this, an update has been made which will run the agent once per day and chunk large data. | Low-code App Development |
INC-209158 INC-237362 |
722413 748109 |
Loop handling updated for Decision Table OR conditions | The system was crashing when saving or checking in a decision table with 21 columns and 20 rows where each cell contained 1, 2, or 3 OR conditions. Investigation showed this was caused by an indefinite number of loops when OR conditions were used in the test consistency activity, and this has been resolved with an update which ensures only the specified number of loops are performed. | Low-code App Development |
INC-211248 | 713156 | Survey navigation type set for use with complex CB refresh | After upgrade from Pega 7.1 to Pega 8.5, creating a legacy survey used in pxSurveySection with a complex CB question page that contained a refresh option had collapsed tree navigation, the survey name was blank, and duplicate labels were found in picklist questions. To resolve this, an update has been added which will set the navigation type in parameters after a complex CB refresh and skip page copy while upgrading survey work objects. | Low-code App Development |
INC-218309 | 722159 | Helper text added to X icon in Theme Cosmos delegated rules | There was no helper text on the X icon in delegated rules when using Theme-Cosmos. This has been resolved by updating the close icon in Rule-Obj-Class!pzDataTypeActionsnow with the text "Click to close". | Low-code App Development |
INC-218935 | 728227 | Keyboard access added for delegated decision tables | Delegated decision tables were not accessible by keyboard, interfering with editing the table. This has been resolved by adding the tabindex and appropriate event handler of keyboard actions for the grid cells that are clickable/editable so the content of the popup to select the properties is accessible by the keyboard TAB and ENTER, and the decision table grid cells are now accessible via keyboard tab. | Low-code App Development |
INC-220166 | 724346 | Declaratives processing temporarily disabled for DX API request | After update, trying to navigate from one assignment to another assignment by using the DX API post assignment request displayed a date format error due to rule changes that caused the declare trigger to be called at the time of getting the response. This caused validation to fail. To resolve this, an update has been made to temporarily disable declaratives processing when processing DX API request content. | Low-code App Development |
INC-220385 | 720009 | Corrected Branch Code Score / Unit Test Rule count issue | When reviewing branch quality, the "Rules with Test Cases" indicated 5 out of 7 rules were covered, but no rules were listed in the "rules without unit tests" tab and all rules within the branch had unit tests where applicable. Investigation showed the filter for withdrawn rules was not working correctly and they were shown as not having test cases. In addition, when a test case was in a branch but its tested rule was not in the branch, the test pass percentage calculation was being skipped and displayed as 0%. These issues have been corrected. | Low-code App Development |
INC-220472 | 729742 | Circumstance template list correctly populated | While creating the Circumstance definition, templates were populated on hit of the down arrow but the same configuration was not working for the dropdown for creating the circumstanced rule to select the template. Investigation traced this to an issue with the query generated in pzGetCircumstanceTemplateRules, and this has been corrected. | Low-code App Development |
INC-222791 | 721371 | GET API will skip case locking | After update, performing a GET call on an assignment was unexpectedly locking the case. This was traced to a difference in handling: Pega 8.3 performed an Obj-Open-By-Handle of the workobject without acquiring a lock, while Pega 8.6 calls Assign-.acquireWorkObject which acquires a lock on the work object thereby affecting the other requestors from accessing the case. An initial fix for this issue enabled optimistic locking, however this did not resolve the issue in scenarios where there were concurrent calls and optimistic locking was not used. This additional update will skip locks on the work object for V1 GET assignments/{id}, GET assignments/{assignmentId}/actions/{actionId} and GET cases/{caseId}/actions/{actionId} and corresponding action refresh APIs. | Low-code App Development |
INC-224487 | 729465 | Security test status message includes assignment | After update, the error message generated during a security test returned Status OK 200 but without any content. This was traced to a skipped step in pzGetAssignmentActionDetails activity and has been corrected. | Low-code App Development |
INC-227438 | 745436 | Updated D_DataType references to preserve template parameters | When using a Citizen Development Platform with data transforms based upon a template automatically copied to the correct class, the data transform changed the parameter's data type from Page Name to String and then failed. This has been resolved by changing the way D_DataType is referenced, as extra parameters caused a separate data page address to be populated and change the data type. | Low-code App Development |
INC-227819 | 735347 | Improved browser compatibility for ContentDisposition header | When files were downloaded from a Sharepoint repository by clicking on the link, the filename was appended by a unique case instance ID or a sequence number to avoid duplicates. This caused a workflow disruption due to the reupload considering the file to be new rather than updated. This was traced to an issue with the usage of the ContentDisposition header which should have set the default file name: as created, the method was not compatible with Google Chrome on Microsoft Windows and was ignored. This has been corrected by updating the ContentDisposition header to set the default file name correctly when using supported browsers. | Low-code App Development |
INC-229440 | 734022 | isRulesetLocked updated for efficiency | When trying to access some access roles, the error "The number of database bytes input for this interaction has exceeded the ERROR level for Requestor" was generated. Investigation showed there were many read-BLOB events being triggered by the when rule pzRuleInLockedRuleSet. To address this, isrulesetlocked has been modified to not open every version of a ruleset, but instead perform a simple count and check if the ruleset exists. | Low-code App Development |
INC-232852 | 747812 | Handling added for modifying Administration default date settings at run time | If a user tried to override the default date of the configuration in the 'Administration' page for configuration sets at run time, the date reset to the default value. This was due to the value being stored in pyDynaUIPropertyReferenceDate instead of the pyDynaUIPropertyReference field, and has been resolved by adding the necessary extra processing on the save button to handle date settings in the administration landing page. | Low-code App Development |
INC-233264 | 743668 | Rule updated to "Refactor Copy Move Merge" | The Pega-RulesRefactoring:08-01-01 agent rule "Refactor Copy/Move/Merge" has been updated to remove the '/' character as it was interfering with the agent name validation. | Low-code App Development |
INC-237749 | 747710 | Validation improved for USZipCodeExtended validation | Edit Validate - USZipCodeExtended has been updated to better handle potential input errors. | Low-code App Development |
INC-241349 | 752282 | Added handling for null pointer exception in PushDailyUsersData | The PushDailyUsersData agent in the PegaAESRemote agent schedule was crashing on a daily basis. The error did not occur when running the agent manually from admin studio after a restart. Investigation showed this error was caused by the system attempting to set a value to primary page; as primary page will not be there for agents, a null pointer exception was generated. This has been resolved. | Low-code App Development |
Mobile
8.7.4 Patch Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-191412 | 692673 | Large Data page join condition available for Mobile | Support for a join condition has been added to the Large Data page for use in Mobile to match the use available on desktop. | Mobile |
INC-198193 | 723625 | Error correctly shows for each attempt to upload an oversize file | The error message indicating an uploaded file exceeded the permitted file size was only shown on the first try on Android. Subsequent attempts to upload the same oversize file did not generate any error. This was due to a persisting value, and has been resolved by explicitly clearing the input value for the mobile browser upload. | Mobile |
INC-220749 | 719943 | Optimizations added for large data pages | Attempting to download a material master which has 2 million records timed out after 5 minutes. This has been resolved by adding optimizations that include the batching of large data pages. | Mobile |
INC-222126 | 721904 | Improvement for mobile display error related to harness timing | After updating from 8.1 to 8.6, working very quickly on mobile to create a case and refresh it resulted in a "Display error" screen that included the message "Failed to find instance @baseclase.pyCreate of type Rule-HTML-Harness". This was caused by the system not being initialized with the needed content and some target parameters therefore being evaluated as null. A preliminary fix for closeDocCallback when WebView is not loaded has been added which has significantly reduced the frequency of this issue. Additional work will be done towards a complete resolution in a future release. | Mobile |
INC-224923 INC-226156 |
735841 735743 |
Autocomplete field loads in offline iOS | After converting large data sets to the Large Data Page Structure, some data pages were working in the Android app but not in iOS when Offline Support was enabled. This was traced to the autocomplete field of type 'text' not loading correctly, and has been resolved. | Mobile |
INC-240811 | 753207 | IBM Websphere/Java handling added for certificates | A certificate was working with push notifications on a Pega Cloud environment, but the same certificate used in an on-premise installation failed. This was traced to the use of IBM Websphere / IBM Java, which handles certificates differently. This was causing mobile certificates (keystores) passed through IBM Java to have two entries instead of one. To resolve this, special handling has been added for IBM Web Sphere and IBM JAVA. | Mobile |
INC-240898 | 754689 | Keyboard support added to Client for Windows attachment control | In Pega Client for Windows the "add attachments" button in the utilities pane was not accessible when using the keyboard instead of the mouse. This was due to system using the mobile version of the attachment control, which did not support keyboard events. To resolve this, keyboard action events have been added so that the space bar and enter key can be used to add an attachment in order to be accessible. | Mobile |
Project Delivery
8.7.4 Patch Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-209829 | 710210 | Batch instance documentation updated | The documentation for Batch instances has been updated to reflect that all of the roles and permissions needed for agents and DelayedItemsDataFlow to run need to be available through the configured access group. |
Project Delivery |
INC-214974 | 721180 | Documentation updated for accessing D_pyUserInfoClaims | When logging in using Org Credentials, trying to get the user details from D_pyUserInfoClaims did not return any information. This was due to the D_pyUserInfoClaims datapage being available only after authentication, so the claims information was not available during operator provisioning. The documentation located at https://docs-previous.pega.com/security/86/mapping-operator-information… has been updated to include the following note: "This page becomes available and can only be accessed post authentication." | Project Delivery |
INC-224097 | 723096 | Documentation updated to clarify acceptable label control text | Documentation for creating a table layout without code optimization has been updated to reflect that an image tag inside a label control in a grid header is not a supported use due to accessibility settings in the legacy grid which will consider any text passed in the label control as the aria-label. | Project Delivery |
INC-225373 | 746466 | Documentation updated to clarify enabling "Application data encryption" cannot be undone | The documentation regarding encrypting application data has been updated to clarify that once "Application data encryption" is enabled, it is only possible to change the platform cipher from one provider to another standard or custom provider but it cannot be disabled or returned to default data settings. "Caution: After you enable application data encryption, you cannot disable it and restore the default settings. However, you can change the initial encryption type to another encryption type as necessary." "Caution: If you delete the KMS master key or the KMS master key expires, Pega Platform cannot decrypt the previously encrypted data, which can result in data loss." |
Project Delivery |
INC-231255 | 743974 | Documentation updated for "no more data to load" layout configuration | The documentation for configuring layout options in a repeating dynamic layout has been updated to clarify that the "Display message when there is no more data to load" message, which displays a message about the lack of data to load after all the data is displayed, works only when the underlying harness is not configured to use the client-side template UI. | Project Delivery |
INC-234290 | 742939 | Conversational Channel training model documentation updated | Documentation for Conversational Channels has been updated with additional information about the process of creating training data based on CSR actions such as 'create a case' or 'send a reply using suggested/other replies'. | Project Delivery |
Reporting
8.7.4 Patch Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-189766 | 676263 | Search thread timeout adjusted to 30 seconds | Searches were not working and general performance issues were seen on the nodes. A review of logs showed that there were requestorLockExceptions and thread dumps indicated there were problem threads waiting for search result. To prevent this, the search timeout has been adjusted to 30 seconds. | Reporting |
INC-205464 | 721606 | Performance improvements for KYC query | The GetApplicationKYCTypes report definition was exceeding the default maximum elapsed time of 30 seconds, causing all cases which were part of the due diligence milestone in Client Lifecycle Management framework to be auto-completed. This has been resolved by improving the KYC Items query logic by removing mergeJoin and adding HashJoin Hints. | Reporting |
INC-210837 | 707180 | DateTime property correctly formatted in Report Editor | When a list report was created via the Report Editor, dragging and dropping a date time property which was embedded inside another page and choosing the format as Date and Time resulted in the property taking pxTextInput instead of pxDateTime. This has been resolved by updating the pzMergeAutoGenForProp activity to get the correct class name for embedded page properties. | Reporting |
INC-210989 | 713049 | Extremely long properties will be trimmed for export to Excel | After creating a report definition that contained a column of more than 33,000 characters, exporting the report to Excel resulted in an exception. This was due to an Apache limit on xlsx files, and has been resolved by updating the ExcelDataGridGenerator.java file to trim more than 32767 characters of a property when exporting to Excel. This recreates the previous behavior of the export seen in Pega 7. | Reporting |
INC-211977 INC-219697 |
713459 727793 |
Handling added for large BIX Postgres data sets | BIX extracts were causing timeouts or JVM out of memory errors. This was traced to the Postgres JDBC driver ignoring fetch size in auto-commit transaction mode, which led to everything being loaded into memory at once. To resolve this, changes have been added to support fetch size for large results when using PostgreSQL database for BIX Extraction. | Reporting |
INC-212157 | 721531 | Report filter values correctly displayed | The data page name was being displayed in report filters instead of actual values. This was traced to a missing step in the activity pzResolveCopyFilters which was needed to get the data page values in the report filter prompt, and has been resolved. | Reporting |
INC-214838 | 720742 | DSS added to remove blank lines from BIX extract file | Random blank lines were seen in the XML output file. Although BIX generates XML files with blank lines as per design and XML files are allowed to have blank lines, some custom business needs may require that the extract not have these blank lines. To support this scenario, the new DSS "BIX/skipBlankLinesForXML" has been created to allow customizing the behavior to remove empty lines from the extracted XML files if desired. | Reporting |
INC-215299 | 746495 | PDFbox updated | The pdfbox library has been updated to version 2.0.26 . | Reporting |
INC-217475 | 719042 | Corrected duplication of records in Elasticsearch | After creating a dedicated index for a data class, modifying any data record for external Data/Work classes caused duplicate documents to be created in Elasticsearch. This has been resolved by updating the Reindex _id field to use the pzInsKey value instead of an auto-generated string. Once this update is in place, re-index is required to remove already created duplicates from the index directory. | Reporting |
INC-218295 | 738293 | Logic updated for report drilldown data in pie charts | When clicking on an empty slice of a pie chart, the details showed the correct count when the report was run from a report definition but when run from the dashboard it showed the total count instead of the empty category count. This was traced to an issue with picking up details from drilldown reports when run from the dashboard, and has been corrected. | Reporting |
INC-220663 | 724469 | BIX -J usage for DST can be used in Pega 7 mode | After upgrade, there was a difference in the handling for a time zone with DST when executing a BIX extraction rule through command line arguments like -J with short form. In Pega 8.5+, -J CST6CDT always displays Date time to CDT; In Pega 7, -J CST6CDT displays Data Time based on CST or CDT (i.e. before daylight savings or not). This was due to changes made to set the time zone to address a different issue. While there is a workaround of using -J America/Los_Angeles, modifications have been made to support DST in the PEGA 7 format while running the BIX extraction rule from command line or with a "pxExtractDataWithArgs" activity with "-J" option. |
Reporting |
INC-222237 | 727704 | Handling updated for space in Pulse search report filter value | The Report filter was not working correctly for Pulse search if there was a space in the filter value. To correct this, an update has been added which will add parentheses so the filter value is treated as a single value if pyUseTokenizer is set to false, the filter is not a security filter, and the filter value contains whitespace. | Reporting |
INC-223448 | 722480 | Documentation updated to clarify a complete reindex is required for search landing page after cleanup | The "Rebuilding search indexes from the user interface" article has been updated to indicate that after the index directory cleanup, the search landing page reindex will only be available once the complete reindex is completed. If individual classes are reindexed, the state will still be incomplete. | Reporting |
INC-224046 | 744598 | Handling added to validate nested page list properties | There was a mismatch between pxTotalInsertsCount and pxTotalInstanceCount in the manifest file when the extraction rule created on the class had a nested embedded property structure such as page list -> page -> page list. This has been resolved by adding an update to validate an embedded page property if it is present in the nested page lists. |
Reporting |
INC-230911 | 740101 | Apply filter option handles passed data page reference | The GetGridColUniqueValues activity was failing on step 3 when the data page reference was passed as a parameter of source report definition in a grid. This was traced to missing filter parameters for this use case and has been resolved. | Reporting |
INC-231064 | 741759 | Corrected report count after category change | Reports count mismatch was seen after moving the report from one category to another category. This has been corrected. | Reporting |
INC-231721 | 743055 | Dataview API correctly returns value for embedded fields | In QueryableDataViewTransformer, pxObjClass is populated when the payload has no embedded fields and special processing is not required. Because of pxObjClass being present, the values are parsed as per the property type and correctly populated on the clipboard and a boolean is generated correctly in the response. However, when the payload has embedded fields and special processing is required, the response body was not populated with pxObjClass and hence all fields on the clipboard were treated as strings and the data view API responded with the values in as a string irrespective of type. To resolve this, page properties have been enabled in the aggregation validator and the transformer in QueryableDataViewTransformer.java has been refactored to link the property definition. | Reporting |
INC-231797 | 738501 | Restored Export to PDF for summary view | Clicking the Export to PDF button from Summary view did not create the document and no events were generated in the tracer or logs. This was traced to a naming error in "appendSecurityTokens" on the SummaryViewHeader and has been corrected. | Reporting |
INC-231890 | 740605 | DSS added to control empty value display on export to Excel | A DSS has been added which allows customizing the export to Excel function to use zero for the decimal instead of showing an empty value. Set ExportToExcelDecimalUseZeroWhenEmpty to true to override the default behavior of zero values being blank. | Reporting |
INC-232010 | 740692 | Report filter error message persists on the screen | When attempting to use an invalid report filter such as "past 14 days" when that timeframe was not available, the error message appeared briefly and then disappeared. Investigation showed the runReport activity pzResolveCopyFilters activity was called and caught the “Invalid value” exception, however the system continued to proceed so the error message did not persist in the screen. This has been resolved by adding a jump condition to step 2 of pzResolveCopyFilters on StepStatusFail to preserve the error message. | Reporting |
INC-232127 | 741806 | View history export updated for BAC | A 403 error was generated when trying to click Export to Excel in view history. Investigation traced this to the Export to Excel activity not being registered with basic access control, and this has been resolved by modifying the URL formation to pass the necessary parameters to register the activity in the menu harness. | Reporting |
INC-233990 | 744706 | Handling added for special characters in tab name | After update, a Report name with special characters showed the ASCII values in the tab names. This has been resolved by decoding the HTML in javascript using a javascript function before setting the title. | Reporting |
INC-234869 | 744822 | Corrected "Recent edits" search feature | The feature to click the search icon in Dev Studio without giving a search string and display the recent edits by the user was not working correctly. Tracer logs indicated this was due to a "Search request failed. Query: Index [rule] seen in Tracer in Data-Find-Search pzSearch" error. This was an unintended side effect of work done to introduce a new variable for the Search and Reporting Service (SRS), and has been corrected. | Reporting |
INC-235423 | 750805 | Corrected Pega Cloud BIX extraction with "-c" argument | When the BIX extraction was run on a Pega Cloud environment with the "-c" argument, there were exceptions and incomplete extractions. The process was not generating all of the files (parent and child zip files) for both CSV and XML extraction, and the extracted files were not in the correct format. This has been resolved by modifying the code for both XML and CSV extractions: 1) XML extraction with -c will generate both parent and child zip file separately. 2) CSV extraction with -c will generate both parent and child zip file separately. 3) Extracted XML and XSD file formats are corrected to remove root tag <classes> from XML and XSD files when -c is used. |
Reporting |
INC-237466 | 751669 | Corrected column mismatch in query | After update, attempting to generate a report was throwing the exception "SQLState: 42601 Message: ERROR: each UNION query must have the same number of columns". This was traced to a mismatch in the number of columns returned by the queries on either side of the UNION ALL operator, which was an unintended side effect of previous work on the aggregation type of 'average' for the property function alias in report definition. This has been resolved by modifying the ReportQueryDefinitionImpl constructor. | Reporting |
INC-240833 | 750901 | Replica count updated only for index nodes | Every time a search node is restarted or reinitialized, a refresh command (refreshClients command) is sent to all nodes. A web node which is not a search node will start a reinitialization designed to reattach the node to ES cluster, and it was expected that the web node would not change information about the replica count since it is not responsible for storing data. However, the non-search node was changing the replica count due to a condition created when locking was not ready on the search node. This has been resolved with an update to insure replica count is updated only for index nodes in PegaSearchProviderImpl::reInitializeESNode. | Reporting |
INC-241251 | 753498 | Report filter categories correctly localized | The filter category displayed in the header of the reporting landing page was not being localized. This was traced to an error in the "FieldValueKey" parameter in the pzGetStyledLocalizedText control, and has been corrected. |
Reporting |
INC-243194 | 754525 | Sorting on UpdateDateTime removed from SRS indexing | Sequence Retrieval System (SRS) indexing logs indicated the temporary file size exceeded temp_file_limit. To resolve this, the sorting on pxUpdateDateTime has been removed, which will eliminate the need to create Postgres temp files to do the sorting for the SRS DatabaseKeyReader.fetchKeysFor method. | Reporting |
INC-245798 | 758261 | Apache Commons Text library updated | The Apache Commons Text library has been updated to version 1.10. | Reporting |
Security
8.7.4 Patch Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-201713 | 700220 | Resolved SSO logout error | After configuring prconfig/initialization/Urlencryption/default -> true and prconfig/initialization/SubmitObfuscatedURL/default -> required, logging in to any portal using SSO resulted in a 400 error when trying to log out. This has been resolved by adding a call to the encryption Rule-Utility-Function while calling logoff activity from 'pzSingleLogoutServiceRedirectV2'. | Security |
INC-210168 INC-220928 |
732067 731366 |
Added handling for Node Level Data Pages not loading automatically | After update, the MQ listeners were not starting. This was traced to the Global Resource Setting references in the listener rules that utilize data page lookups; MQ listeners started as expected when they were hard-coded with the values present on the data page. Investigation showed this was caused by the activity running in an unauthenticated context, and has been resolved by allowing the app requestor to skip authentication. | Security |
INC-216154 | 718235 | SMTPPort parameter will be passed to ForgotPasswordUtil | When a user triggered the "Trouble Signing in" function, the SentEmailNotification activity connection was trying to use port 25 even if the SMTP Port was configured as 587 in the Email Account instance. This was due to the SMTP Port not being passed to the SentEmailNotification activity, causing a fallback to port 25 for non-SSL connections. In order to ensure SendEmailNotification uses a specified port if configured, pySMTPPort will be passed to ForgotPasswordUtil.java. | Security |
INC-219054 | 718872 | Data key rotation update | After creating a new Azure vault keystore, attempting to force data key rotation produced the error "Unable to save keystore metadata". This has been resolved with an update to use the same master key ID as the old keystore in cases where the master key ID is the same. | Security |
INC-219086 | 724266 | Keypair handling updated | Rest API calls were failing with invalid token error in production due to the keypairs used to encrypt the access token being different for each node. This happened when the keypair cache was maintained at node level instead of being retrieved from a database each time; when a keypair expired, a new keypair was created for each node instead of sharing one because the updates to keypair were not properly communicated among the nodes. To resolve this, a check has been added to see if a new keypair is already available in the database before creating a new keypair, handling has been added for any DuplicateKeyException that might occur while saving a keypair to the database, and a pxCreateDateTime has been added while storing the new keypair in the database. Please also note that the default key rotation period is now 180 days and can be adjusted through the setting AccessToken/KeyRotationInterval. | Security |
INC-222213 | 722508 | Updated support for Client Assertion in Open ID Connect to generate unique JTI | Following an update with an enhancement which added UI and code changes to support Client Assertion in Open ID Connect, the token expiry and issue dates were not getting set properly and the JTI was not getting generated. This has been resolved by adding code to generate a unique client_assertion on OIDC login with private_key_jwt so the JTI in client assertion will be be unique for every login. | Security |
INC-222404 | 727868 | AccessToken can be used for both OIDC SSO and Connect-REST | When trying to specify the AuthenticationProfile with grant_type ‘authorization_code’ in the Connect-REST rule, the AccessToken was not being retrieved, and the error "services.OutboundMappingException: Caught Exception while creating OAuth2 client, Caused by: PRRuntimeException: Unable to obtain access token for client details in authentication profile configured for connector" was generated. The usage case desired is to use the same token for both OIDC SSO and Connect-REST. This worked when the scope was the same, but the key was constructed with a space between the scope and the operator ID while saving the token to the cache. The constructed key did not have this space when fetching the token during Connect-REST. To support the desired use, logic has been added to make the appropriate trim for scope in cache key generation in oauth2clientimpl. | Security |
INC-225503 | 737017 | DSS added to configure outflow signature digest method algorithm | After update, a change was seen in the digest method of a SOAP response. The site was configured to use WS-Security Profile SHA-1 as the digest algorithm, but the warning from the testing tool WCF (Windows Communication Foundation) indicated this was not being followed with the message "the algorithm 'xmlenc#sha256' is not accepted for operation 'Digest'". For better compatibility, the DSS outflowSignatureDigestAlgorithm has been added to support configuring the outflow signature digest method algorithm. | Security |
INC-226479 | 727463 | Cross-site scripting filters added to redirect parameters | Cross-site scripting protections have been added to Param.redirect to improve security. | Security |
INC-227736 | 744473 | Added polling lock to handle CDK Key rotation issues | An error was generated when attempting to open existing encrypted contacts created in the Sales Automation application. This was traced to multiple nodes generating CDKs simultaneously, leading to a race condition, and has been resolved by refactoring the CDK generation code so it will acquire a lock when polling the database to avoid a race condition. | Security |
INC-227769 | 731725 | ReloadHarness security updated | Security handling has been updated for ReloadHarness to ensure proper CSRF validation. | Security |
INC-227812 | 733963 | Service SOAP outflow response supports RSA_SHA256 & RSA_SHA384 | When service SOAP was configured in Pega WS-Security Profile with with outflow as signature and the signature method selected as RSA_SHA256, the response from service SOAP was still RSA_SHA_1 and the digest method was SHA_256. This has been resolved by updating WS-Security Profile to support RSA_SHA256 & RSA_SHA384 in service SOAP outflow response. | Security |
INC-231380 | 738114 | Corrected application switch authentication issue | When attempting to switch applications, a popup window appeared with the message "Switch application with different authentication service". This issue was due to an error in the debug logger "com.pega.pegarules.session.internal.mgmt.authentication.Authentication" created in Log Category. While there is a workaround of deleting the debug logger and restarting the node, this has been corrected. | Security |
INC-232970 | 742010 | Security update for MashUp | Cross site scripting protections have been updated for the LoadMashupPage activity and RedirectTo parameter. | Security |
INC-236611 | 755228 | CSRF and BF tokens added for Rule-Parse execute | .An issue with encountering a 403 error when running the parse delimiter has been resolved by adding CSRF and BF tokens to execute Rule-Parse- rules. | Security |
INC-236738 | 755005 | Additional authentication service rule logging | Debug logging has been added to assist in diagnosing issues with the attributes configured in the authentication service rule in the runtime. | Security |
System Administration
8.7.4 Patch Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-210018 | 721169 | Corrected calculation of ABAC policy result | The ABAC policy result was always shown as true in the tracer even when the result was actually false. This was traced to an error in activityStepWhenEpilog which caused true to be passed regardless of whether the expression evaluated to false, and has been resolved by modifying the logic to pass a calculated expression value to activityStepWhenEpilog. | System Administration |
INC-215299 | 745682 | OAuth2 jar updated | The oauth2-oidc-sdk jar has been updated to version 8.36.2 . |
System Administration |
INC-215299 | 746966 | okhttp updated | The okhttp library has been updated to version 4.9.3 . | System Administration |
INC-218001 | 719921 | Error text revised for parameterized data page used for token generation | While trying to add a claim in the header of a Token Generation Profile instance, selecting Map From as "Clipboard" and trying to give any DataPage(parameterized) as the source property failed to be saved and the error "JWS Alias— Please provide correct algorithm key with correct key length." appeared. Changing the "Map From" to a Constant and giving a dummy value worked as expected. Tracer showed the error "declare page parameters not supported by PropertyReference", indicating the actual issue: at this time, the Token profile does not support using a parameterized data page. This has been addressed by ensuring an appropriate error message is shown on save of the token profile rule form when a parameterized data page reference is configured. The error will now read "The reference D_pzPreferenceStore[PreferenceOperatorID:"[email protected]"].pxObjClass is not valid. Reason: Parameterized data page reference is not supported." Support for a parameterized data page used with Map From will be taken as an enhancement for a future release. | System Administration |
INC-219161 | 724833 | OAuth token handling updated for integrated service | After implementing Webex integrations (appointments & spaces), authorization issues were seen with the error "Cannot retrieve tokens for [email protected] as the logged session is with [email protected]". This was an issue relating to operator validation from requestor page, and has been resolved. | System Administration |
INC-219566 | 721289 | Handling updated for CSRF in queue processor trace | The field level audit on properties was intermittently not being shown on the Audit history table for the first time for some users. This has been resolved by modifying the queue processor trace to better handle CSRF tokens. | System Administration |
INC-222107 | 732993 | Trim added to refresh token request to handle extra spaces | The request was failing when attempting to obtain an access token using refresh token when the previous access token was expired. This issue was due to an extra space in the scope in AuthenticationServiceOIDCSource.java, which has been corrected with an update which will trim the scope. | System Administration |
INC-227095 | 734906 | Defragmentation step removed from ClusterAndDBCleaner | The nightly job pyClusterAnd DBCleaner failed to run, generating the exception "Job Scheduler [pyClusterAndDBCleaner] activity execution marked as failed with message [Exception while defragmenting Table]". This was traced to the step in pyClusterAndDBCleaner that performs defragmentation. As current usage has moved away from using this defragmentation step in favor of a locally-run utility such as DB2's REORG, the defragmentation step has been removed from the pzClusterAndDBCleaner activity. | System Administration |
INC-228754 INC-230119 |
747561 743613 |
Enhanced logging and locking added for job scheduler | The job scheduler was running twice at the configured time on different nodes even though it was defined to run on only one node. Investigation showed that nodes were executing the job scheduler activity multiple times as the lock time and the execution time were not exactly synchronized. This has been resolved by adding logs to the job scheduler execution lock mechanism and adding enhancements and checks for locking accuracy. |
System Administration |
INC-230128 | 737562 | DSS added to control queue processor offset reset | After delete permissions were restricted on the external Kafka cluster running Pega stream services, the Pega queue processors could not delete the records on consumption. As a result, all records in the topic were processed as duplicates when the queue processor was restarted. When dataflows are restarted using stop and start operations, partition offsets in the dataflow are set to -2 and queue processor offsets are not deleted. In this scenario, when the data flow offset was reset the system was also trying to reset the queue processor offset, leading to the duplicate processing. To resolve this, QueueProcessorOffsetResetSettingsProvider and QueueProcessorOffsetResetSettingsProviderImpl have been added to provide values to the settingsqueueprocessors/offsetreset/enable DSS, and QueueProcessorOffsetChecker has been modified to perform queue processor offset reset only when this DSS is enabled. | System Administration |
INC-230128 | 737569 | DSS to reduce retention period corrected | The DSS "prconfig/services/stream/category/retention/queueprocessor/default" was not working as expected to reduce the retention period to 24 hours. This was an inadvertent side effect of work done to refactor string based EnvironmentSetting.env() method invocations to be enum based, and has been resolved by updating the retention period configuration name. | System Administration |
INC-230128 | 737571 | log.roll.hour value set to 24 hours | When using the queue processor feature intended to delete consumed records after 10 minutes of processing, a single record was left behind for each partition. This prevented the roll over of the segment log file for each partition until the expiry of the default log roll over time, causing the segment files to not be compacted by the Kafka log cleaner and leading to poor utilization of disk space. This has been addressed by reducing the log.roll.hour setProperty value from 7 days to 24 hours so that disk space is reclaimed early. | System Administration |
INC-232079 | 741120 | Clipboard page instance resolution simplified | Previous work related to removing duplicate clipboard page creation from the pyInstanceInfoForUpdate list in order to resolve out of memory issues has been further updated to address a missed use case. While finding a matching instance with same className during instance list resolution, fault logic was leading to the same java object instance being updated N times and added N times to a linked list. This caused unnecessary complexity and has been resolved by removing the matching instance logic and instead creating items for each entry individually. | System Administration |
INC-235301 | 750601 | MaxRecords property updated to clear all dead job scheduler locks | A database lock was observed on Job scheduler executions after node restart. Investigation showed the query used to delete dead locks was processing 100 records maximum, leaving locks in place if there were more than the maximum. This has been resolved by setting the pyMaxRecords property to 0 (infinity) in looking for stale executions so every dead lock will be deleted. | System Administration |
INC-243120 | 753641 | Stream SDK and API updated to resolve connection leaks | A connection leak was seen when the browse operation against stream dataset failed during the creation of the subscriber itself, causing the connection (consumer) to not be removed from the cache. This resulted in multiple open consumers for a given dataflow thread, leading to SNAT exhaustion which required JVM restarts to clear. This has been resolved by updating the Stream SDK and API versions. | System Administration |
User Experience
8.7.4 Patch Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-164383 INC-207524 |
682515 714706 |
ElasticSearch ClusterService logging updated | In order to support enhanced troubleshooting, the default logging level for ElasticSearch ClusterService has been set to "ALL". | User Experience |
INC-183996 INC-233253 |
746324 746532 |
Step name given heading level for better accessibility | When using the JAWS shortcut for navigating through headings, the Step name was not announced as expected. This was due to the Step name not containing the necessary code for a heading, and has been resolved. | User Experience |
INC-191756 | 718550 | Corrected dashboard focus highlighting | Dashboard links like "My activities"/"My cases"/"Recent"/"Search” were displayed with a yellow focus highlight even though the user was not currently in those screens. Investigation showed the data-menu-id for control_menu was being appended with the workid until selecting another tab caused it to reset to its original value without workid. This change in menu-id was responsible for the issue with focus, and occurred only when render as single checkbox was unchecked. This has been resolved by removing workid from menuid and adding a unique id for the outside menu and inside case same menu. | User Experience |
INC-196186 | 725411 | Check added for repeating dynamic layout submit context | The postprocess of a local action was not executing when the local action was in a table that contained a repeating dynamic layout, and a null pointer exception was generated. Investigation determined that when a repeating dynamic layout was used inside a grid, the submit action on the layout was incorrectly happening in the context of the grid. To resolve this, a check has been added to determine whether the repeating dynamic layout is inside a grid so the correct context is used. | User Experience |
INC-202210 | 740664 | Resolved blind transfer error in Pega Call | Attempting to do a blind transfer to another agent using Pega Call generated the run time exception message "Unable to perform ConvertStringToPage, due to invalid inputs." Investigation traced this to the event details not being passed to the UpdateCallFromEvent activity due to the Blind transfer event formatting received from Avaya. To resolve this, an 'if' condition has been added to inpzpega_ui_doc_ajaxengine_js in the PostData function. | User Experience |
INC-205769 | 751698 | Corrected nested section multi-select rendering | When using the multi-select control on a section inside a table, values were displaying above the table in another section when zoom was set to 100%. Values appeared in the correct place when the zoom less than 100%. This has been resolved by removing the condition of fixed header or footer from isPageViewScreenLayout under HarnessAssemblyStreamSupport.java file. | User Experience |
INC-206220 INC-231325 |
730482 738558 |
Listener timeout added for fetching external content | Email listeners became stuck and did not recover if there was an issue retrieving external content for a message. To resolve this, a timeout setting has been added when fetching external content. | User Experience |
INC-207785 | 721086 | Updated check for isPreGeneratedMashup | After embedding Pega mashup from one application into another Pega application, attempting to use the 'Getgadgetdata' method to retrieve property values in the mashup resulted in an infinite loop in the javascript function. This was traced to the handling of encryption of isPreGeneratedMashup in this scenario, and has been resolved by passing the parameter separately to check whether it is pre-generated or not. | User Experience |
INC-208713 INC-225511 |
733187 733184 |
cleanUpHarnessElements invoked to clear dirty objects in memory | The objects for complex fields like table were not getting cleared once the current edits were discarded. This was leading to having the objects with dirty status remain in memory, leading to dirty popups or locks on the page. Investigation showed this was caused by the AjaxContainer div (which contains the grid div) being removed from markup but its reference remained in pega.u.d.harnessElements as a complex element. This has been resolved by explicitly invoking the cleanUpHarnessElements api before deleting the microDCDoc by passing the pzHarnessId as a parameter, which will remove the grid reference in pega.u.d.harnessElements. | User Experience |
INC-210145 | 710463 | Added dirtycheck handling for case wide flow | After opening an assignment and making some changes, clicking on the configured case wide flow process in the actions menu did not generate the expected pop-up window offering save/discard, resulting in the task being closed without knowing whether the changes were saved. This has been resolved by adding a call back functionality to handle dirtycheck for this scenario. | User Experience |
INC-211082 | 717177 | Updated default portal harness handling for switching applications | After opening the user portal in a new browser tab through interaction with the search, a blank screen was presented when attempting to switch applications via the operator menu. Performing the same actions in the main / originally opened portal worked as expected. This has been resolved by creating a new section pyPortalNavigationHeader in pzPortalNavigation which has an action to open the harness which is available first in D_pzDynamicnavigationpages. This new section has been marked as available to allow local modification of the default harness for sites not using dynamic navigation. | User Experience |
INC-211492 | 725339 | Archived cases open correctly in new window | Attempting to open archived cases from the search results using “Show results in a new window” generated an error. This was a missed use case and has been resolved by updating "pyShowResultsInNewWindow" to have a table to open archived items in a new window. | User Experience |
INC-211589 | 710334 | App-alias URL shown correctly on app definition rule after switch | When using Cosmos React as the default app, switching from the react-based application to a non-react application resulted in a blank app-name in the application definition URL. Investigation showed the UI was not refreshing correctly on updating values in the app alias pop-up window, and this has been resolved by calling close work before harness unloads if no pending calls are present. | User Experience |
INC-211743 | 711668 | PD4ML upgraded | Issues with PDF generation have been resolved by upgrading PD4ML to version 4.0.13fx1. | User Experience |
INC-214222 INC-214809 |
719321 719134 |
Confirmation message correctly displays | Two issues were seen with inconsistent display of the confirmation message. In one instance, after an assignment was finished the Review harness was appearing instead of Confirm harness and no confirmation message was displayed. In the second instance, after creating a case and moving to the next stage, coming back to the previous stage did not show the confirmation message. These issues were traced to the Ajax container primary getting closed before refreshing the section pyCaseMainPageNotification, causing the harness context issue as well as the failed conditional parameter strPHarnessPurpose issue which caused the message to not display. These have been resolved. | User Experience |
INC-214791 | 718865 | Phrase Menu supports tab character | After adding a new phrase from the interaction portal landing page, the phrases menu in the chat widget showed a blank and the phrase could not be selected. This was traced to the Menu and Button run-script action generation failing due to a special character, tab, causing a parse exception. This has been resolved by adding handling for the tab character in the jsonstring. | User Experience |
INC-216162 | 718924 | GetNextWork uses correct tabname | Clicking on Get Next was showing the tabname as "Next" instead of the caseid when using the handleMdcTabs function. This has been resolved by setting the correct tabName in case of getNextwork. | User Experience |
INC-216404 | 721511 | Table alignment corrected for PDF | The align="center" styling was not getting applied whenever the Rich Text Editor was in readonly mode. To resolve this, the CSS style has been updated to correct table center alignment for readonly Rich Text Editor documents and paragraphs in the pzbase-gadgets-ckeditor and pzbase-div-layout CSS files respectively. | User Experience |
INC-216727 INC-230579 |
730955 742037 |
Inline error message consistent for currency field | After update, an inline validation error triggered on a currency field inside of a text box disappeared when the page was scrolled back to the top. This was traced to the display_removeErrorImage function being called from validation_ValidateFieldOnEvent due to an “onBlur” event, and has been resolved by removing the onblur for a number of decimal type to prevent clearing the validation messages at field level on tab out. | User Experience |
INC-217680 | 717607 | Tab name displayed correctly in embedded mashup portal | "Work Item" was given as as the tab header instead of the Case ID# when a case link was clicked/opened in an application embedded in an external site (IAC). This was traced to the pega.desktop.support.doGadgetAction function not calling the regular handleGadgetLoad function in this scenario, and has been resolved by explicitly directing work items opened in a multi-doc mashup portal to use handleGadgetLoad. | User Experience |
INC-217821 | 719169 | Ensured data refresh for cascading dropdown controls | When using two cascading dropdowns where the options within the second dropdown depended on the selection in the first dropdown, making both selections and then going back to change the selection in the first dropdown appeared to allow changing the selection in the second dependent dropdown, but autocomplete was still holding the previously selected value in memory even though the source property changed. This caused an unexpected behavior when the selections were submitted. Investigation showed that changing the value of the first dropdown triggered an API call to the Refresh assignment action that updated the value, but changing the first dropdown did not cause a refresh call to set the value back to blank in the second dropdown. This issue was seen when the dropdown values were hard-coded but did not occur if each dropdown used a data page. This has been resolved by ensuring the dependent property in a cascade is reset when the source property changes. | User Experience |
INC-218265 | 720612 | DoClose updated to resolve lock and context issues | An interaction case was closing when intent tasks were closed from CSRecents. Investigation showed this was due to the doClose activity not being triggered in the right context, and has been resolved. An additional issue with locks not being correctly released after opening the new case Create stage and clicking Cancel in the modal was traced to a missing pyWorkPage in the safeURL params that was needed by the doClose activity, and this has been resolved by adding the primary page name. | User Experience |
INC-219004 | 719692 | Able to trigger a flow action multiple times | Previously it was only possible to trigger a flow action once in a case. Once a search was triggered via the flow action, it could not be triggered another time in the current case context. It was possible to select the local action, but it did not execute. This has been resolved by modifying the getTargetFromContainerItemID API to get the correct target by iterating over the container and checking the passed containeritemname in it. | User Experience |
INC-219109 | 752647 | Improved security for pyID | Scripting protections have been added to the pyID field value. | User Experience |
INC-219443 | 731689 | Handled overflow for maximized toolbar display | Content screens and the text rich toolbar were overlapping when the content toolbar was maximized. This has been resolved by adding handling for the overflow of the rich text editor. | User Experience |
INC-219444 | 741322 | Undo works as expected in Rich Text ToolBar | Clicking undo was not working as expected after cutting and pasting formatted text from Microsoft Word into the Rich Text Editor of the content toolbar. This has been resolved by updating the image in the after editor change event in the save function. | User Experience |
INC-220033 | 728208 | Session timer updated to ensure complete countdown | The pop-up timer with 5-minute countdown was intermittently not completing five minutes, instead expiring the session when there was still time remaining on the countdown. This has been resolved by adding code to trigger close() when the timer reaches 0s instead of relying on setTimeout. | User Experience |
INC-220411 | 724061 | Handling updated for BPF in FinishAssignment | After update, executing Wrapup resulted in a 403 error and the operator being logged out of the system with a SECU0017 alert. This was traced to pzBFP being removed from the headers as part of the FinishAssignment activity, and has been resolved with an update to conditionally add/remove pzBFP by checking its value. If it is empty, it will not be added to the form. | User Experience |
INC-220478 INC-234543 |
729439 743001 |
Parameter value with carriage return evaluated correctly | If a text area control had multiple lines entered in it and the same text area was passed as a parameter to a Data Transform executed at the launch of a read-only harness, the value in the text area was - " #~pyworkpage.propertyname". If the text area had just a single line without any enters/multiple lines, then it worked as expected. This was traced to the handling in pzpega_ui_events and has been resolved by escaping the newline and carriage return characters. An additional issue found when using multiselect in the form was traced to the correctActionArgs function which was generating the replacedtoken "//string//" for one of the property subjectareadetails, and this has been corrected. | User Experience |
INC-220989 | 719865 | Improved accessibility on create harness | Hitting the tab key was navigating out of the popup on the create harness. This has been corrected. | User Experience |
INC-221722 INC-230101 INC-232518 INC-232528 |
739202 738061 741153 737798 |
Menu button no longer steals focus on dismissal | Action menus in the portal harness were stealing focus from input fields in the work harnesses. This was an unintended side effect of work done to correct an issue where focus was not correctly remaining in the table layout, and has been resolved by updating the control menu to avoid the explicit focus in the hideNode function when the menu is already dismissed. | User Experience |
INC-222769 | 720983 | Report filter popup displays correctly for UI kit applications | Previous work done on the popover js to correct the filter popup placement and vertical and horizontal scrollbars for report columns has been further updated to handle the use case of UI kit applications. | User Experience |
INC-222784 | 739537 | BAC handling added for calling StartNewFlow activity from UI | After modifying the pycaseactionarea submit button to call a flow that uploads a PDF to a third party system using the order action 1) Finish Assignment; 2) Call an activity and inside the activity call startflow to initiate the integration; and 3) Launch local action, clicking the button to finish the assignment showed only the first local action instead of the expected behavior of having a modal appear to the user to confirm that their file was successfully uploaded. An access control error also appeared. This was traced to the registration details being removed after generating the pdf with an activity running on a different thread, and has been resolved by adding a flag tools.putParamValue("skipResetQueryStringRegistration",true); in pzCreatePDFHarnessWrapper to avoid wiping the registration details and skip resetting the query string registration during the process. | User Experience |
INC-223504 | 723196 | Harness handling updated for Tertiary Ajax Container | After configuring a Create Stage with a single step and a second stage with a screen flow configured with Multistep form, creating a case caused the Step under the Create stage to come up on the Tertiary Ajax Container as expected, but on click of create the second stage also started to run the same Tertiary Ajax Container. This has been resolved by updating the harness handling so the Tertiary Ajax container will close and the second stage will open on the main action area within the Cosmos Portal. | User Experience |
INC-223880 | 733554 | Handling added for IME input for date and value | Attempting to input numbers in date and price areas generated from an input method editor (IME) Japanese keyboard was not working correctly due to the field not supporting double-byte characters. This has been resolved. | User Experience |
INC-224059 | 743430 | Corrected locking issue in repeating grid for local action | When a grid was configured as readonly and the button in the grid had an open local action which opened up a section via flow action which was editable, on cancel, the grid context was treated as readOnly and was not releasing the lock. To resolve this, the pega.ctx.activeGrid.isOpenLocalAction flag has been added to releaseWOLock when a modal is launched from the grid using openLocalAction. | User Experience |
INC-224253 | 744972 | Corrected UI Kit highlighting error | The highlighting in the drop down of a tag was displaying on another tab. This was traced to the activeTab class not being correctly added in the UI Kit for the case worker portal, and has been corrected. | User Experience |
INC-224446 | 724368 | Load more works in non-templatized layout | After adding a repeating dynamic layout inside a tab group layout (which is a deprecated feature) to make it non-templatized, the progressive pagination option to show the "load more" button did not work. This was caused by the load more functionality having a dependency on pega.ui.RDL even though pega.ui.RDL was not available in case of a non-templatized grid, with the result of generating an exception which broke the flow. This has been resolved by adding a null check which will allow the flow to proceed whether the grid is used inside non-auto-generated or auto-generated elements. Please note that it is strongly recommend to update any deprecated layouts to Layout Group as it is a best practice to keep the code updated to avoid any compatibility issues. | User Experience |
INC-225247 INC-232438 |
729606 747883 |
SessionTimer correctly working in Mashup | When using the pxSessionTimer in the mashup at section pxCaseActionArea, the timer pop up did not appear. Investigation showed the pxSessionTimer control was not correctly triggering in mashup. This has been resolved by updating the pega.desktop.support.restartTimeoutWarningTimer and closeAllPRPCChildWindows functions and adding the new functionality logOff() which uses the control_actions_logoff functionality. | User Experience |
INC-225273 | 743437 | Corrected styling for summary panel collapse | When using tabs in a layout group with "Semantic tab layout" enabled with stretched tabs, collapsing and expanding the left navigation panel resulted in extra space on the left and right sides of the tabs. This was caused by the width of the tabs not being calculated correctly in this scenario, and has been resolved by removing the styling which was breaking stretched tabs in the view with collapsed summary panel. | User Experience |
INC-226000 | 728649 | Table column sizing working as expected for end users | In optimized grid columns where a section was embedded in the cell with a button, the column size was not set as expected with default/short table density. These columns were truncated for end users even though the truncation did not happen for operators/users in the dev access group. This was due to the DOM structure that is loaded for the end user being different from the DOM structure loaded for the dev user, which resulted in a few styles not being applied to the end user. To resolve this, a new property has been added to apply the CSS properly for a column with section, button or icon. | User Experience |
INC-226096 | 733558 | Archived Emails link content shown correctly | Once a case was archived, looking at attachments to the case displayed the emails in a small window which cut off content. This has been resolved by adding width and height to the link in the section "pyCaseArchivalAttachmentItem". |
User Experience |
INC-226272 | 740936 | Close button dirtypopup corrected | After update, the Close button dirtypopup was not working in the case worker portal. This has been resolved by modifying the dirtyhandling and actionrouter files. | User Experience |
INC-226386 | 741132 | Ensure field level server side validation messages cleared | A validation message was retained when not required. This was traced to a scenario where there were two server side validation messages on the decimal field in addition to a required client side validation condition; on text change of the decimal field, the server side validation persisted and client side validation replaced only the first message. This has been resolved with an update which will remove field level server side validation messages after client side validation on an event trigger. | User Experience |
INC-228060 | 741139 | Added control for displaying Ajax popup alert for optimized iOS table | When using an application on iOS with a section that contained at least 3 tables with 'optimize code allow' set to true, refreshing caused the error "AJAX request failed. Reason: communication failure" to be displayed. When a refresh is triggered, ongoing AJAX requests are cancelled, and the WebKit (OS provided) behavior is to display the "AJAX request failed" alert. To control this behavior, a check has been added for the flag pega.u.d.showAjaxFailureMessageMobile when displaying the alert popup. The default behavior is set to false and will not show the alert. To display the alert, set pega.u.d.showAjaxFailureMessageMobile = true in userworkform. The additional fieldValue "AJAX request failed" of type pyMessageLabel is created to allow configuring a custom message. | User Experience |
INC-228309 | 732109 | Mashup can be loaded from Salesforce LWC | Pega Mashup was not able to be loaded from Salesforce Lightning Web Components (LWC) due to the request not being triggered to the Pega server. This has been resolved by modifying the Pega references to be compatible with Salesforce LWC. | User Experience |
INC-228341 | 744462 | Security updated for user profiles | Cross-site scripting protections have been added for user profiles. | User Experience |
INC-228900 | 738195 | Archived case history is viewable | Case history was not displayed for archived cases. This has been resolved by adding a section and when condition to display archived case history. | User Experience |
INC-228988 | 742188 | Handling added for custom attribute that holds a JSON string | When the DX Assignments API was expected to render a view with a custom attribute that holds a JSON string, it cut the string off at a random point. This caused an error on the front-end screen and the correct view was not displayed. Investigation showed part of the json was incorrectly localized which caused it to treat some values as variables. This has been corrected by testing whether a custom attribute is JSON, and if it is it will be escaped so it is not localized or modified. | User Experience |
INC-229244 | 732988 | Flag added to allow disabling copy/paste style formatting | Copy/pasting text from Outlook or another external application caused formatting issues in the Rich Text Editor. To address this, the flag "window.disablePasteFromWord" has been introduced which allows turning off the feature of retaining formats when copying from Word or Outlook. This flag can be set to 'true' in UserWorkForm to disable this default feature. | User Experience |
INC-229308 | 739563 | ValidateInteger function added to preserve decimal properties | Decimal properties were being automatically changed to integer. This occurred because the edit validate rule on any type of property did not allow decimal entry if the edit validate rule name contained "IsInteger" even if the rule contained no code. To resolve this, the validateInteger function has been added to check whether the validation type is integer. | User Experience |
INC-229967 INC-230718 |
735961 737339 |
Number control decimal formatting triggered on tabout | When using the pxNumber control in a section, decimal formatting for input of fewer than 4 digits was not executing unless a post call to the server was triggered. This has been resolved by adding a condition check to format value when there is input of length greater than 0. | User Experience |
INC-230187 | 752534 | Dirty popup working as expected on click of 'save' and 'discard'. | When clicking on the close button on a dirty form, the pop-up to save or discard the changes closed without waiting for confirmation, followed by the case closing. This has been corrected. | User Experience |
INC-230471 | 733484 | Check added for openHandleInNewTab in report flow | The on-click was not working the first time for standard report that was executed via Manager/User portal with the report definition configured to fetch the rowkey as pzInskey. This has been resolved by adding a condition to check whether method openHandleInNewTab exists. | User Experience |
INC-230576 | 741540 | Data transform works with encryption in Pega Mashup | Data transform was not getting called in case of Mashup when "Use Encryption" was ON. This was traced to the data transform not being triggered correctly in this scenario, and has been resolved. | User Experience |
INC-230738 | 741461 | Fixed cursor jumping issue for date only input | When selecting a date from the calendar and keeping the cursor in the date part (MM/DD/YYYY) , trying to clear it caused the cursor to immediately jump to the end. This has been corrected. | User Experience |
INC-231145 INC-237221 |
734363 743443 |
Security improvement for Currency control | A potential cross-site scripting issue related to readonly formatting for the Currency control has been resolved. | User Experience |
INC-231156 | 746329 | DSS added to configure separators in date control | The date control behaved abnormally when using the input method editor (IME) Japanese keyboard. After configuring a datetime control for a date property with the format set to 2001/01/01 and display value using read-only formatting enabled, using the Japanese format of "20220823" (year, month, day) was imported as "mm/dd/yyyy", so the input was treated as "02/02/2082" (02022082, final 3 is truncated). Upon clicking out of the field, the value was updated to display in the specified format and became "2082/02/02". To resolve this, the DSS "DisableAutoSeparatorForDate" has been added which will disable auto separators for the date when set to true. This will prevent the unwanted date format change for this scenario. Any value other than true will maintain the default behavior of using auto-separators for date-only fields. | User Experience |
INC-231255 | 743956 | ToolTip update on repeating dynamic layers pagination options removed | The repeating dynamic layers Tooltip regarding format settings in the property panel has been removed as pagination for user action works for both template and non template. | User Experience |
INC-231625 INC-243668 |
735230 754895 |
Handling updated for fetching chain of archived ancestor cases | Previous work done to show the case hierarchy dropdown for archived cases in the ReviewArchivedCase harness has been further modified to cover additional use cases. The original method to fetch the parent case was "Obj-Open-By-Handle" which supports secondary storage but triggers all declaratives, which may lead to errors under specific configuration. Using "Obj-Browse" instead does not support secondary storage, but does not trigger declaratives. In order to ensure the best coverage for various use cases, this has been updated to conditionally use both methods; the system will use "Obj-Browse" first, and if it fails it will check secondary storage using "Obj-Open-By-Handle". | User Experience |
INC-231711 | 739221 | Localized date format based on custom constants | After update, date values were shown with the format itself such as "dd/MM/yyyy h:mm a" instead of the actual date value. This was an unintended side effect of work done to localize the date handling for a specific locale, and has been resolved by updating the setting method to one which uses custom constants available to generate the custom datetime format per locale. | User Experience |
INC-231847 INC-233462 |
737403 738893 |
DSS added to control validation of hidden fields | When required fields are in hidden format, a client side validation error may be thrown on submit. To address this, a DSS has been added to control whether or not hidden fields are validated. By default "validateHiddenField" will be true and the fields will be validated; changing this to false will skip the validation of hidden fields. | User Experience |
INC-231982 | 741431 | Focus correctly stays on All Reports list after hitting escape key | When expanding the multiselect list “All Reports” in the Theme Cosmos report browser, ipressing escape to exit out of the expanded list moved the focus to the top of the page instead of staying on the multiselect list. This has been resolved by updating the multiselect and anypicker controls to focus back on the list as expected. | User Experience |
INC-232204 | 738835 | List Report opens in new tab | Every time the results of the List report was clicked, the UI was refreshed and the case opened in the same screen with filter criteria removed. This was traced to "pega.desktop.infinity.openHandleInNewTab" being added in the "pzRDWinTitle" control, which is referred in the "pzReportDisplay" section. As the "Apply filter" button action set is not refreshing the "pzReportDisplay" section, the original function "pega.desktop.infinity.openHandleInNewTab" was getting replaced with "openWorkByHandle". This has been resolved by adding the conversion of the openworkbyhandle function in the header of the table. |
User Experience |
INC-232325 | 751720 | Added handling to avoid null pointer issue with LabelFormat | When using save as on sections with heavy use of dynamic layout to enhance them, the rule form was intermittently getting corrupted and the section rule was not displayed in dev studio even though it works correctly in run time. Investigation showed there was a null pointer exception caused by the clipboard data used to load this section missing the pyLabelFormat on a certain cell, and this has been resolved by adding defensive code in pzpega_ud_simplelayout.js to handle the potential null pointer issue with pyLabelFormat value. | User Experience |
INC-232449 | 742965 | Able to use filter range on a table column | While trying to filter results between a range in table column, the error "This results in an invalid numeric range" was generated. This has been resolved by adding a check for not setting the 'data-value' if the formatted value and target value are same. | User Experience |
INC-232517 | 746832 | Added check for editor.element | Attempting to add or remove a row from the grid generated the console error "Uncaught TypeError: Cannot read properties of undefined (reading '$') at window.CKEDITOR.window.CKEDITOR.dom.CKEDITOR.dom.document". This has ben resolved by adding a condition to check whether the CurrentEditor.element attribute exists or not. | User Experience |
INC-232832 | 748366 | Arialive label added to report browser | NVDA was not announcing page load of the report browser. An arialive attribute has been added to the label to assist with this. | User Experience |
INC-233058 | 739764 | Helper Text displays for radio buttons with 'when' condition | The helper text overlay was not displaying on radio button fields that were conditionally visible using a 'When' rule, though it displayed as expected if a visible expression had "Run visibility condition on client" checked. This has been resolved by adding support for a helper text overlay on radio button with visibility condition (when rule). | User Experience |
INC-233513 | 741982 | Validation warning flag appearance made more consistent | The warning "Please correct flagged fields before submitting the form!" was appearing inconsistently across the flow actions. Investigation showed that from the Todo Widget > Click on Link > Click on Go button. the assignment opened in an Ajax container so validations were triggered because it called the webwb • pzpega_ui_doc_submit • js file doFormSubmit() method which leads to the alert message. However, using Todo Widget > Go button caused the assignment to open in a Dynamic Container so no validations were triggered. This has been resolved by adding a new flag to skip field validation in certain cases to produce consistent behavior. | User Experience |
INC-233768 | 748477 | Multi select dropdown options read by JAWS2022 | JAWS2022 was not reading out the available options when focus was set on a multi-select dropdown. Investigation showed that in Theme Cosmos pega.ctx.dom.getElementById was not able to find the element which contains the "multiSelectLiveRegion" ID because this element was present outside the harness. This has been resolved by using document.getElementById to get the correct element. |
User Experience |
INC-233991 | 743395 | Temporary page logic updated for GetSectionHtmlForDesignView | Trying to open any embedded section or layout inside the "InitiatePDF" section was not working. This was a missed use case for rendering this section, and support for this has been added by modifying the temporary page logic in GetSectionHtmlForDesignView. | User Experience |
INC-234246 | 741113 | Moment js updated | Moment js has been updated to the latest version. | User Experience |
INC-234366 | 750072 | Special character handling added for TransformAndRun parameter | When export to Excel was configured an "Open URL in Window" action and a data transform with a parameter, pzTransformAndRun Step6 was throwing error if the parameter had any special characters. This was traced to pega_rules_string.isLiteral(value) returning false because it assumed the value was property reference. This has been resolved by adding StrungUtils.isPropertyReference(value) as an extra condition in the if block. | User Experience |
INC-234958 | 742547 | Corrected menu item name display and styling for expand icon | After update, a Menu Item with Sub Menu items present did not display the arrow icon to indicate the presence of Sub Menu Items. In addition, the Menu Label was shown twice on click of the parent Menu Link. These have been corrected. | User Experience |
INC-235231 | 743523 | Keyboard data row access corrected for optimized/template grid | Whenever a filter is applied or when going to the second page of a pagination result for an optimized/template grid, it was not possible to access the data present in the rows by using the arrow keys. This has been corrected. | User Experience |
INC-235232 | 743515 | Keyboard accessibility updated for an optimized/template grid | After hiding a column in a grid it was not possible to navigate to the column beside the hidden column. This has been resolved by implementing the arrow key accessibility for an optimized/template grid. |
User Experience |
INC-235363 | 747216 | Corrected erroneous highlighting in lightweight rich text editor | When using table grid configured as a Master-detail grid with expandable rows that contained sections with 3 or 4 rich text fields, entering text into the rich text editor field and applying rich text features like bold, underline or color automatically added a grey thick border to the expanded section. Once the border appeared, attempting to select any text from any of the rich text fields using the mouse or doing a CTRL+A did not show that the text was selected because the entire background looked like all text was already selected. This issue was related to the rich text editor control's lightweight mode when used inside table/grid, where the highlight on text inside editor was getting lost and highlighting the complete row when any operation like Bold etc was performed. This has been resolved by adding an explicit selection reset. | User Experience |
INC-235610 | 742870 | Updated special character handling for Cosmos React | Setting the application name in Japanese caused the application name and operator icon to appear garbled in the Web portal and App studio preview when using Cosmos React. This has been corrected by updating the handling for special characters. | User Experience |
INC-235693 | 747107 | Greensock library updated | The greensock js animation library has been updated to the latest version. | User Experience |
INC-236451 | 745053 | Atmosphere updated | The atmosphere js has been updated to the latest version. | User Experience |
INC-236451 | 745817 | Backbone.js updated | The backbone.js package has been updated to the most recent version. | User Experience |
INC-236549 | 753734 | Theme Cosmos browser refresh correctly clears GridMetadata clipboard | System slowness was seen on a site with a large number of users. Analyzing the clipboard showed a very high number of passivated or active clipboard pages when using optimized tables in the home page. The GridMetadata clipboard was repeatedly added to the Requestors list of clipboard pages and the number of pages for requestors was exceedingly high. This was traced to browser refresh of a Theme Cosmos application end user portal not correctly cleaning up the GridMetadata clipboard pages, and has been corrected. | User Experience |
INC-237562 | 750263 | Section design correctly displays circumstanced by date | When circumstancing a section that used design templates (.pyIsUsingDesignTemplate = true) by Date, the section design became blank if a date in the past was used. The issue did not occur when circumstancing by Property. Investigation showed that the part of the section setup for the design time preview responsible for clearing out any circumstance properties currently set on the section did not clear properties involved with circumstance by date, and this has been resolved by updating the pzLiveDesignPreview activity to have pyRuleStarts and pyRuleEnds property values removed with the other circumstance properties when launching the live design preview. |
User Experience |
INC-237881 | 750061 | Validation message shows on date field with custom validation | After configuring a text property with custom "use validate" on a Date control with onchange-Post value action, when user enters an incomplete date at runtime and tabs out, the input field was highlighted red but the error message was missing. On entering a valid date, the red highlight was not removed. This was traced to a missing parentNode.appendChild(errorDiv) in controls_postvalue, which has been added. | User Experience |
INC-238369 | 746251 | Improved accessibility for form containing field error | When submitting a form, the focus state remained on the submit button if a field was filled incorrectly. This has been resolved. |
User Experience |
INC-238533 | 755033 | Corrected issue with loading local actions | The Case -> Actions menu was inconsistently loading the local actions, such as selecting the action Withdraw/Cancel causing the system to load the Send to consultant action. Upon investigation and tracing, the issue was found to be a typo error that misspelled NewTaskStatus, causing the activity Work-pxSetActionProperties to fail as it checked for the value of NewTaskStatus. This has been corrected. | User Experience |
INC-238721 | 752538 | Added check for emptied required field | If a field that required a decimal precision on the control and had a required field validation was left blank by backspacing over the input, the required validation message disappeared. This has been resolved by adding an 'isValRequired' check for restricting return if event.keyCode === 8 (the backspace key) when validation type is required. | User Experience |
INC-238865 | 751047 | Updates made to close harness actions after load failure | When there was an error in opening a case, the Failed to Load Harness screen (x) close button was not allowing users to close the screen. This has been corrected by adding the cancel action for dynamic containers, and if it is loaded in the newtab thread the harness action will also load the home page. If the close button renders in the preview panel, runscript will close the side panel. All actions are added with proper conditions, and the section has been made available to allow changing the loading of harness from home to other harness. | User Experience |
INC-238941 | 752707 | Added BAC registration for Activity URLs | After update, a section configured to call a run script action on click of a link which triggered the "downloadfile" function to download an attached file failed with an unregistered request error for the activity. This has been resolved by adding a call to the pega.u.d.convertToRunActivityAction to make activity URLs suitable for BAC registration. | User Experience |
INC-239154 | 746264 | Updated accessibility for Autocomplete control role='combobox' | The additional attribute aria-expanded='false' on collapsed and aria-expanded="true" when expanded has been added to the Autocomplete control role='combobox'. |
User Experience |
INC-239347 | 751931 | Accessibility improved for AppSearchText | Accessibility Inspector highlighted the need to provide an associated label in pyAppSearchText which belongs to the pzMyApps section final rule. This has been added. |
User Experience |
INC-239366 | 748444 | Corrected cropped checkboxes | Select checkboxes were cropped on the right side if grouped by property. This has been resolved by updating the handling for the padding of the first cell, which can be row-select-handle or normal cell. | User Experience |
INC-239508 | 750455 | Case ID correctly displayed as link in Cosmos React Timeline list view | When list view was used to display case information with Timeline template in Cosmos React, the configurations of Timeline list views did not display the Case ID as a link even though "Display as link to the case" was checked for the Case ID field. This was traced to missing value formatting for the Timeline, and has been resolved. | User Experience |
INC-239930 | 748453 | Refresh loads portal menu correctly | Browser refresh was not loading the Menu as expected on the Portal. This has been resolved by adding a lookup to the active menu item before the browser refresh so the system sets the active menu accordingly post refresh. | User Experience |
INC-240319 | 748375 | Date value formatted correctly for Constellation Timeline | When using the Timeline view in the Constellation UI, selecting "date" as the display format of a date time property did not display it correctly. This was traced to the date and time being included in the response even though the configuration was date only, and has been resolved by adding missing value formatting to Timeline. | User Experience |
INC-240736 | 752728 | Accessible table traverse shortcut works for autocomplete/multiselect | The shortcut to traverse into a table using T + down arrow to go through columns and table contents was not working in accessible mode if a section had any autocomplete or multiselect fields. This has been resolved by removing the role attribute from the body on blur. | User Experience |
INC-241077 | 752342 | Pega logo made accessible for file path information | The Pega logo at the top left of the navigation was missing the necessary alt attribute for the label/alt text and file path, causing JAWS to announce the application name plus "link". This has been corrected. | User Experience |
INC-241801 | 754224 | Corrected styling for expandable sub menu items | Attempting to show cases in the Theme Cosmos sub menu category simply refreshed on click and did not allow selecting sub menu items. This has been resolved by correcting the styling for an expandable menu item in the create menu. | User Experience |
INC-205794 | 720904 | EncryptURLActionString changed from Thread to Requestor scope | The static content cache was growing rapidly. This was traced to pzClientApplicationData creating a new set of applicationdata.js files for every tab thread opened. To resolve this, and update has been made which changes pzEncryptURLActionString to use Requestor scope instead of Thread in pzclientapplicationdata. | User Experience |