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.6.6 - Patch Release Available.
Low-code Application Development
Case Management
8.6.6 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-214360 | 732122 | 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-222388 | 731650 | 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-224548 | 725322 | 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-228513 | 736682 | 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-231562 | 745421 | 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-234225 | 748908 | Mashup parameters correctly passed | After embedding the Create Case mashup inside a Pega application, creating another case inside the mashup by using the Create Work action on the click of a Create Case button, the properties set on the action were not getting passed to the original case. This has been resolved with updates to the pega_desktop_support javascript file to get the parameters in Mashup when the create work action set is being used. | Case Management |
INC-235700 | 761722 | 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 | 750764 | DiscoverCaseTypes requires authentication | The activity Rule-Obj-CaseType.pxDiscoverCaseTypes now defaults to Require Authentication to run. |
Case Management |
INC-240966 | 753401 | 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 |
INC-244281 | 758493 | Error message from AttachFile localized correctly | The error message "Failed To Save File" from the AttachFile activity was not localized correctly due to a formatting error. This has been corrected. | Case Management |
Cloud Services
8.6.6 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-217855 | 731910 | 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-241010 | 752130 | 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.6.6 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-218361 | 737013 | 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 | 740549 | 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-234503 | 745905 | 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 | 745696 | 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-239192 | 756823 | Filtering added to display email subject in brackets |
If an email subject was contained in angle brackets, it was considered an HTML tag and was trimmed. This has been resolved by updating pyGetEmailMessageDetails to escape the subject for display on the UI and other places that were relying on pyMessageMetadata. | Conversational Channels |
INC-239792 | 762298 | Corrected creating a suggested email reply | When configuring an email channel in App Studio using the French locale, adding suggested replies to the Behavior tab was followed by the expected suggestion to create a new one. However, clicking on the Submit button of the popup to add another reply did not work. This was caused by the system failing to find an open Ruleset for the Citizen developer, and has been resolved by using pxCreateRecord instead of pxUpdateRecord. | Conversational Channels |
INC-243142 | 757487 | Additional validation added for MSGraph reply email | After switching the email account receiver to MSGraph, operators were able to send replies with an email address in an incorrect format. The email ID was highlighted in red indicating it was not in the correct format, but the Send button was not disabled. Clicking on send submitted the form but did not send the email. To resolve this, a new edit validate rule has been added to double validate an email address with a personal name included. | Conversational Channels |
Data Integration
8.6.6 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-189772 | 718593 | 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-212433 | 724511 | 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-213413 | 740707 | 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-215178 | 754758 | JSON data transform page list mapping corrected | JSON data transform mapping was not working as expected when there was an embedded page list within a page. This was due to the context mapping during appendAndMapTo not being reset once the the mapping was done, and has been resolved by explicitly resetting the context once the append and map-to is done. | Data Integration |
INC-217904 INC-220251 INC-218802 |
730431 732072 736910 |
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 | 734686 | 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 | 726501 | 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 | 742525 | 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-220837 | 729121 | 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 | 746887 | Corrected error while creating client device | A null pointer error was generated while creating a client device. This has been resolved. | Data Integration |
INC-224658 | 730742 | Table size adjusted for pxdevice column in data.pr_data_op_session | The pxdevice column in data.pr_data_op_session being limited to 256 characters was causing the user-agent header to overflow on the mobile app. This has been resolved by increasing the column length to 2000 characters. | Data Integration |
INC-225696 | 736796 | 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-227095 INC-236172 |
734907 759436 |
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. | Data Integration |
INC-227878 | 727856 | Update impact for Pega Call | Log4j-1.2.14.jar and Log4j-1.2.17.jar have been removed to address the security concerns with these versions, and logger jars have been upgraded to 12.7.2 version (from 12.7.1 version) to make Pega Call compatible. This change will impact Pega Call customer environments due to Avaya or Genesys, which are part of Pega Call, having an internal dependency on Log4j1.x version jars. As a result, the SDK logging for Avaya or Genesys will not be available in the 8.7.3 release unless the Log4j-1.x jar files are reimported locally. | Data Integration |
INC-227988 | 736462 | 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 | 746014 | 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 | 739124 | 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-229921 | 738631 | Corrected duplicate repository delete request | The delete request to remove a document from the repository was duplicated. This was caused by the 'pzDeleteFromRepository' activity instantiating the D_pxDelete in its own thread and then again in the current thread due to the D_pxdelete data page being loading asynchronously, and has been resolved by making the calling activity synchronous when loading the data page. | Data Integration |
INC-230929 | 743823 | 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 | 748025 | 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-231961 | 740674 | 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-235144 | 755878 | UrgencyWorkClass correctly set | pxUrgencyWorkClass should be set as 10 by default, but it was intermittently failing to be set and impacting the Get Next Assignment functionality. Analysis traced this to blank properties being created during the declare expression execution if the source property was not available on the page. This has been resolved by updating ScalarValueQueryExecutor.java so that the system will not create leaf (Scalar) properties if they are not present on the step page while executing the declare expression. | Data Integration |
INC-235943 | 746625 | 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-238791 | 753718 | 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-241275 | 754583 | Records Editor search icon made accessible | To improve accessibility, helper text has been added for the search icon in the Records Editor with the message "Click to search records." |
Data Integration |
INC-242283 | 755024 | 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 |
INC-242943 | 756571 | Handling added for missing MSGraph charset | Some emails were not processed by the email bot when using MSGraph. This was traced to the HTML meta content missing the necessary charset, leading to an exception. While there is a workaround of using IMAP, this has been resolved by adding handling that will fall back to using the default charset UTF-8 if the system is unable to derive charset from the HTML meta tag. | Data Integration |
INC-243285 | 761203 | Handling added for MSGraph extracting attachments in a signed email | When using MSGraph with the email listener, the attachments could not be stored in Pega if the email included a digital certificate. This has been resolved by adding handling to ensure attachments are properly extracted when the listener reads a signed email. | Data Integration |
Decision Management
8.6.6 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-219445 | 736807 | 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-220893 | 728487 | 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 | 728988 | 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-223376 | 730647 | JMX authentication enabled by default for embedded Kafka and Cassandra | For on-premises clients, a potential vulnerability for a Remote Code Execution using the JMX interface on Cassandra and Kafka using exposed network ports has been mitigated by enabling JMX authentication by default for embedded Kafka and Cassandra. | Decision Management |
INC-223522 | 748139 | 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 | 748306 | 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-228111 | 729305 | Kafka write performance improvements | The write to stream results may take an excessive amount of processing time when Decision Export is enabled in MakeDecsion Data flow. To improve performance, an async save feature and async save stream implementation has been added. | Decision Management |
INC-228430 | 738824 | 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 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 delete the row when done. On system crash, texts with incomplete executions will be shown to help identify any patterns that could cause issues. This summary record insert/delete requires DSS(PEGA-NLP!ENABLENLPDIAGNOSTIC) be 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" will retrieve the summary diagnostic records present in summary table whose NLP analysis has not been completed. * The "pyDumpNLPProcessTimersInRepository" activity will 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 runs 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 | 744987 | 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 | 731523 | 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 | 739147 | 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-229717 | 730668 | Cassandra startup calls reordered to avoid deadlock | Nodes received a service request but it became stuck. This was traced to a deadlock related to CassandraSessionCache.getSession, and has been resolved by reordering the method calls used to initialize the Cassandra session to delay adding the session change listener and avoid a deadlock scenario. | Decision Management |
INC-231505 | 733973 | 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-236831 | 748739 | 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 | 746851 | 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 | 748119 | 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 | 749897 | 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-243025 | 753285 | 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 |
Low-Code Application Development
8.6.6 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-218309 | 722158 | 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 | 728228 | 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 | 724347 | 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-220472 | 729743 | 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-226950 | 727469 | SetUpdatingLimitProperties error corrected | The exception "Rule not found" for SetUpdatingLimitProperties has been resolved by enabling the declaratives outside the .pageInstructions loop. | Low-Code App Development |
INC-227438 | 747910 | 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-227642 INC-235311 |
727938 743309 |
Strategy eligibility appears correctly | The options appeared as blank when attempting to reference a strategy rule in the action eligibility on Engagement policy. This was an unintended side effect of work done to resolve a validation and save issue, and has been resolved by updating the 'when' condition of step-11 in the pzSetPropertyDetailsInner data transform. |
Low-Code App Development |
INC-227819 | 735348 | 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 | 734023 | 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-229661 | 750251 | ShouldExtensionBeLoaded when rule updated | In order to support filtering based on the extension point when rule pyShouldExtensionBeLoaded, the java step that called the when rule has been updated to use Obj-Filter. |
Low-Code App Development |
INC-233264 | 743669 | 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-241349 | 752281 | 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.6.6 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-220749 | 719944 | 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-223328 | 736534 | Mobile app push notifications history updated | The history table of mobile push notifications remained empty after sending a push notification if the history table had over 1000 records. Investigation showed push notifications are taken in inpxGetPushHistory using Obj-Browse and then filtered in Java step by appID so the oldest push notifications were listed first, and the list of instances did not show the pagination even though it existed. To resolve this issue, the sorting in push optimization has been modified. | Mobile |
INC-226156 INC-224923 |
735744 735842 |
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-238299 | 752474 | Server response filtering updated | To improve security, additional filtering has been added to the server response. |
Mobile |
INC-240811 | 753205 | 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-243632 | 757287 | Pega Mobile Client syncing improved | Users were not able to fully and correctly sync data from the mobile app to the server after going online, and null pointer errors from PegaMobileClientAuthHelper were observed in log files. Investigation showed this was related to synchronizing the last attachment, and has been resolved by working with a select access group for Pega Mobile Client authenticated requestors and adding checks in case the PublicAPI object is not available. | Mobile |
Project Delivery
8.6.6 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-217942 | 716933 | BIX article updated for XML extract rules | The BIX article "Creating and running an Extract rule" has been updated to reflect that the "Get all properties" option fetches basic properties only, and that properties must be selected manually for non-BLOB tables. | Project Delivery |
INC-223851 | 722730 | Property encryption documentation updated | Documentation on encryption has been updated to clarify that Property Encrypt policies can only be created in Work- Data- , and Index class descendents. | Project Delivery |
INC-234290 | 742940 | 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.6.6 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-164383 | 682543 | ElasticSearch ClusterService logging updated | In order to support enhanced troubleshooting, the default logging level for ElasticSearch ClusterService has been set to "ALL". | Reporting |
INC-189766 | 676261 | 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-210989 | 713051 | 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-218295 | 738294 | 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 | 724470 | 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-222515 INC-242402 |
727004 753607 |
Corrected filter value handling in user portal search | Searching for a work item in the user portal was not working correctly. This was identified as an issue with the filter value of Oneof, and has been resolved. | Reporting |
INC-223448 | 722479 | 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-230911 | 740102 | 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 | 741761 | 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-231797 | 738502 | 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 | 740606 | 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 | 740694 | 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-234869 | 744823 | 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 | 750804 | 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-240381 | 757214 | Export to Excel works with filtered date/time columns | Filtering the date/time columns and exporting to Excel generated an error. This was traced to a parsing issue with the date/time which caused it to not match any of the predefined patterns, and has been resolved by modifying the DataExplorerExportHandler to parse the dates correctly. | Reporting |
INC-240833 | 757786 | 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 | 753496 | 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 |
Security
8.6.6 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-210168 | 732068 | 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-219086 | 724267 | 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-222404 | 727869 | 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-224813 | 750050 | 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. | Security |
INC-225503 | 737018 | 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-225840 | 753592 | Null kID handling and improved locking for Keystorecacheimpl added | Previously, the kID (key ID) was made optional in the JWT header to better support backwards compatibility. Further support has been added for scenarios where the kID is required and not present. In addition, some lock issues occurred for the resource Keystorecacheimpl if the Pega application referred to the JWK URL which was also hosted by itself. To resolve this, the class level lock has been replaced with a keystore level lock. | Security |
INC-226479 | 727464 | Cross-site scripting filters added to redirect parameters | Cross-site scripting protections have been added to Param.redirect to improve security. | Security |
INC-227736 | 744474 | 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 | 739277 | ReloadHarness security updated | Security handling has been updated for ReloadHarness to ensure proper CSRF validation. | Security |
INC-227812 | 733964 | 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-236738 | 755003 | 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.6.6 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-210018 | 721170 | 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-222107 | 732994 | 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-224954 | 727044 | Enabled turning off general metrics when queue processing metrics are disabled | A memory leak related to QPGeneralMetrics was consuming heap and causing performance issues. Investigation showed queue processor metrics were gathered even when disabled. To resolve this, turning off "General Metrics Handler" while turning off the QPGeneralMetrics has been enabled. Queue processors should now skip the process of collecting general metrics while running activities. This will prevent storing unused (and uncleared) metrics in memory and prevent heap exhaustion. | System Administration |
INC-230119 | 743614 | 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 | 737572 | 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-231269 INC-243120 |
747260 753639 |
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 |
INC-232079 | 741122 | 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 | 750600 | 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-236596 | 755726 | OAUTH2 with grant type password credentials works as expected | Triggering Pega OAUTH2 for token generation with grant-type password credentials was resulting in a null pointer exception. This was a missed use case caused by the Operator page being removed during prior cleanup and has been resolved by adding the parameter page pyOperPage instead of Operator page for validating and getting scope. | System Administration |
INC-242432 | 758978 | Frame length adjusted | During stream server startup (empty kafka-data) of an environment with a large number of queue processors and over 1,000 total partitions, no partitions were created and below error message "Adjusted frame length exceeds 65535: 67537 - discarded" was being thrown in Kafka logs during startup. This has been resolved by adjusting the frame length. | System Administration |
INC-247957 | 762142 | 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 |
User Experience
8.6.6 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-246093 |
759992 | Create Menu is consistent between Portals in Cosmos | When switching between two portals in a Theme Cosmos application, the Create case menu was not updating for the respective portals and showed the wrong cases. To resolve this, ShowSelectedPortal has been updated to call pzClearStartingFlows to clear the data pages involved with create menu. | User Experience |
INC-202210 | 740666 | 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 | 751697 | 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 |
730483 738559 |
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-207524 | 714708 | Handling added for modal flow to resolve unexpected submit window closure | After creating a child Task and submitting the TaskCreation flow action, a validation error was seen. Clicking on the Submit button again caused the modal TaskCreation window to close. Investigation showed that the WorkLock activity was executed as desired on the first click on submit, but for the second submit the WorkLock activity called Obj-Refresh-And-Lock and the page was refreshed, the work object lock was released, and the error was no longer seen. To resolve this, an update has been made to the WorkLock activity to use a new when rule 'pyIsModalFlowTemporary' so that Obj-Refresh-And-Lock is not called twice. This change has also been added to pzRunFlow. | User Experience |
INC-207785 | 721087 | 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 | 733188 | 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-211492 | 725340 | 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-212251 | 720200 | Editable data page properly refreshes after interaction | A data page using editable mode was adhering to the "Reload once per interaction" option used for readonly mode. This led to issues such as tables not refreshing after sorting or applying filters. To resolve this, refreshReloadInteraction has been updated to false when mode is not readonly. | User Experience |
INC-214791 | 718866 | 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-215063 | 710047 | Helper text added to button UI control | In order to improve accessibility for the Pega UI button, the aria-hidden="true" attribute has been added on the icon/image markup inside the button. With this change, the computed Name will be the title (helper text). | User Experience |
INC-216162 | 718925 | 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-216727 | 730956 | 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-217792 | 732219 | Mashup refresh loads active case | Mashup was not loading the active case after refresh. This was an unintended side effect of work done with setting the context for Mashup and has been corrected. | User Experience |
INC-219109 | 754083 | Improved security for pyID | Scripting protections have been added to the pyID field value. | User Experience |
INC-219443 | 731690 | 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 | 741324 | 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 | 728209 | 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-221276 | 720260 | JAWS label added to filter date range combobox | In order to improve accessibility, a label has been added to the filter date range combobox (Time Period) for optimized table filter windows. | User Experience |
INC-222784 | 739538 | 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-222975 | 732808 | Incorrect label spacing corrected | Longer labels in the case details section in a Cosmos application caused incorrect white spacing. This was traced to an 'after' CSS pseudo-element in the label which added a non-breaking space, and has been resolved. |
User Experience |
INC-223557 | 732142 | Integer property allows blank value | When a field with a default value was changed to blank, the value was not updated on the clipboard. This has been resolved by updating the control_textinput file. | User Experience |
INC-223880 | 733555 | 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 by adding an if condition for not formatting the date or value until IME input is done. | User Experience |
INC-224059 | 743431 | 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 | 744973 | 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-225273 INC-207176 |
743438 702067 |
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-225400 | 731724 | Corrected focus for error in concatenating multi select control | When there was an error on a page with concatenating multi select controls, selecting a value from the second multi select caused that value to be populated in the first multi select field. Investigation showed the displayErrorsOnModal JS function was setting the focus to the first input element during the callback for success response, and this has been resolved by setting focus only in case of a submit and not for every refresh call. | User Experience |
INC-226000 | 728650 | 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-227799 | 741584 | Case opens as expected from Constellation landing page list | When using a hybrid application with react landing pages, clicking on the landing page list and clicking on the case ID opened it the first time, but the second time trying to open it showed an empty screen. Analysis showed there were issues with the network calls when clicking on the ID from the landing page list; this has been resolved by adding an on-click handle. | User Experience |
INC-228060 | 741141 | 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 | 732110 | 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 | 744463 | Security updated for user profiles | Cross-site scripting protections have been added for user profiles. | User Experience |
INC-228900 | 738196 | 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-229308 | 739564 | 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-230471 | 733485 | 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-230718 | 737340 | 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-230738 | 741463 | 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-231255 | 743957 | 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-231255 | 743970 | 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. | User Experience |
INC-231316 | 744050 | Corrected tab display with collapsed panel | Tabs were not displaying properly in the case view with collapsed summary panel (too many tabs). This has been corrected. | User Experience |
INC-231605 | 745784 | Portal resize functions correctly when using MobileSnapStart | After configuring the application's default portal with an outer harness consisting of 4 panels where "User resizable" was checked for the left hand side menu panel so it can be resized or collapsed by the user, displaying the page using pyMobileSnapStart caused the left side menu to become fixed and it could not be resized or collapsed. This has been resolved by modifying the java code for the GenerateLayout--(ClipboardPage,ClipboardPage) function and pzAddPortalLayouts activity. | User Experience |
INC-231711 | 739222 | 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 | 737404 | 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 | 741433 | 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-232325 | 751719 | 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-232438 | 747884 | 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-232517 | 746834 | 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-232528 INC-230101 INC-245732 |
737799 738062 762922 |
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-233991 | 743396 | 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 | 741115 | Moment js updated | Moment js has been updated to the latest version. | User Experience |
INC-234543 | 743002 | 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-234874 | 739876 | Cursor moves via arrow buttons | Using the keyboard arrow buttons to navigate between numbers was not working. Nothing happened when clicking on the left arrow, and clicking on the right arrow moved the cursor to two digits. This has been resolved by updating pzpega_control_textinput. | User Experience |
INC-235231 | 743524 | 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 | 743516 | 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 | 747218 | 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-235693 | 747109 | Greensock library updated | The greensock js animation library has been updated to the latest version. | User Experience |
INC-236451 | 745054 | Atmosphere updated | The atmosphere js has been updated to the latest version. | User Experience |
INC-236451 | 745818 | Backbone.js updated | The backbone.js package has been updated to the most recent version. | User Experience |
INC-236549 | 753732 | 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-236819 | 758649 | Corrected table cell focus issue | When using a legacy grid with an expand row details configuration, the focus jumped to the top when there was a click inside the details section. This has been resolved. | User Experience |
INC-237562 | 750262 | 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-238369 | 746252 | 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 | 755031 | 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-238781 | 760853 | iOS scroll in mashup resolved | When using mashup, scrolling to the bottom of the page on an iOS phones caused it to automatically scroll upwards again. This was traced to an iframe scroll issue and has been resolved. | User Experience |
INC-238865 | 751046 | 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-239347 | 751930 | 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-239409 | 756796 | Improved security for ReloadSection and ReloadHarness calls | A validation check has been added for pre- activities and data transforms passing with reload section/harness actions. | User Experience |
INC-240416 | 760974 | Performance improvement for getworkstyle activity | Some performance slowness was seen due to the GetWorkStyle activity opening the skin ruleform on each run to conditionally set appWorkStyle and workStyle. Because this obj open step is only needed when the inStandardsMode parameter is false, an update has been made to skip the obj open step when inStandardsMode is true. | User Experience |
INC-240736 | 752727 | 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-240897 | 757775 | Explicit reset added for clearing custom date format | After selecting a custom formatter for a date field with "/" as the date separator for a legacy table with a date control inside one of the table cells, selecting the standard formatter for date (using "-" as the date separator) did not switch the separator and the "/" continued to be used. This was traced to the customDateTime value not being empty even though the format had been changed back to the default, and has been resolved by setting customDateTime to null in the pxFormatDateTime Rule-Utility-Function when the selected format is not Custom. | User Experience |
INC-241196 | 753090 | Table sort resets for default view | When the personalized view was changed to "default" from any other view that had sorting, the default order was not returned. This was a missed use case: the data page instance was sorted by passing the sort criteria on the view change, but for the default view there was no "default" sort criteria to use. This has been resolved for tables sourced from a datapage. |
User Experience |
INC-244057 | 756597 | Session timeout modal window properly aligned | When a modal was present on the screen, opening a workflow resulted in the session timeout popup being displayed in the top left corner of the screen instead of center. This has been resolved by passing isCenterOverlay as 'true' to align it properly. | User Experience |
INC-244424 | 759944 | Layout documentation updated for using "no more data to load" message | Documentation for layout configuration options has been updated to clarify that "Display message when there is no more data to load" works only when the underlying harness is configured to use the client-side template UI. | User Experience |
INC-205794 | 720905 | 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 |