Pega Infinity™ includes an industry-standard patch release process to simplify and maintain high-quality releases. Several cumulative patches are released a year for each release stream. The Resolved Issues page contains information about client-reported issues that have been addressed for the specific release.
For a complete set of the Resolved Issues for this release, download the PDF attachment at the bottom of this page. (Note that you must be logged in to access the attachment.)
Low-code Application Development
Case Management
8.2.7 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-121435 | 563875 | Handling added for null requiredskillcount on assignment | If the property pxRequiredSkillCount was blank on an assignment when moved to a workbasket, it was never presented for Get Next Work. To resolve this, handling has been added which will change the null to 0 so the assignment is properly queued. | Case Management |
INC-122149 | 562783 | Corrected approval step task message | When a case progressed to the approval step, the task name did not properly appear as part of the "Please approve or reject this" message. In another scenario, a portal which supported locale switching was not translating "Please approve or reject this" when the locale was switched, but instead displayed the message in the original language. Investigation traced this to the pzInstructionsForApproval data transform storing the localized field value, causing it to persist inappropriately. This has been resolved. | Case Management |
INC-127077 | 564107 | Busy indicator appears when uploading via Select | After upgrade, the “loading symbol” (busy indicator) was not appearing while uploading large attachments using the Select button. This was a missed use case in recent changes to related to AsyncUpload, and has been resolved. | Case Management |
SR-D76291 | 547840 | Updated retry logic for S3 AddAttachmentFromEmail | When using the AddAttachmentFromEmail activity with S3 repositories, performing an obj-save on the data-workattach-file page executes a deferred save while also saving the file into the repository. if the data was inserted into S3 successfully but encountered an issue when saving the related data-work-attach-file page, the system was trying to call the save operation again. This tried to insert the duplicate attachment again to S3, causing an error on that side of the process. To resolve this, the duplicate Obj-Save functionality in AddAttachmentFromMail Activity has been removed. | Case Management |
SR-D92352 | 553616 | Completed onChange will reset FileInput value to null | When attaching a file using the "Select File" button, it was not possible to attach the same file after deleting it. Re-attaching the file worked as expected when using Drag and Drop. Investigation showed that the onchange event occurred only when the value of an element was changed, so in this case trying to attach the same file did not change the value of the element and did not fire the onchange. To resolve this, the value of FileInput in pzMultiFilePath Control will be set to null at the end of the onChange event so that an onChange event will be triggered next time even if the same file is added. | Case Management |
Cloud Services
There were no Resolved Issues for Cloud Services in 8.2.7
Conversational Channels
8.2.7 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-127591 | 564818 | isAuthenticated checks trimmed for Performance Improvement | In order to improve performance, a duplicate check of pxIsRepositoryAuthenticated has been removed from the Function Rule. | Conversational Channels |
INC-127859 | 564619 | Email image retrieval switched to Lazy Load | In email, multiple images being loaded at once resulted in a performance impact. To resolve this, the fetching of inline images has been modified to use Lazy Load optimization which will retrieve file content from S3 storage on a need basis. | Conversational Channels |
INC-127891 | 564726 | Added check for redirects when getting images from S3 | When retrieving images from S3 storage, a 303 redirect status response code was shown. Investigation showed that using a public URL caused the redirects, and this has been resolved by adding an AG hash while fetching images via an activity. | Conversational Channels |
SR-D87412 | 563227 | Support added for multi-language email parsing | Parsing an email body for different languages was causing performance issues. To resolve this, an enhancement has been added to support email IVA in seven languages; to use this, override the Work-Channel-Triage.pyParseReplyMail activity and add the required languages in the given parameter. | Conversational Channels |
SR-D90459 SR-D75636 |
552661 549347 |
Improved handling for attachments not using UTF-8 encoding | When an email was received that used a charset encoding other than UTF-8, special characters in the HTML body were not displayed and instead the replacement character was shown. To resolve this, the system will read the encoding from the email rather than use the meta tag, and will add the attachment's HTML encoding information in Data-WorkAttach-File so that the same can be used to process and display the original HTML properly. | Conversational Channels |
SR-D92688 | 551340 | Optional feature to improve pxETReport performance | Poor performance was seen when using pxETReport. This was caused by the system loading the recent cases widget by looking up all the ET cases within last 30 days, opening each ET case to check if it is from the same pyFrom email address, and then if yes, opening its related service case. On a complex system, this was potentially a slow process. To improve performance, the "Related cases" feature can now be disabled through an overridable 'when' rule. | Conversational Channels |
Data Integration
8.2.7 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-128143 INC-122191 |
564456 564602 |
Application content storage change corrected | Selecting the Content Storage radio buttons set a background property indicating the content storage option was changed, but the property was not actually being set. Investigation showed that the value for pyContentStorageChanged was not being updated correctly before the section refreshed, meaning the selection was never saved. This has been corrected. | Data integration |
INC-100288 | 555464 | Declaratives disabled during startup | Declaratives firing before the engine is fully up can lead to null pointer errors. In order to avoid this condition, declaratives will be disabled during startup so that unnecessary operations can be avoided and system can be started faster. | Data integration |
INC-118926 | 563806 | ArtifactoryStorage URL construction with port updated | After configuring a repository as a JFROG artifactory with a ruleform that provided a URL / port number and repository name, test connectivity worked as expected, but deploying the codeset using pipeline or importing the codeset using the import functionality generated the error "Unable to construct artifactory url due to invalid file path". The root cause of the issue was traced to the ArtifactoryStorage java class, which did not accept the port number in the format provided due to changes in the API. If there was no portNumber in the URL, the issue did not occur. To resolve this, the constructor has been changed to properly build the URI per https://docs.oracle.com/javase/8/docs/api/java/net/URI.html. |
Data integration |
INC-120557 SR-D83424 SR-D91894 |
558188 552721 557220 |
Class Loader cache values wrapped with WeakReference for improved cleanup | Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference. | Data integration |
INC-125480 | 562487 | Resolved Agile Workbench video recording timeout | Using the Record Video option thru Agile Workbench to create an Agile Studio item was either taking an excessively long time to finish or was hanging. Research showed that this scenario could arise when the input parameter value crossed more than 50 characters and triggered the interaction threshold for an alert, and has been resolved by updating the system so that query parameters with size more than 50 are not encoded and added to alert logs. | Data integration |
INC-126857 | 564594 | Added handling for download of attachment with special characters | If the name of an uploaded attachment contained a non-ascii character, the upload was successful but the downloaded file had the wrong name without any suffix. This was an issue on WAS or JBoss servers where filenames contained non-ascii characters, and the filename parameter in the content disposition header also contained these characters. To resolve this, the filename parameter in the content disposition header will be encoded as well along with the filename* parameter to handle non-ascii characters in the filename. | Data integration |
SR-D36826 | 550270 | LastAccessTime returned for MDB listeners | The lastAccess time for the JMS listener was not being updated. Investigation showed that lastAccessTime was correctly updated whenever isStopping() was called, but isStopping() was not called for MDB listeners because the MDB listeners' state is managed by the app server. This caused accessTime to be empty. To resolve this, ListenerStateImpl has been modified to return mRequestTime as the lastAccessTime if the listener is of type MDB. | Data integration |
SR-D52785 | 518409 | Cross-site scripting protection added to layout runtime java and whitelist validation available for host/XFHost | In order to protect against Cross-site scripting issues, filtering has been added to the RepeatDynamicIndex parameter value in layout runtime java. In addition, a validation for X-Forward-Host value has been added which will be read from a local configuration. This is in the form of a white list regex filter for the host/XFHost header to ensure the URL's actions cannot be redirected. | Data integration |
SR-D58201 | 538979 | Data page processing performance improvement | After upgrade from Pega 7 to Pega 8, data page processing was noticeably slower. Based on analysis of the issue and results of testing, changes have been made to improve the performance of the query used by the expression parser by using an ClipboardPage API to read values from a Page (ClipboardPageAPI#getString(boolean, String)). | Data integration |
SR-D60830 | 533029 | Logic update for classloading synchronization | The synchronization logic for classloading has been updated to resolve intermittent deadlocking seen when two DataFlow threads are executing a distribution test. | Data integration |
SR-D67142 | 548641 | Enhanced CMIS connector logging | Additional diagnostic logging has been added to enhance investigating CMIS connector health. | Data integration |
SR-D72389 | 541946 | Handling added for JSON with top level array | When using serialize mode in a JSON data transform where the Top element structure was Array and the “For JSON only” relation was selected for relation mode, the result had an incorrect JSON structure. In order to support this configuration, generatePropertyAsJSON has been amended to set isTopLevelPageList to true in instances where automap is off, the top level is an array, and the JSON context is updated within the first step. In addition, generatePageAsJSON has been updated to check this flag when processing mappings in order to ensure these context changes are processed, and updates have been made to generatePropertyAsJSON to ensure that the context is popped when appropriate. | Data integration |
SR-D74376 | 552258 | Check added for string vs boolean for pzscan JSON | When calling the CloudRemoteMaintenance/Work-/pzscan API, the response JSON had boolean values in the form of String which caused the JSON parsing to fail. The system was using ClipboardProperty.toStringValue() while generating outbound JSON from the clipboard page, which did not correctly interpret a boolean value. To resolve this, a check has been added that will assess the value and invoke ClipboardPage.toBoolean() when needed so that the value is converted as per type before generating the JSON. | Data integration |
SR-D74921 | 551787 | Error condition will close WebSocket connection | An async listener has been added that will close the WebSocket connection when an error condition is encountered. | Data integration |
SR-D77095 | 559842 | Improved backwards compatibility for imported WSDL and ParseXML rules | After upgrade, a Connect-SOAP integration created using the "Connector and Metadata" wizard in Pega 6 was unable to use newly generated WSDL that contained updated elements due to the wizard not updating the Parse XML rules with the updated properties, and two parse XML rules were created in draft mode when the old WSDL was imported and then followed by the new WSDL. If the "Create SOAP Integration wizard" was used instead, the properties and Parse XML rules were generated as expected but a new class was created due to the system removing special characters such as underscore. For example, the imported Connect-SOAP rules used the "XXX-APC_QUOTESERVICE-" class, but the Create SOAP Integration wizard changed this to "XXX-APCQUOTESERVICE-". Upper and lower case differences were also seen between the old and new XML Stream and Parse XML rule names. As a result, it was not possible to either skip or generate new properties into a higher ruleset version in the Connector and Metadata Accelerator. To resolve this, updates have been made which now properly skip the identical properties when generating on top of the existing run. The system now also handles unqualified schemas as it did in previous versions. | Data integration |
SR-D81651 | 545237 | Added check for signed-data in encrypted email | Numerous java.lang.UnsupportedOperationException messages were seen in the logs. Investigation showed that signed email which arrived as encapsulated within another email with header content-type = "application/pkcs7-mime; smime-type=signed-data name="smime.p7m" caused the exception. This was due to a missed check for 'signed-data' while parsing the email and checking for encryption, and has been resolved. | Data integration |
SR-D81659 | 548900 | Handling added for encrypted messages using IMAP | Log errors were seen related to Email Listeners while processing encrypted emails from specific mail IDs, including "Unable to determine DSN, EmailClientRuntimeException: Unable to load BODYSTRUCTURE" and "isMimeType(JavaMailMIMEMessage - Unable to determine partIsEncryptedMessage". This issue is related to how certain servers work with the IMAP protocol to parse messages, and has been handled by creating a new instance of MimeMessage from the original MimeMessage and working on it. | Data integration |
SR-D83329 | 546658 | AWS S3 client SDK upgraded | The com.amazonaws group has been updated to version 1.11.740 . | Data integration |
SR-D84122 | 547966 | Added min INT comparison for BrowseByKeys | Running the dataset with the Browse option worked as expected, but running it using BrowseByKeys operation and giving a negative value caused results to not be populated. To resolve this, a minimum INT value comparison has been added. | Data integration |
SR-D84725 SR-D90750 |
547962 549580 |
Search behavior change after upgrade corrected | After upgrade, changes were seen in the search behavior that included the toggle button at the top left corner of the landing page becoming disabled when re-indexing was in process, the Re-index buttons becoming disabled and a cancel button appearing in place of the re-index button for the specific index category being indexed, indexing done through batch indexers not presenting progress in the document size column every 10 seconds but instead presented the whole row for the index category as blank, and progress being indicated by the changing figures under the Queue Information section on the Search Landing Page. This was due to a conflict in which ruleset was highest after rulesets were imported during upgrade, and has been resolved by updating pzLPSearchManagerReIndexSection to use the correct version of the ruleset. | Data integration |
SR-D84876 | 547688 | Performance improvement for Oracle 12c queries | In order to compensate for a known issue with Oracle 12c that can cause repeated queries at certain times to cause database contention, Oracle pre/post processing steps have been added to improve performance in this environment. | Data integration |
SR-D84880 | 546889 | Null check added to resolve addmapcasetomap error | Using a createcase flow shape to create child cases by looping on a page list on the parent case resulted in pzaddmapcasetomap throwing an exception related to the activity pzLoadCaseHierarchyWrapper in step 5. This was traced to a page being removed after the list of pages was received in findPageByHandle, and has been resolved by adding a null check. | Data integration |
SR-D87605 | 547296 | Indexes and tables updated to improve purge query performance | Due to work done previously, purge queries to clean up the application ruleset index and application hierarchy_flat tables were running slowly or not returning the expected results. This has been resolved. | Data integration |
SR-D87673 | 552484 | IACservice security updated | Security updates have been made which now require authentication to consume the services from IACservice packages. | Data integration |
SR-D87870 | 548772 | Resolved putting JMS Message through JMS Listener interface | When using MS Listener integrated into Pega running on WebSphere Liberty, the listener was running correctly and able to consume JMS Messages. The JMS Listener ruleform provided options to browse and put JMS messages. However, when attempting to put a message into the destination queue, an error occurred. Investigation showed that if the resource lookup was using 'Resource references' on JMS Listener, the naming context was initialized with a null hashtable. This has been corrected by modifying AddJMSMessage and GenericViewJMSMessage to initialize the naming context with the default constructor RefreshJMSMessages to set JNDIServerName and pass the current parameter page when calling GenericViewJMSMessage. | Data integration |
SR-D92707 | 551694 | QP exception handling improved | There is currently a configurable maximum size limit for QP items of 5MB. If the message size exceeded 5 MB, the message failed to be enqueued to Kafka, but still ended up in the delayed message table where it remained. This caused issues with pzDelayedQueueProcessorSchedule JS as a result. To resolve this, the system has been updated to better detect Kafka errors related with message size and move any corrupted item to the broken message queue with the appropriate message attached. | Data integration |
SR-D94019 | 553783 | Alerting features added for Listeners | An enhancement has been added for Email Listener alerts. At the end of each listener's processing cycle, the system will determine the average processing time per message, the total processing time of the listener, the total unread messages count, and total number of messages processed. In each AESRemote agent run, this data will be published to the PDC, where it will be analyzed and any necessary alerts raised. | Data integration |
Decision Management
8.2.7 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-126796 | 561533 | Modifications to getFunctionalServiceNodes process | The count of the Interaction History write related threads was increasing rapidly and a stack trace indicated "waiting on condition" and "java.lang.Thread.State: WAITING (parking)" errors. Investigation showed that this was due to getFunctionalServiceNodes using Hazelcast to determine node status by making a service request on an installation with a very large number of nodes, causing thread locking. To resolve this, the implementation has been updated to avoid calling getFunctionalServiceNodes on save of Interaction History, instead using Cassandra and only calling getFunctionalServiceNodes on the master node, not on all nodes. | Decision Management |
INC-128385 | 564519 | Behavior made consistent between SSA and legacy engines | There was a behavioral disparity between the legacy execution engine and the SSA engine where the latter was not creating a new page when the index was one above the size of the page list. This has now been corrected in order to make the SSA behavior fully backward compatible with the legacy engine, i.e. a new blank page will be added to the list if the index is one above the size of the list. | Decision Management |
INC-128898 | 564690 | Updated precondition checks for Tumbling Time data in event strategies | Tumbling Time data keys in event strategies were not being properly executed when certain window configurations were used. This was has been resolved by turning off the optimalization of Cassandra reads for small windows when window size is not known upfront and set dynamically (set size by property). In addition, an issue with Cassandra timeouts after the dataflow run had been running for several months has been resolved by adding a 'time to live' value for tumbling time windows, and event strategies has been switched to use leveled compaction by default. | Decision Management |
SR-D82727 | 547723 | Improved management for table pr_log_dataflow_events | The Lifecycle event table was sometimes growing too large. This additional strain of database transaction volume caused poor performance on the Dataflow tier and lead to cluster instability and time-consuming cluster restarts. Due to problems in one of the Pulse tasks, the Pulse thread was not processing single case metrics properly and causing the unbounded queue for single case to grow. This has been addressed by switching to a fixed queue size, which is configurable with the DSS: dnode/single_case_queue_size. The default value of the DSS is 4000, and if changed a system restart is required. An error will be logged each 1000 queue misses, and metrics will be dropped if the queue is full. In addition, the Pulse task frequency has been improved and managed to prevent interference with other Pulse tasks and will be triggered only if a run is system-paused for a long interval. Rebalances now have a failsafe if something unexpected happens during the Pausing of the run, and If the cluster becomes unstable, the life cycle events logs may be disabled with dataflow/run/events/persist . | Decision Management |
SR-D85095 | 546339 | Updated COUNT logic for strategies with ssavm set to true | An error was seen when attempting to save a strategy after setting ssavm to true, indicating an issue in the “COUNT” method in Group By shape. Since the source field is not used and does not need to be evaluated here, the system has been updated to ignore the source field if the operation is COUNT. | Decision Management |
SR-D87709 SR-D87709 |
552398 552398 |
Default context check added for saving adaptive model with locked rulesets | When updating an adaptive model rule in Prediction Studio, the error message "No unlocked Rulesets/Versions found that are valid for this record. Unlock at least one Ruleset/Version that can contain records of this type." appeared when clicking Save. This occurred when a branch was used in the default context of the Prediction Studio settings. Although there was a workaround to use Dev Studio to Save As the adaptive model rule to the required branch, this has been resolved by adding a check for default context and then saving the model there if it is mentioned. | Decision Management |
SR-D89643 | 548291 | Old Tumbling Time data in event strategies given TTL for cleanup | Old Tumbling Time data keys in event strategies were not being cleaned up, causing Cassandra timeouts after the dataflow run had been running for several months. The longer the dataflow was running using standard compaction, the more the data was potentially spread out across SSTables and the slower it became. This has been resolved by adding a 'time to live' value for tumbling time windows, and event strategies has been switched to use leveled compaction by default. | Decision Management |
SR-D90367 | 556686 | Cleanup enhanced for long pyEditElement names | A pyEditElement error relating to decision data was seen multiple times in a stack trace. Research showed that while the utility worked as expected for decision data rules with names of less than 30 characters, the pyEditElement section was truncated the name for the decision data. This meant that decision data with the name SampleIssueandSampleGroupTwosalkdjkightntbmkblffvfvfv would be saved as SampleIssueandSampleGroupT for the pyEditElement section. Because of this, the utility failed the match and did not clean up the pyEditElement section. To resolve this, the cleanup utility has been updated to handle pyEditElement sections of decision data with longer names. Additional logging has also been added to improve debugging. | Decision Management |
SR-D90579 | 550769 | Real Time data flow exception during shutdown corrected | A Real Time DataFlow run was failing with a java.util.concurrent.RejectedExecutionException. This occurred when the node was shutting down while picking up a partition, and was due to the life cycle events not being able to update the partition status. To resolve this, a check has been added to prevent the exception form occurring by evaluating whether the Executor is shutdown while distributing messages. | Decision Management |
SR-D96836 | 555748 | Refinements made to MarkerNode memory use | Significant memory usage can be observed when data join in strategies are missing the join conditions. E.g., when the primary source in the strategy can have up to 300 or even more propositions, the join without the join condition would perform a cartesian product with possibly up to 400 or even more records returned. This may cause performance degradation. To guard against this, an update has been made that seeks to prevent repetitive markers being accumulated under a MarkerNode while trying not to rely on any implementation of equality and hashCode for individual marker implementations. | Decision Management |
Low-Code Application Development
8.2.7 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-127981 | 562998 | Rulesets removed from direct invocation ability | The following rules have been updated such that they are no longer available to be invoked directly by a client or service: Clipboard_ExecuteActivity, getClassInstances, getOperatorIDs, and GetXMLRuleData. In addition, pzAutoGenClipboard_ExecuteActivity will now require authentication. | Low-code app development |
SR-D79831 | 562800 | Access Deny working as expected for Offers | It was possible to Save-As an offer in PegaMKT-Work-Offer after encountering an access deny rule. The record was not created in Dev Studio, however, and an expected denial of access was not registered at runtime. This was due to Access deny rules not being considered as a part of validation, and has been resolved by adding the necessary permission validation to the new harness that will produce the error message informing the user that they are missing a permission. Additional work has also been done to pass the 'pzKeepPageMessages' parameter as true so that page level error messages are correctly displayed. | Low-code app development |
SR-D87673 | 548627 | PegaCESvcsIntegrator security updated | Security updates have been made which now require authentication to consume the services from the PegaCESvcsIntegrator package. | Low-code app development |
SR-D88451 | 550848 | Testcases are not available for 'access when' rules | Attempting to create test cases for access when rules resulted in guardrail warnings about the need to create a test case. Because Test Cases are not available for the Access When rule type as per Pega expected behavior, the guardrail warnings are not valid and have been removed. | Low-code app development |
SR-D91834 | 554424 | Related cases of different types properly linked in Case Worker Portal | After creating a case of type1 in the Case Worker portal, creating a case of type2 from the first case showed the case ID of the second case in the Related Work section as expected. However, after clicking on the link of the case ID of the second case from the related work section, the second case opened but the case ID of the first case was not shown in the Related work. The cases were correctly associated when the Case Manager portal was used instead. This was traced to the Case Worker clipboard continuing to hold the previous case ID thread, and has been resolved. | Low-code app development |
Mobile
8.2.7 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-120326 | 564435 | Landing page refresh modified to avoid frequent reloads | Approximately every two weeks, clients were able to login but it was not possible to work as the landing page refreshed constantly until all of the nodes were rebooted and the issue was cleared. Investigation indicated the frequent reloads were related to the cacheing of the operator details, and this has been resolved by updating the datapage reload strategy based on 'when' so frequent reloads will be avoided. | Mobile |
SR-D68572 | 543003 | Added check for duplicate attachment names with S3 | S3 Storage does not allow duplicate file names, but the AttachContent function was allowing duplicate file attachments. Due to this, the sync was failing to attach on the server and the message was never communicated to the client. This has been resolved by adding a check for duplicate file names when the storage is repository. | Mobile |
SR-D77580 | 550093 | Corrected Survey button refresh issue | After implementing a Pega Survey question page with dynamic / reflexive questions (Answer to Question 1 determines Question 2 and so on) where every answer pick caused a refresh, picking various radio buttons quickly caused an unexpected busy indicator. Investigation showed that on click, both refresh section and run activity were executed asynchronously, triggering the property mapping refresh before answers were clicked. To correct this, the clearSelection function call in pzsurvey_ui_userscript JS file has been modified, and questionPageName has an added 'if' condition. | Mobile |
SR-D81500 | 554903 | Uploading Pulse attachments made more robust | Upon uploading a file in the Pulse section for a case created in the Case Worker portal, the error message "File <filename> doesn't exist or is empty" appeared. This was traced to using a third-party repository when the network was slow, and has been resolved by instituting the use of callbacks/timeintervals to execute a particular function call only after getting proper results. | Mobile |
SR-D83548 | 544307 | JMS push notification made more robust | After creating a JMS Service to call pySendPushNotification from an activity, running it using User Context worked as expected but selecting initialize Service Context resulted in the Push notification silently failing in the context of JMS service. The JMS is used as a communication medium between legacy and Pega solutions. When the message arrives, Pega creates a new case and sends a push notification to the user, who has only 2 minutes to accept the case. Because of the urgency of timeliness in this situation, the push is sent directly from the context of the service rather than expend 30 seconds for agent processing. However, because the application was not always available to the pySendPushNotification activity (and further to API call), the push failed. In order to avoid this condition, the system has been modified to use the more widely available pxThread instead of Application when possible. | Mobile |
SR-D85624 | 552695 | Corrected Microsoft Internet Explorer displaying checkboxes as sliders | Checkboxes were displaying as sliders in Microsoft Internet Explorer version11.1304.17134.0 due to Microsoft Internet Explorer returning Table pc 2.0. Since Pega HTML class includes tablet, .tablet related styles were getting picked up and displaying the checkboxes in tablet mode. To resolve this, a check has been added to pyIsTablet to evaluate correctly at runtime. | Mobile |
SR-D90279 | 554390 | Data sync updated for use with DeferWrite | After upgrade, attempting a data sync from the client mobile application worked for the first object submission, but the second object failed and stayed in the list. This was traced to finish assignments running back to back when deferWrite was enabled and svcPerformFlow failed to find the assignment. To resolve this, the assignmentHandle will be passed to the activity when calling the pzSetDeferWrite activity from FinishAssignmentActionProcessor. | Mobile |
SR-D91532 | 556404 | Resolved Clear Cache error for mobile client | When attempting to clear local storage while logged into the Mobile Client, the error message "You need to be able to connect to the server in order to clear the storage" appeared. This was traced to the application being configured to disable a user's web session immediately after log in, and was due to the "Clear Cache" functionality failing while attempting an AJAX request to invoke the server's "pzAmIOnline" activity. While there was a workaround of using the check box "Access group requires a connection for portions of the application", this has been resolved by updating the Settings - Clear Cache functionality in order be able to detect if it's online in a different way. | Mobile |
Project Delivery
There were no Resolved Issues for Project Delivery in 8.2.7
Reporting
8.2.7 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-119669 | 562586 | Special character handling added to filters for table sourced with parameterized RD | Filters were not working on a table when sourced with a report definition which accepted a parameter value containing special characters (Eg: S&P). This has been resolved by using StringUtils.reversibleCrossScriptingFilter in the pzGetGridColUniqueValues activity to allow filters to contain special characters. | Reporting |
SR-D56590 | 525300 | Notification option for change of search nodes removed from Cloud | The search landing page for Pega Cloud was displaying a checkbox to enable sending automatic emails if the search node was modified. As the description of the notification 'Notify on change of search host nodes' suggests, this option is to send notifications only when a search host node has been modified(addition/removal) from the search landing page. This is not applicable for the automatic addition/removal of search nodes that happens on starting the node. As the addition/removal of nodes is not allowed from the search landing page on Cloud environments, this option is not applicable for Cloud and the checkbox has now been removed for that environment. | Reporting |
SR-D81496 | 547169 | Data Social tag class FTS index query improvements | A query intended to select from the link tag table to see if any cases were linked to the tag in question and then index the tag change was causing performance issues. Investigation showed that checking tag associations during FTS indexing fetched all matching rows from the table even though one was sufficient. To resolve this, the query will be created with max result count = 1, fetching up to 2 rows from the table. | Reporting |
SR-D88500 | 562655 | Eligibility prompt integer values sorted by incremental size | In an Offer rule on the Eligibility tab of the Eligibility Builder, an eligibility row using {integer property} comparator {value} had the list of prompt values sorted alphabetically for integer values rather than incremental size when using Select value -> Existing Values. This has been corrected by revising the logic in addValuesToOutputPage to call Report.sort with different sorting algorithm for numeric values. Logic was also updated to call Report.sort for prompt lists. | Reporting |
SR-D90232 | 555780 | Combo charts now support conditional colors | An enhancement has been added to facilitate the use of conditional colors in combination charts. | Reporting |
SR-D91038 | 553164 | Corrected report with combo chart in Case Manager portal | After adding the required columns a report in the report viewer and then adding a combo chart and dropping the summarized column on the y-axes and group by column on X-axis, clicking on "done editing" generated the error "pyUI.pyChart: You must have at least two Aggregate Columns in the chart series .pyUI.pyChart.pyDataAxis(1).pyChartOutputType: A Combo chart requires at least 1 Chart Type be a Column". Investigation showed that the second DataAxis page was getting deleted in the pzCleanChartDataAxis activity, causing the validation to fail. This has been resolved by adding a 'when' rule to "pzChartIsSingleY" that checks for "SingleYAxisClustered" chart and refers the same in pzCleanChartDataAxis to skip the data axis deletion. | Reporting |
SR-D94002 | 553766 | Export to Excel cell style control added | If a column was formatted with an auto generated numeric control, a new cell style was generated for every row during the export to Excel process. Since there is a limit on the amount of cell styles, once the number of rows in the file was greater than 64000 an error was generated. To resolve this, the system will disable the creation of a new cell style for every instance when an auto-generated numeric control is used. | Reporting |
Security
8.2.7 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-118838 | 560691 | OKTA receives parameters on logout | When using an OIDC logout endpoint with a parameter set as a data page value, the data page retrieved the ID Token from the DB, but when logout was clicked the datapage name was being displayed in the browser instead of the IDToken. To resolve this, code has been added to support sending ID token parameters for logoff endpoint for OKTA logoff using OpeniD connect. | Security |
SR-D95148 | 557483 | Port validation updated for redirect URI | When an offline app for windows client was generated, trying to login via SSO resulted in the error "invalid redirect_uri". This was traced to the system validating the whole loopback redirection URL, e.g. "http://127.0.0.1:1234/redirection", including the port number. To enhance flexibility, an update has been made so that the port number will not be validated, allowing the client to establish it based on availability at the moment of the request to the authorization service. NOTE: As a best practice, a loopback URL should not be configured as a redirect URI. If a loopback URL is configured, then at run time the port number will not be validated, and the client application can use any available port on the system including ports that may not be intended for use. | Security |
System Administration
8.2.7 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D62754 | 559848 | PrepareResponse updated to explictly close Input Handler | When using prpcServiceUtils to export a product in a Windows+Weblogic environment, attempting to export repeatedly using the same archiveName with the intention of overwriting the older product with the newer one in the ServiceExport directory failed with a FileNotFoundException. Investigation showed that the product file that was created by the pzExport REST call was not being released by the Weblogic File Handler process. Due to this, the next time the call was invoked the system tried to create the same file in the directory but failed due to the earlier File handle lock. To resolve this, the system has been updated to explicitly close the InputStream using try-with-resources. | System Administration |
SR-D78274 | 544092 | Handling added for dual privileges with MSSQL | After setting up dual privileges, the Admin user was able to create a table but the base user received an "insufficient privileges" error. Investigation showed this was an issue when using MSSQL: the generated grant statements used the server login name as the user in the grant statement, instead of the database user. For all other databases, the username passed into the connection is the correct user to use for grants. Only MSSQL has a distinction between this connection user name (the login) and the database user, and since the login did not exist in the user table, the grant failed. To resolve this, when MSSQL is used, the system will fetch the underlying database user when determining the user for grant statement generation. | System Administration |
SR-D84190 | 547173 | Post-Import Migration Agent query optimized | A Post-Import Migration agent belonging to the Pega-ImportExport Ruleset and set to run every 60 seconds by default triggered the SQL query "select ASTERISK from pegadata.pca_CWT_CXP_Work_Interaction" which ran for an excessive amount of time, caused a utilization spike, and then crashed the utility nodes. Investigation showed the excessive run time and load was caused by the query fetching a very large number of results. To better handle this scenario, the query usage has been updated. | System Administration |
SR-D84364 | 551400 | Check for circular references added to SearchInventoryImpl to prevent recursive call | An out of memory error was traced to SearchInventoryImpl infinitely recursing over a clipboard property, where the child property referenced a parent property and resulted in an endless loop. This has been resolved with the addition of a depth check to ensure that the search does not recurse infinitely. | System Administration |
SR-D85100 | 556260 | ProductInfoReader updated to fetch only most recent version information | After upgrade, running Hfix scanner on Pega Marketing 8.2 displayed missed critical Hfixes for Pega Marketing 8.1. This has been resolved by modifying ProductInfoReader.runQuery to fetch only latest version of DAPF instances during a scan. | System Administration |
SR-D90687 | 560427 | IOException handling improved to resolve broken pipe errors | Frequent "connection reset by peers" exceptions were being generated and broken-pipe exceptions were seen in the logs. Investigation traced the issue to unhanded IOExceptions on the server side that were a result of the client application not always closing the TCP connection gracefully. To resolve this, error handling for IOExceptions has been improved. | System Administration |
User Experience
8.2.7 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-118907 | 561071 | ClearHighlight called after test steps complete | When using a custom delay as part of a scenario test, an orange highlight square was unexpectedly persisting on the portal. To resolve this, an update has been made to explicitly call "_clearHightlight()" after every test case step execution completes. | User Experience |
INC-121444 | 561807 | Added handling to force text area maxlength in Edge | When using the Edge browser, it was possible to continue entering characters in excess of the value set for the 'max characters' property. Investigation showed that the Edge browser does not honor the maxlength attribute on text area; to resolve this, logic has been added to restrict the user from entering extra characters above the max limit. | User Experience |
INC-125105 | 563382 | Null checks added for incomplete autocomplete fields | When using a page which has an AutoComplete text input and a button configured for search, tabbing out of the autocomplete field before the autocomplete list has appeared and then filling out the rest of the fields and clicking submit was sporadically resulting in the page becoming unresponsive. This has been resolved by adding null checks and improving the error handling. | User Experience |
INC-126432 | 564623 | Support added for resuming scenario test recording | When running an automation recording, a refresh of the harness was hiding the recording panel. When it was reopened, the panel was not responsive but the recording process was still running. This was traced to a scenario where the portal harness had a second harness running on it (such as a normal case worker would have) and the "Render As Single Page" was not checked: clicking a button with an action like "create new work" caused the whole harness (top) to be refreshed, resulting in the panel issues. To resolve this an enhancement has been added which will maintain the Scenario test recording when browser refresh happens, and recording can be restarted by clicking the toolbar option. | User Experience |
INC-127201 | 562820 | Thread Cleanup error resolved | After upgrade, intermittent exception errors were being generated by the FreeClipboard activity when switching between applications. This was traced to specific use-case issues with Thread Cleanup, and has been resolved. | User Experience |
SR-D53568 | 521145 | Improved post-upgrade compatibility for custom tabbed screen flows | After upgrade, a screen flow with a customized harness saved-as from a TabbedScreenFlow harness and configured with client side validation disabled was displaying a blank white screen if validations failed when moving from one tab to another tab. When a tabbed screen flow has errors the necessary script bundles should be added, but this configuration was created prior to the introduction of templated controls and non-templated controls don't need script files. Because the ‘doesStreamMatchInputProperties’ method sets ‘researchmode’ to true, the ‘doOnlyOnce’ method evaluated to false and script files related to templating controls were not getting appended. For greater backwards compatibility, 'mResearchMode’ will be set to ‘true’ to make stream processing light weight. In addition, the researchmode check will be removed when adding scripts. | User Experience |
SR-D61560 | 539473 | Support added for multiselect control with SmartTip for iPad | When using a multiselect list control to a lproperty with Smart Tip configured, choosing one item on an iPad and then trying to tap or drag down the vertical scrollbar caused all listed items to disappear. To resolve this, the multiselect control has been updated to handle the popover exit on smart popover hover along with arrow key navigation support for tablets. | User Experience |
SR-D65174 | 560600 | SetInterval will increase when AQD delay is defined | With a 5000ms delay in place, executing scenario test cases resulted in errors such as values sporadically not being entered in their respective fields when the test was run, test runs that failed even though the data was entered as expected, or the submission of a test case assignment (Next button) executing the next step before the new screen was loaded. Investigation showed this issue was occurring when the system encountered a slower machine and a delay in loading pages, and was traced to the executor not waiting long enough due to the implicit setInterval of 8 seconds. It was possible to add a local delay in AQD settings for slow pages, but the system-set setInterval interfered with this delay. To resolve this, changes have been made to the executor module where setInterval is invoked that will increase the setInterval time when AQD delay is defined, so that setInterval will not interfere with a locally-set AQD delay. | User Experience |
SR-D67012 | 537308 | Invalid dropdown time will retain entered time | If a datetime control using dropdown mode and a timeofday property had a validation error, on refresh the current time was being set in the dropdown. This occurred when selecting only one part of the time property (only minutes or only hours), and included an error indicating that the provided time was not a valid time of day value. To resolve this, an update has been made so that if this combination has a validation error, on refresh setting the user-entered time will be given in the dropdown instead of the current time. | User Experience |
SR-D68328 | 557749 | Unload handler added for use with custom popups | A memory leak seen in Microsoft Internet Explorer was traced to a custom script to close windows which bypassed window unload and continued to hold some objects in memory. This has been resolved by introducing a new file which will load only for popup harnesses and which registers the unload handler to remove the popup window references. | User Experience |
SR-D74992 | 546876 | Improved CPMHC performance | After upgrade, slowness was seen when using the CPMHC application. This has been improved by adding Microsoft Internet Explorer 11 optimization with the most recent javascript API. | User Experience |
SR-D75421 | 552436 | Parameters added to protect font size in HTML to PDF conversion | Pega uses the pd4ml external library for HTML to PDF conversion. As part of this, the adjustHTMLWidth API was called to avoid truncation issues, but this resulted in font-sizes not being preserved in the exported document but rather changed as necessary to fit in the PDF. In order to support preserving the font size during export, the pyPDFSettings datatransform will call the protectPhysicalDimensions API along with setHTMLWidth, and avoid calling adjustHTMLWidth. With this change in place, any content width should not be set explicitly to some value as it may lead to truncation if the space is not sufficient. If there is no width set, text will wrap automatically. In case of tables with large number of columns, truncation issues may be seen: to avoid such issues, pass a larger htmlWidth value so that table will be reduced in size and in the rest of the page, font-sizes are preserved. | User Experience |
SR-D78196 | 547265 | Prepending zero to single digit hour and minute for iOS native calendar | The iOS native calendar was not parsing datetime values if h m values were less than 10, for example 09:05, resulting in an exception and freezing the app. To resolve this, the system will prepend a zero for iOS if the hour and minute values are less than 10. | User Experience |
SR-D78659 | 545759 | Resolved CSV validation overflow in Google Chrome | When using Google Chrome, validation of records was getting stuck in the UI at 32000+ while importing a CSV file with many invalid records when using the import option in Data type’s local data storage. Investigation showed the Call Stack size limit was exceeded in the Google Chrome dev tools due to the ":first" selector being passed to the Jquery find() method to find the element from the first element child of the XML doc. This selector causes maximum callstack exception when the document is large, and this is a deprecated selector in later versions of Jquery. To resolve this issue, the XML function in pzpega_tools_asyncprocess has been updated to replace the ":first" selector. | User Experience |
SR-D80696 | 548823 | Autocomplete context fetched for dropdown in nested case | The autocomplete dropdown was empty when using SmartTip and the down arrow was clicked while opening an autocomplete case within an Interaction case. Opening the service case directly in a new tab populated the dropdown values as expected. This has been corrected by registering context changes just before the content is fetched for the overlay. | User Experience |
SR-D80798 | 545242 | Updated attachment popover handling for IE | After configuring a button consisting of two events, 1. On click --> View Attachment and 2. Hover --> Show Smart info, an attachment popup opened whenever the button was clicked, and moving the cursor out minimized the attachment. To resolve this, dismiss callback logic has been added in popover close for use with IE. | User Experience |
SR-D80825 SR-D86200 |
546572 549031 |
Resolved tab appearance issues related to resolution support | When trying to add multiple tabs on larger screens, once the first row was filled with tabs then new tabs began appearing at the bottom of the layout group. The layout group worked as expected with the tab overflow having the right and left arrows with the dropdown on smaller screens. In addition, @1440px the overflow arrow on the right side was not working correctly, showing as grayed out even though focus was not on the last tab. These issues were traced to taboverflow with add icon not working correctly at certain resolutions. To resolve this, the todisableslide function has been updated to consider add icon width and layoutgroup has been updated to consider parent width. | User Experience |
SR-D81924 | 548649 | Resolved Ajax and autocomplete errors in mobile offline | When logging into the app for the first time on a new session to navigate to scheduled contacts and reschedule one, clicking the right or left arrow icons to move through dates resulted in an "AJAX request failed" error. POST 500 errors were also logged in the Developer Tools console with every click of the icon. It was possible to close the error and continue, and navigating to another screen and returning or leaving the app and restarting it resolved the issue. This has been resolved by adding dataOnly for getParentWorkItem to support a Parent online and child offline scenario. In addition, an issue with console errors caused by a popup when autocomplete did not have any results has been corrected with the addition of a null check to clear the results div only if it exists. | User Experience |
SR-D83931 | 545872 | Header style inheritance corrected | When a header style for a container was explicitly set, any layout underneath inherited that style when using container formats set to 'Use Skin Base Settings'. This has been resolved by increasing specificity for the header title. | User Experience |
SR-D84882 | 551989 | Resolved duplicate messages from HarnessErrorList section | When using pyCaseErrorSection to call HarnessErrorList and display any errors on Clipboard page, when the Clipboard page had more than one error then the error message was shown multiple times. This has been resolved by adding a check that will iterate through the errors to see if it is present on the page already. If it is present it will be ignored, and if it is not present, then it will be added. | User Experience |
SR-D85339 | 548181 | Calendar AM/PM corrected for Chinese locale | When using the Chinese locale (zh_CN), opening a calendar control in the Report definition to select filter values resulted in the Calendar tab dropdown showing "上午" (AM) when the system time was in "下午" (PM). Investigation showed that when generating a non-auto date time control, ampm text (i.e. string value) was compared with the generated select component using locale specific values which did not match any time, so AM was always selected as it was the first value in the dropdown. To resolve this, the system has been updated to use the locale specific AM PM values for non-auto-generated date time control. | User Experience |
SR-D86274 | 552508 | Resolved validation conflict with error message display | Error messages set through property-set- messages or edit validate were disappearing when out of focus from the date field if the field had a mandatory condition. This was traced to an edge condition where required validation was conflicting with another error message, and has been resolved by modifying the code so the system will not validate required on blur if the input has another error message. | User Experience |
SR-D86694 | 548668 | TeamMembersWidget section include corrected for PortalNav | An error was seen when attempting to include the pyTeamMembersWidget section inside a pyPortalNav section. Investigation showed there was a data corruption in the section. As a local change, it was possible to 'save as' the section to a ruleset and delete the section embedded in the grid, then drag an embedded section layout from Layouts, add it to the grid row, and select pyTeamMembersWidgetRow. As a permanenet resolution, the corrupted section has now been replaced. | User Experience |
SR-D87007 | 550331 | Handling added for special characters in radio button response value | Adding a response with a single quote on a radio button caused the preview to hang. This was traced to the 'querySelector' API: because the argument selector syntax used [id='{idVal}'], the variable 'idVal' value in the selector argument containing an apostrophe formed an invalid selector argument to the API. This has been resolved by escaping any apostrophes from the querySelector argument. | User Experience |
SR-D89242 | 555588 | Corrected layout refresh for grid state page | When the condition builder had an empty row, on submit an error was displayed as expected. However, attempting to delete the empty row resulted in an exception. Investigation showed that the layout refresh was causing the grid state page to get deleted upon submission of the modal. This has been resolved. | User Experience |
SR-D89672 | 550525 | Custom error label styles work for 'required' | When using the default 'required' error message, the class "labelError" is added when the required field is empty. However, when the default 'required' is replaced by a custom error message, a UI error was seen because the class "labelError" was not added when the field was empty. This was traced to an error in the non-template to template code transform, and has been resolved by updating webwb_pzpega_ui_dlcelltemplate_js to add the labelError class based on the presence of an error message. | User Experience |
SR-D90284 | 551472 | Added 'when' condition to class change in ShowColorPicker activity | When using an included color picker control in a section, selecting a color resulted in the color picker pyworkpage class content changing to Embed-Skin-Controls. This has been resolved by modifying the previous behavior of always changing pyWorkPage's obj class as part of the ShowColorPicker activity by adding a 'when' condition to change the class only if it is empty. | User Experience |
SR-D90331 | 553607 | Context-specific APIs used for RefreshHarness with AJAX container | After creating an interaction case and letting it go idle, attempting to continue and process the service cases in that case was intermittently resulting in a transaction ID mismatch error. This was traced to handling in the AJAX container, and has been resolved by updating the system to use context-specific APIs for refreshHarness case in doc_submit. | User Experience |
SR-D91964 | 551091 | Negative values in optimized table filters show markup | HTML markup was shown in the filter popup when Number control was used in a Table cell and there were negative values in the cells at runtime. This was traced to work done on template grid filtering, and has been corrected. | User Experience |
SR-D92571 | 553114 | Corrected ReportBrowser refresh section | After bringing up the popup menu on a report shortcut in the report viewer and then dismissing it, the gear icon on the shortcuts in the upper section of the report browser stopped responding. This has been resolved by updating the system to refresh the pyReportBrowserInner section instead of pyReportBrowserAll. | User Experience |
SR-D95367 | 560739 | Expanded debug logging for exception blocks | In order to enhance debugging, logging has been expanded to capture more detail on exception blocks. | User Experience |
SR-D95410 | 556323 | CSS added for currency display place holder when empty | After upgrade, currency cell properties displayed a blank space instead of the previous "--" if the value was empty. This was traced to templating and markup changes that resulted in styles related to adding hyphens not getting applied to the inner span, and has been resolved by adding the necessary CSS. | User Experience |
SR-D96224 | 556780 | Validation error messages correctly cleared | The error message on a checkbox field, radio button, or text area with a on-change post value was persisting even after the correct input was provided. This occurred when the area had a caption, and was due to an additional wrapper span that caused the error div to be the span's sibling instead of the span itself. In the post value success, the system checked whether the error div was present in the area's parent, i.e. span, and when no div was returned the error msg was not removed. It was possible to add an action 'Refresh this section' on change as a workaround, but this has been corrected by updating the system so that Instead of checking the error div in src.parentNode, it will access the correct parentNode using 'closest' and check for the error div. | User Experience |