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.5.1 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D59283 | 523207 | Check added for WorkParty property to catch changes | After configuring a send email shape to send email to work parties, proceeding through the flow without work parties and then triggering the send email shape and creating the Fix correspondence assignment worked as expected. If the work party details were later updated and the send email shape was triggered again for the Fix correspondence assignment, the error message "No role defined to work object" appeared. This was an issue with the handling of the email flow the second time through: PyCorrPage.pyCorrPartyRole did not have the work object party details which were added to the work object after the fix correspondence assignment was created, and SendSimpleEmail was not designed to handle the email that needs to be retried during the FixCorrespondence flow call. To resolve this, the system will check whether the pyWorkParty property exists prior to calling the PartyCorrPreferences HTML rule. | Case Management |
SR-D77719 | 569769 | OpenIfStale updated to resolve optimistic locking race condition | A race condition was created in optimistic locking by having two assignments save at overlapping times. This has been resolved by modifying the pzShowConflicts activity to use a version of openIfStale which will consider a workpage as stale even if the difference in pxUpdateDatetime is in milliseconds. | Case Management |
INC-128193 | 575947 | Added check for OperatorID page | When logging in, operators were seeing exceptions related to "reference .pxOperatorSkillsCount is not valid. Reason: FUAInstance-NullMyStepPage at com.pegarules.generated.activity.ra_action_setworkinfo". The OperatorID page is created when a user is logged in, and the scenario of an OperatorID page not being present is rare but can occur. To resolve this, a 'when' condition has been added to check whether the OperatorID page exists before populating the pxOperatorSkillCount property. | Case Management |
INC-129533 | 576661 | Proper MIME type kept for attachments | When Email Listeners processed an email with an attachment and stored that attachment to an instance of DATA-WORKATTACH-FILE, it did not keep the full MIME type in the property pyAttachMimeType, but kept just the subtype (so "application/PDF" became "PDF" and "image/jpeg" became "jpeg"). As a consequence, the MIME type could not be reconstructed correctly when the file was attached to an outbound email. While most email clients were able to reconstruct (guess) the type of the file from the filename (or, more precisely, from the extension), this did not work when the email was processed by an automated system reliant on the correctly set Content-Type header. This has been corrected by reading the mime type from data-workattach-file page and setting the content type header while constructing the multipart with this value. | Case Management |
INC-135161 | 580936 | Upload with "Select File" works in IE | When using IE, uploading a document was failing on the first try when using the "Select File" button. The second attempt worked as expected. This was an intended consequence of work done to enable attaching the same file after deleting it, and was related to IE calling an "onChange" which caused the "pzAttachFileDDFileList" section which is used to display the attachments uploaded to not be properly refreshed. This has been resolved by updating the pzMultiFilePath control handling of the success and failure of the upload function call. | Case Management |
INC-134912 | 581326 | Handling updated for wait shapes with different outgoing connector flow actions | After configuring a flow with a wait shape that by default used the pyContinueAfterWait flow action for the outgoing connector of the wait shape refer, adding any other valid flow action resulted in the error "Action To Take must be a valid flow action for this assignment". This was due to the post-processing of the connector properties modal updating the ActionToTake value based on wait shape, so that changing the flow action on a connector caused the validation on save to fail if the ActionToTake on wait shape and the connector flow action did not match. To resolve this, the system has been modified to validate a wait shape with different flow action on the outgoing connector. | Case Management |
INC-133615 | 581400 | Rendering corrected for contextual prompt in Case Type | In Case Type with multiple stages, clicking to add step->More at the last stage caused the More menu to be distorted and not usable. Investigation showed that whenever the contextual prompt was opened in this way and the layout had no space on the right side, it shifted left and moved beyond the visible layout. This was traced to the two column layout in pxContextualPromptWithPreview having display styling set to block, and has been resolved by updating this setting to display as table. | Case Management |
INC-129443 | 582612 | Reopen details correctly saved to pxResolveSummary | When cases were reopened using a call to the out-of-the-box Work-.Reopen activity or the Re-open work item link in the Case Tools, the changes to track the reopen in pxResolveSummary were not saved and were lost after a refresh of the case. This has been resolved by updating the ticket handling and modifying the reopenworkobject activity to set the resolve-summary details before re-opening the WO. | Case Management |
INC-132297 | 583956 | FlowAction HelpText retained on refresh | When a FlowAction configured with HTML was rendered on UI, reloading made the HelpText disappear. Flow action help icon is displayed using pzActionHelp control, which uses the Task Index parameter to determine whether to show the help icon or not. Investigation showed that when pyCaseActionAreaHeader was getting refreshed, this parameter was missed. To resolve this, the pzActionHelp control has been modified to fetch the correct action and index which will be used in displaying the flow action help. | Case Management |
INC-136206 | 584327 | Handling added for Japanese characters in filename during Safari file upload | When using the Safari browser, uploading a file containing Japanese characters resulted in an error message indicating the file was not found afterwards. This was caused by Safari not encoding the flename in the Form Data/Query String as part of the request for file upload, resulting in the filename not being decoded properly. To resolve this, a function named pzBrowserIsSafari has been added to check the browser, and if it is Safari, the system will normalize the filename. | Case Management |
INC-136208 | 585226 | Case history filter added for manual instantiation of Child Case | After upgrade from v7.4 to v8.3, creating any child case from a parent case unexpectedly added the audit history "Child case xxxxx has been manually instantiated" to the parent case. In order to make this customizable, an "isHistoryAvailable" function has been added in the 'when' condition of "AddCoveredWork" Activity's "History-Add" Step. This will use the FilterHistory decision tree, which now has a setting for "ChildCaseInsAudit" to control whether or not the manual Instantiation of a Child Case will appear in the case history. The default is "true"; setting it to "false" will suppress the message. | Case Management |
INC-135751 | 587287 | Null check added for embedded section pyInclude tag | When attempting to implement a call to the Pega API casetypes endpoint, the end point /casetypes/{id} returned data for only some of the casetype IDs. For others there was no content in the response and in the logs the error "null at com.pegarules.generated.pzAPICreateJsonForGroup" was seen. This was traced to the use of an old section which did not generate the embedded section pyInclude tag. When the API was called on the same section, it tried to perform an equality check on the variable which gets the pyInclude value, and the null value caused the NPE. This has been resolved by adding a null check to cover pyInclude in an embedded section. | Case Management |
INC-139074 | 587811 | Email handling security updated | XSS protections have been enhanced for email activities. | Case Management |
INC-135335 | 588510 | Parent flow next step will take precedence over sub-process | A Breadcrumb configured in the screen flow was not displaying at the last assignment when there were multiple embedded sub processes and the last assignment was called in a sub process. This was traced to the parent flow next step information not being passed due to the next step in the sub process being marked as an end shape. To resolve this, the pzFlowSteps7 html control has been updated to pass the parent flow's next step information in this situation. | Case Management |
INC-134709 SR-D98224 |
579438 580594 |
Updated endpoint XSS protection | XSS security has been updated for Endpoints in Display activities. | Case Management |
Cloud Services
There were no Resolved Issues for Cloud Services in 8.5.1
Conversational Channels
8.5.1 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-136264 | 582472 | Chatbot text starts scroll at top of answer | In order to present an improved interface for customers interfacing with chatbots, the code has been updated so that the recipient's chat scroll will remain at the top of an answer that would scroll off the screen. | Conversational Channels |
INC-139018 | 587715 | Rules updated to handle Outlook change that displayed multiple/duplicate email responses | In Pega Email Triage case, all the replies were displayed along with the original email body, meaning for each and every reply, Pega showed the original email body and duplicated the data. This was traced to an update made by Microsoft in the Selector function of Outlook Windows, and has been resolved by updating the rules 'PyExtractLatestReplyFromHTML' and 'pyRichTextEmailHistorySelector' to work with this change. | Conversational Channels |
Data Integration
8.5.1 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D62647 | 541465 | Input header value honored for the Content-Type | Some third-party applications were rejecting header properties (name & Content-Type) because the information was "Content-Disposition: form-data; name="PostData" and "Content-Type: application/json"" instead of the expected "Content-Disposition: form-data; name="json"" and "Content-Type: text/json". To resolve this, updates have been made to honor the input header value for the Content-Type from the rule form. If no value is supplied, the default "application/json" will be used. | Data Integration |
INC-132547 | 578397 | JSON data transform includes embedded pagelist elements | Creating a correct valid JSON stream from a page list containing an embedded pagelist failed to create the JSON elements of the embedded pagelist. This has been resolved by adding conditions to enfore the rest of isTopLevelPageList when appropriate. | Data Integration |
INC-134932 | 578544 | Timeout for node to join cluster increased and made configurable | Hazelcast timeouts were causing application restart failures. This was traced to a rare case scenario of heavy processing on the primary node causing the new node to not be able to join the cluster within the designated 5 minute threshold. To compensate for this, the default time to join has been increased to 9 minutes and a prconfig setting has been added to configure the time setting. | Data Integration |
INC-130055 | 578633 | Page Validation logging updated | In order to enhance troubleshooting, additional logging has been added to capture information for Page Validation failures. | Data Integration |
INC-134220 | 578711 | SelectedBranchIdentifier handling updated for REST Wizard | After creating a branch and running the Integration REST connector Wizard to add any REST end point, attempting to add an existing ruleset in the Integration layer worked as expected, but attempting to add the ruleset in the Data layer failed with the error "No Rulesets Available". Investigation traced this to a situation where pzDataPageDataSource was created after the declare expression that assigns the value of pySelectedBranchIdentifier, so its creation was not accounted for and led to pySelectedBranchIdentifier not being populated with the branch name. Without this, the existing rulesets could not be loaded. To resolve this, updates have been made to the handling of the pySelectedBranchIdentifier declare expression to ensure it is available for the REST Wizard to properly load the existing rulesets. | Data Integration |
INC-135764 | 579714 | Repository APIs optimized to process large number of files | When trying to delete 400K+ files in the attachments folder in a Pega Cloud Storage repository, the D_pxDelete API appeared to hang, though files were eventually deleted after an extended amount of time. The same API worked well when the folder had around 200 files in it. Previously, the D_pxDelete and D_pxListFiles APIs implementation did not consider the large scale inputs or outputs. This has been resolved by optimizing the performance of the recursiveDelete operation for S3 repositories. | Data Integration |
SR-D97738 | 580162 | 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-118760 | 580173 | Atmosphere updated to resolve request object recycle exception | The exception "java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade" was traced to a request object being recycled in Tomcat because of pooling. To resolve this, a fix was made in the Atmosphere open source library to ignore such exceptions. A new jar with version 2.4.5.8 has been uploaded to the repository and defaultVersionsByGradle has been updated with this version. | Data Integration |
INC-130265 | 580309 | XSS updates | Additonal XSS protections have been added to pyActivity processing and pzTransformAndRun. | Data Integration |
INC-121147 | 580394 | ContextMap cache handling updated to address reverse map corruption | An issue was seen with intermittent login failures. A network trace revealed indefinite 303 redirects happening during the attempted connection. If the access group was resaved under a new name, the login worked. This was traced to a thread issue in Java’s implementation of PBEKeySpec that caused the reverse ContextMap cache to become corrupted. To resolve this, the system has been updated to compare the access group from the reverse map and the access group passed for encryption (which will always be correct) and correct the map if necessary. | Data Integration |
INC-130793 | 580635 | Changed rounding mode notification from error to informational message | Pega server recycle was indicating there were errors even though Pega RULES had initiated successfully. This was traced to the default rounding mode message being categorized as system.err which caused it to appear as an error instead of as an informational message. This has been resolved by changing the logging to be system.out . | Data Integration |
INC-135823 | 580925 | Transient property passivation handling improved | Frequent "com.pega.pegarules.pub.PRRuntimeException" errors were seen in the production log file while working on the WO. This was traced to corruption in the blob caused by transient properties during passivation. To resolve this, corrections have been made to the handling for the transient property entries in the blob. | Data Integration |
INC-122072 | 581029 | Delay in writing DB template records resolved | After upgrade. a real-time event based campaign with an offer flow that used a DB template showed an excessive delay in updating the DB template. A queue entry related to "WriteOutboundAgent" was also showing as failed, and analysis of the logs showed that the transaction type was not being set. This was traced an exception during a regular close operation of the result set iterator: the API used to close the transaction contained code specific to PostgreSQL while the site was using Oracle. This has now been resolved. | Data Integration |
INC-131666 | 581066 | Oracle date handling issue resolved | For the specific date time 1900-01-01 00:00:00.00, the UI showed the date as 31/12/1899 10:55 PM. This has been resolved by inserting a fix from Oracle that addresses an issue with dates in the early 1900s. | Data Integration |
INC-125122 | 581255 | JMX authentication added | Support has been added for JMX authentication through user and password. | Data Integration |
INC-133270 | 581839 | Automatic agent restart added for temporary connection issues | An agent that was stopped due to an issue with the DB connection did not recover when the connection was reestablished. To resolve this, updates have been made that will handle an automatic restart of the agents when there are temporary connection issues. | Data Integration |
INC-134069 | 583024 | Added Kafka logging | In order to help diagnose issues encountered during Kafka background processing, additional logging has been added to QueueProcessorDatasetHandler. | Data Integration |
INC-132169 | 584759 | NativeSQL will use inline rule resolution for core components | After upgrade, nodes were going down with a heartbeat error. This was traced to issues with NativeSQL taking a very long time to generate queries due to the overhead in calling multiple complex functions to resolve rules. To correct this, updates have been made to resolve the standard set of functions used by core components inline in NativeSQL function resolution. | Data Integration |
INC-136019 | 584808 | EmailListener restart correctly reflects Inbox folder change | The Email Listener did not pick up a change in the INBOX folder name when the listener was restarted, but did when the server itself was restarted. This was due to the folder name being cached but not being included in the cache key: a cache change only occurs when the key of the cache changes. This meant that even after changing the folder name, the object was treated as 'not changed' and returned the older connection with older folderName. This has been resolved by adding the foldername to the cache key. | Data Integration |
INC-138649 | 585356 | Timezone retrieval performance enhancement | In order to improve performance and reduce a potential bottleneck for concurrent threads, PRDateTimeUtilsImpl has been updated to use a common GMT timezone object rather than getting the timezone for each operation for each function call. | Data Integration |
INC-130176 | 585372 | Removing PageList removes all cached pages | A previous change was made such that when removing a pageList property, its size is removed from the size-specific cache as well. A further enhancement has been made so that when a PageList is removed, the system will clear the pageCache of all cached pages in the PageList. | Data Integration |
INC-135359 | 587038 | CORS header configuration added for Stream tier | An enhancement has been added that allows setting the CORS header (Access-Control-Allow-Origin) to allow *.DOMAIN.com on Stream tier (/stream/view & /stream/click) calls by way of the setting /stream/httpHeaders . | Data Integration |
INC-139611 | 587599 | Timezone.getDefault function replaced for performance improvement | Blocking threads were seen around the GregorianCalendarFactory.clearObject(Object) function, leading to an adverse impact on the performance. TimeZone.getDefault() is a synchronized method call, and under high load this method caused contention when more date-related APIs were invoked. To resolve this, Timezone.getDefault() has been removed and the function has been assigned to a static variable used in the clearObject() API. |
Data Integration |
INC-140750 | 589925 | Resolved post-passivation login issue | An authentication error was seen when operators tried to log in again after passivation. This was traced to a corrupted BLOB, and has been resolved. | Data Integration |
INC-130886 | 590374 | Bad Stream error after passivation resolved | A "Bad Stream" error was seen when attempting to reassign a case to the Workbasket, and a save of the work object failed. This was caused by a corruption of the work object during passivation, and has been resolved. | Data Integration |
INC-142792 | 594499 | Modified thread data page cleanup | Some cases were becoming stuck at a particular stage and not proceeding further even though the task in the backend was complete. Investigation traced this to work done that removed declarative pages at the thread level to optimize performance while other clipboard pages were retained, and the issue has been resolved by deleting all thread data pages after every item processed by the agent. | Data Integration |
INC-141570 | 597845 | Performance improvement for first JVM with Oracle | After performing a fresh installation of Pega with Oracle DB, the first JVM was taking an excessive amount of time to come up, and logins were also very slow. This was caused by code that optimized node startup query performance by shipping completed assemblies for Oracle that are not recommended for use with newer Oracle versions (10 or newer). This has been resolved. | Data Integration |
Decision Management
8.5.1 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-126801 | 575960 | Improved cleanup for adm_response_meta_info | The adm_commitlog.adm_response_meta_info column family was growing, leading to gradual increase in CPU utilization on the ADM nodes over time. Investigation showed that the compaction on the adm_response_meta_info table was not being triggered by the ADM service, and the compaction did not remove rows that belonged to models that had been deleted. To resolve this, compaction of the adm_response_meta_info table has been moved from the ADM client nodes to the ADM service nodes, which will correctly trigger the compaction on a predefined schedule. The compaction logic has also been refactored to remove rows that belong to models that have been deleted. | Decision Management |
INC-136128 | 580227 | Data Transform added to support Kafka custom serialization/deserialization | Previously in a Kafka DataSet it was possible to either serialize or deserialize messages as mapped objects to JSON, or to implement some other mechanism to achieve the expected results. An enhancement has now been added to the Pega platform functionality: DataTransformSerde will be available to be used as custom serialization/deserialization mechanism in Kafka DataSet. | Decision Management |
INC-133728 | 583124 | Performance improvements for very heavy use of strategy decision logic | Updates have been made to improve memory performance for scenarios where a single request primary page had tens of thousands of pages under an embedded pagelist property and the decision logic involves a strategy running on all the pages in that page list. These include modifications to GetFramesSSA to create reusable frames under heavy load conditions that contain the information about all the primary pages that it has to iterate; if CallSsaProgram receives one of these special frames, it will use it invoke the program by repurposing it with a new primary page at each iteration. | Decision Management |
INC-136969 | 585546 | Section and Paragraph rule types added to Revision Manager | An enhancement has been made to add support for section and paragraph rule types in revision management. With this change, the sections and paragraph rule types can be added to overlay and can be added to change requests and modified. | Decision Management |
INC-138103 | 585639 | Enhancement added for node heartbeat recovery process | Nodes were not showing up in the admin portal even though they were up and running and could be seen in the pr_sys_statusnodes table. The exception "An exception was encountered while invoking the cluster membership listener callback" was seen. All nodes became visible again after multiple restarts. The root cause was traced back to a temporary database connectivity problem. The database itself was fine according to database monitoring reports, but a network problem, a slow database query, or another issue prevented Pega from establishing a connection for more than a minute. An enhancement has been made to resolve this: if a node becomes unhealthy due to the service registry missing due to a failed heartbeat, the heartbeat will try to recover after 60 seconds and keep trying every 30 seconds until it succeeds. | Decision Management |
INC-138037 | 586594 | Strategy handling updated for very large systems using IH summary | When a Strategy in a Real-time dataflow used IH Summary on a system with more than 5000 groups for one eventKey, the message "Error retrieving aggregates from Cassandra KVS" intermittently appeared. Investigation showed that if the number of result rows was greater than the FETCH_SIZE (set to 5000), it meant another read to Cassandra was required and an exception was generated. To resolve this, updates have been made so that instead of returning maps, the system will return iterators and change them to map on the calling thread. | Decision Management |
Low-Code Application Development
8.5.1 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-127392 | 574286 | Delegated Decision table rule grid loads in iFrame with SSO | The delegated decision table rule grid and checkout options were not displayed when launched from iFrame using SSO sign in. Without SSO, the delegated decision table grids were loading properly for the same Access group. The heart of this issue was that decision tables were using an older style of Designer Studio javascript which was not designed to be embedded in an iFrame due to issues related to Cross-Origin Resource Sharing (CORS). In order to support the usecase of the Pega end user portal/application being integrated to an external domain application using an iFrame, enhancements have been made to the necessary delegated rule function definitions. | Low-code App Development |
INC-129275 | 577016 | Resolved errors when refreshing test case | On refreshing any test case for decision tables, a "rule no longer exists" error appeared on screen and a pzRuleNotFound exception was generated for all testcases in tracer. This was traced to RUF lookup parameter handling in the pzGetFreshLabelForRUT decision table: because the RUF was not able to fetch the label and the caller step in an activity, it was ending with a fail status and generating the errors. This has been resolved by correcting the RUF calls in the decision table pzGetFreshLabelForRUT to ensure it has the correct parameters. | Low-code App Development |
INC-132517 | 578985 | Correct manager name retained for skill-based routing updates | In App Studio, having a manager update a team member's skills changed that team member's reporting Manager name (.pyReportTo) upon save. This was a use case where multiple operator IDs were required for the same person (name and email), so that using the report definition parameter 'BestOperatorValue' for the pzUpdateOperatorInfo activity caused an incorrect manager name to be set to the team member's operator ID. This has been resolved. | Low-code App Development |
INC-135095 | 581849 | Tracer toolbar shows correctly in IE | After upgrade, the developer toolbar for the tracer pop up was not visible in Internet Explorer. Investigation showed that IE was loading the correct elements, but they were not displaying due to recent updates made to prevent XSS vulnerabilities for the tracer. This has been resolved. | Low-code App Development |
INC-137709 | 584297 | New security role added to restrict access to development-specific classes | A new security role and related RAROs have been implemented to allow better security for end users on non-BAC systems. This restricts access to Rules and execution of activities on classes that are development-specific. | Low-code App Development |
INC-135266 | 584590 | XSS protections updated | XSS filtering has been added to IDs related to login. | Low-code App Development |
INC-128811 | 587213 | Operator created with save-as has correct application access | Creating an operator using Save As retained access to the applications of the original operator even if they were removed in the creation process. This was due to the saveAs operation of the Operator not retaining consistency between the records in the ValueList pyAccessGroupsAdditional and the page list pyaccessgroups_opid. To resolve this, the PreSaveAs of the Operator ID has been updated to maintain consistency in the records. | Low-code App Development |
Mobile
8.5.1 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-131961 | 571700 | Mobile app correctly determines online status after sleep | After not using the mobile device for some hours, the app was not recognizing that the device had become online again and continued to show the red 'offline' bar. Restoring network connectivity required logging off and relogging into the network. This was traced to a bug in Android webview which causes window.navigator.onLine to return as false after wakeup despite the connection being present. To resolve this, version 8.5.103 of PIMC (Pega Infinity Mobile Client) contains new native mechanisms which are exposed to the webview as plugins and that work completely independent of webview. | Mobile |
INC-130727 | 573340 | Resolved mobile app java.lang.OutOfMemoryError | After working with the mobile app for a period, logging in failed and the app crashed with java.lang.OutOfMemoryError exceptions. This was traced to each sync adding a new version of allow-list datapages to the client store which were not cleared, and has been resolved. | Mobile |
INC-134618 | 582776 | Corrected logic for deep pagelists on mobile | After completing a workorder in the mobile app, the synchronization failed intermittently with the error "fail: pyWorkPage - Validation failed: Errors Detected. Finish Assignment action failed as pyWorkPage has messages: Validation failed: Errors Detected. ... The page contains an undefined property: .pxUniqueElementID". This was traced to incorrect logic for handling deep pagelists, and has been resolved. | Mobile |
INC-137352 | 583664 | Mobile app improvements for poor connectivity conditions | When the mobile app was used in areas with poor data network connectivity, the screen was freezing or a number of sync errors were seen. Improvements have been made in the processing and wait conditions to smooth the functions when connectivity is intermittent. | Mobile |
INC-131991 INC-135159 |
583041 580675 |
Logic updated for deepMergeObj API | Issues with the embedded page values being removed when navigating from a flow action and inconsistent localization of labels and captions in a mobile app were traced to the deepMergeObj API; the logic for the API has been revised to ensure the pxObjClass property is not removed from embedded pages during the doSave function. | Mobile |
Project Delivery
8.5.1 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
SR-D88570 | 550104 | Cleanup script topic moved to Post-Upgrade steps in deployment documentation | The deployment guides have been updated to indicate that the cleanup script should only be run after the upgrade has been completed, as well as clarifying that this is only required if the clean up scripts have never been run previously. | Project Delivery |
SR-D85563 | 551684 | Dependencies of module.xml documentation update | Documentation has been updated to include specifics about adding a dependency in Microsoft JDBC Driver 6.0., under dependencies of module.xml. | Project Delivery |
Reporting
8.5.1 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-125641 | 573384 | Column Filter working with class join | When a class join was configured in the report definition and the report was edited to include new columns from the joined class, a "Filter condition invalid" error appeared in the tracer after adding a filter condition to a new column. This was only observed when the property added was a decimal property, and did not happen for a text property. The filter worked as expected after re-saving the property in the report definition in Designer Studio. This was traced to the data type being passed as "DECIMAL" for decimal fields, which did not match the logic used to set the filter value, and has been resolved. | Reporting |
INC-135719 | 580691 | Corrected reference exception for filter on a grid sourced from a parameterized report definition | An Invalid Reference Exception was thrown after attempting to apply a filter on a grid sourced from a parameterized report definition. This was traced to work done to allow cross-scripting filters to allow filters to contain special characters, and has been resolved. | Reporting |
INC-137009 | 581892 | Ad hoc reports saved successfully in private categories | After upgrade, an error was seen when attempting to save an ad hoc report in a private category. Saving in a public category worked as expected. This was traced to the Rule-Shortcut.Validate activity, which attempted to use the Rule-Shortcut's RuleSet to find the Rule-Category. To resolve the saving issue, the Rule-Shortcut.Validate activity has been updated to do an Obj-Open on the Category instead. | Reporting |
INC-137317 | 585402 | Security improved for searches | Authentication requirements have been added to activities associated with searching. | Reporting |
INC-131942 INC-136643 |
574321 583367 |
Orphaned CSS reference removed from DisplayReport harness | An intermittent invalid CSS error was appearing in the DisplayReport harness when an operation resulted in the regeneration of the harness content. This was traced to a reference to the workform_pyReportingSkin CSS, which was used in old reporting features and is not in use anymore. The reference has been removed to resolve this issue. | Reporting |
Security
8.5.1 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-134315 | 578366 | Resolved 400 error on second browser session | When accessing application URLs in two tabs of a browser window, logging into the second session was throwing a 400 invalid request. This has been resolved by adding specified activities to an allow list which will bypass URLObfuscation in un-authenticated mode. Non-listed activities will be processed using URLObfuscation if it is enabled. | Security |
INC-130500 | 580623 | XSS protections updated for authorization | XSS protections have been updated for various URLs associated with authorization. | Security |
INC-130145 | 582855 | Null checks added for the presence of roles and dependent roles | Frequent Null Pointer errors were being generated relating to SecurityAnalysisForSecurityAdministratorsTask.getCurrentSecurityTaskDetails(). Investigation showed that the Origin and Stack trace tabs were empty, leading to the obj-open of the role failing when the role was not available in the system being utilized. This has been resolved by adding a series of null checks for role existence and dependent roles existence. | Security |
INC-135849 | 582939 | Encrypted SOAP response token generation updated | After configuring a SOAP service that used signature and encryption on the response, the response being created was incorrect and could not be decrypted by the receiver. Investigation showed that the API used to generate the SOAP headers was not setting the wsse11:TokenType element, causing receivers which enforce BSP compliance to fail. This has been resolved by modifying the custom webservices-rt-pega2 jar to set the token type in the case of a response encryption policy. | Security |
INC-138354 | 584722 | Handling added for samesite cookies with httpOnly | After enabling samesite cookies on Chrome to support Mashup login, intermittent issues were seen with a non-mashup login where entering the OperatorID and password only resulted in a refresh of the login screen. This was traced to a scenario where an httponly cookie attribute was present along with samesite cookie attributes, and has been resolved by adding handling for a condition where samesite is set and httpOnly is enabled. | Security |
INC-139867 | 588757 | Additional security for encrypted passwords | Handling and cleanup has been updated for encrypted values to enhance security. | Security |
System Administration
8.5.1 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-130304 | 567923 | Retry logic added for downloading upgraded rules | A Rules upgrade failed while downloading applications from the maintenance server due to an SFTP server connection failure. This has been resolved by adding logic to retry if the first connection attempt fails. | System Administration |
User Experience
8.5.1 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-125341 | 560436 | JAWS reads the remaining character count in text input area | When using a JAWS reader with a textarea control, the remaining character count was not being read out as expected as text was added. This has been resolved by updating the textarea tag to add an aria-describedby charcount attribute. | User Experience |
INC-128890 | 565240 | Highlighting fixed for RTE with spellcheck | In a Rich Text Editor, after turning on spell check and performing some text highlight on certain words and then clicking save, the formatting of the styling format was being applied to the words after the highlighted word. This has been resolved by modifying the regex reSpellChk1 to remove the last span tag instead of the first. | User Experience |
INC-127658 | 568625 | Corrected 1 day discrepancy for non-template DateTime | Date values in DateTime controls in a custom filter section of a report definition were reduced by one day after drilling down into drilldown report and navigating back to the main report. Investigation showed that when the non-template version of datepicker was configured with a date property, it displayed the value using read-only formatting with allow text entry set to 'No'. This caused the operator time zone to be used to format the value while data-value used the default timezone(GMT). To resolve this, and update has been made so that while generating markup in non-template for the date property the default timezone will be used whereas the datetime property will use the server timezone. | User Experience |
INC-130153 | 570566 | Added handling for accessibility in SocialFilePath | After configuring pxFileUploadGadget with the controls 'pzFileNameText' and 'pzSocialFilePath', moving the focus from the first control to the second required two presses of the tab key. This was traced to pzSocialFilePath having an input with type file, which is used in the background but not shown in the UI. To resolve this, tabindex = -1 has been added for the input to facilitate the accessibility. | User Experience |
INC-127719 | 571778 | Text area count correct for special characters | The text area character count was showing negative numbers when using special characters. This was due to XSS encoding that caused the text length to be incremented by 4. To eliminate this, the text length will now be calculated before encoding. | User Experience |
INC-131523 | 573851 | Parameters to Property UI Field available in report | When using a parameterized control like Decimal for a property in the UI control of the Property rule with inputs given to the parameters, once the property was optimized and referred to in Report Definition, the value was rendered using the Control with parameters defined in its rule form. In the report, the column was not rendered as it is designed on the property rule, but the same worked as expected in a section. This behavior was a change after upgrade. This was traced to "pyPropertyName" being added to the stepPage as part of the pzMergeAutoGenForProp Activity, and has been resolved by adding it to the stepPage only when it is an auto-generated control. | User Experience |
INC-131774 | 577047 | Resolved focus for new s-case | After creating an s-case by using the keyboard, the focus jumped to add task instead of newly added s-case page. This was traced to the 'if' condition in focusFirstElement method becoming true for all touchable devices including desktop with touch enabled, causing the focus method on the first element to not be executed. This has been resolved by adding an additional conditional to check whether the device has touch enabled and is a mobile device. | User Experience |
INC-135098 | 578485 | Corrected paste/drag and drop upload with RTE | After upgrade, the CK Editor was not correctly adding the image when using cut and paste or drag and drop: only the image uploader button was working. This has been corrected by adding code to conditionally upload the image to the server while doing a paste in RTE control. | User Experience |
INC-128805 | 579164 | Timing corrected for modal dialog window height | When creating a modal dialog with text area inputs, the height style attribute of the text areas appeared to use the width of the previous modal dialog window. If a small modal dialog was opened and then a large one, the text areas in the latter were oversized. Creating the same dialog twice caused the text areas to return to the intended size. This was traced to a timing issue with updating the modal dialog height, and has been resolved by adding a delay of 300ms to ensure the window height is updated properly. | User Experience |
INC-135061 | 579540 | Save on modal close works as expected | After upgrade, a repeating dynamic layout with a modified modal dialogue template that had an added save button to it was not working as expected. This was traced to a change in the operations order for the modal save and close, and has been resolved. | User Experience |
INC-131225 | 579734 | Child cases correctly created on mobile app | After upgrade, creating a child case from the device generated the error "Failed to reset case type. Not starting optional process : undefined" when launching a "nestedRDL" case and clicking on the "CreateCase1" button on the top. This has been resolved by updating the harness action API to read the harness purpose from DOM instead of the harness context for the HC case. | User Experience |
INC-130790 | 580590 | Special character handling added to App Studio column headers | Changing the order of columns in App Studio was destroying the section, causing it to not be able to render unless it was restored. Investigation showed this was caused by an exception in the getIfPresent function due to the presence of special characters after a period (.) that were not considered valid identifiers. To resolve this, the GenerateCellContent RUF has been updated to better parse the property identifier of the column header value. | User Experience |
INC-133924 | 581345 | Table captions added for accessibility per HTML5 | In order to add Table captions for accessibility per HTML5 specifications, a new grid caption field has been introduced to add the caption to the table. When caption is specified, the summary attribute won't be generated. | User Experience |
INC-134319 | 581733 | Row banding matches on optimized and normal tables | Optimized table and normal tables had exactly opposite row banding defined. This was caused by the header row being inside the table body tag: the nth-child selector, used to apply row banding, considered the header row as well while applying even/odd row coloring. To resolve this, the nth-child selectors for odd and even rows have been reversed so that the color banding will be in sync between old and new grids. | User Experience |
INC-135594 | 581779 | Smart Tip displays correctly with double quotes | After configuring a Smart Tip action which used a selected field value as tip source, the double quotes in the tool tip caused it to not be displayed. This has been resolved by escaping double quotes when a field value is configured in Smart Tip. | User Experience |
INC-134920 | 582562 | Spanish localization fixed for available appointment date | For the Spanish locale, one of the values was not formatted correctly for one particular date format in the new appointment screen. For example, "lunes 6 de julio de 2020" was displayed correctly in the control but at runtime appeared as "lunes 6 61 julio 61 2020". This has been corrected by creating a placeholder for the text 'de' for the Spanish locale, and once the date is formatted the system will replace the placeholder with the original text. | User Experience |
INC-136518 | 582571 | Elapsed time available for an AJAX event duration | An enhancement has been added which will capture a start of queue event for an AJAX event. This can be added to the existing end of queue event information and be used to calculate the event duration via Pega Web Analytics. | User Experience |
INC-135906 | 582901 | Harness open handling added for tabs with apostrophes | A javascript fail resulted when attempting to open any harness with an apostrophe (') in the name. This was a missed use case, and has been resolved by updating the PegaCompositeGadgetMgr file with a check and appropriate handling. | User Experience |
INC-134018 | 583011 | XSS protections updated for Dynamic Tab group | Handling has been added to the Dynamic Tab group to protect against XSS. | User Experience |
INC-128970 | 583294 | Post value in grid works after clicking on modal submit | The row submit on the grid of the modal dialogue worked when the value was updated and there was a click outside the grid. However, when the value was auto-populated, after clicking on the submit and going back to edit the value in the grid, the row submit did not work. Investigation showed that when a modal was submitted with some server errors, the system replaced the DOM and a new grid is initialized: since some of the listeners related to grid are attached to body, on submit of modal with server errors, these old listeners were getting fired. To resolve this, a safe check has been added for modalDetailsDiv before accessing it in event listeners. | User Experience |
INC-136620 | 583782 | Log off timer localization corrected | Localization was not working correctly for the log off timer text “Timeout will occur in”. This has been corrected. | User Experience |
INC-135554 | 584117 | Handling added for displaying very long case ID in Cosmos | Case ID and case type were overlapping in the user portal when using Cosmos. This was caused by a case ID that was long enough to cause a line break, and was due to a height being set on the Case ID area. To resolve this, updates have been made which will truncate the display of an over-length Case ID and add ellipses when the text is too long. | User Experience |
INC-129984 | 584552 | Templated Sections render on first open when no height given | When opening a section rule based on a template (like pyCaseMainInner), the contents did not load on first open. A browser refresh and/or rule refresh caused the contents in the section to appear. This was traced to a logic skip introduced as a resolution for the live preview being jumpy when changing between tabs, which did not take into account the initial load of the preview when it has no height. To resolve this, an update has been made to triggerReflow in the pzpega_ui_dynamiccontainer js to use an 'or' condition for resetting the height if live preview is not being used. | User Experience |
INC-137324 | 584917 | Corrected tabbing focus when modal flow has 'disable when' | While tabbing through the modal dialog, focus moved to the background screen if there were custom flow action buttons that had a 'disable when' condition. This was caused by the last focusable element being a disabled element, and has been resolved by adding a disabled check in the getLastFocusableElement method that will determine whether element is disabled, and if so it will look for other elements as disabled elements can't be focused. | User Experience |
INC-134634 | 584946 | FSM Mobile app correctly starts phone call after closing Google | When two controls were configured in the FSM Mobile app, one for Get Directions and one to handle a phone call, clicking on the phone call control worked correctly when it was used first, but clicking on the Get Directions control and opening and closing Google Maps before clicking on the Phone call control caused the phone call control to not work. Investigation showed that after the Get Directions control was used, the # in the href attribute was automatically prepended with window.location. To resolve this, a check has been added that will compare the attribute with the completely formed {URL}# so that entire window.location will not be prepended. | User Experience |
INC-132771 | 584961 | Refresh section of MultiSelect properly handles refresh section | On hitting tab or enter on a Multiselect control with "Post value" and "Refresh Section" enabled, focus moved to the header of the page when it refreshed. This has been resolved by updating the 'disable when' expression for "run on client" to better handle the input element used for enabling the controls. | User Experience |
INC-137276 | 585298 | Arrow key navigation updates for layout grid tabs | When a layout grid was configured as Tab mode, the up and down arrows allowed navigation between tabs. This has been modified to meet W3 standards of using left/right arrow keys to navigate between tabs and up/down arrow keys to scroll the page. | User Experience |
INC-137736 | 585510 | Timing issue resolved for modal animation | A modal dialog configured with Reveal Animation appeared first without the animation and then disappeared, immediately followed by the animated modal dialog. This was traced to a set timeout that caused the modal to render before the animation, and has been resolved by removing the set timeout. | User Experience |
INC-136793 | 585603 | Updates made to display busy indicator correctly in Chrome 84 | The Pega busy indicator was not displaying correctly in Chrome 84 due to changes in that browser. The needed updates have been made to adjust for these changes. | User Experience |
INC-137691 | 585769 | Aria label added to support description of tab groups | When using layout group - tab, the screen reader would immediately read the first tab; there was no information about the tab group itself. To support giving a description of the purpose of the upcoming tabs, Layoutgroup and DLG now have a design time descriptor to configure an aria-label which will be used to announce the purpose of the Layoutgroup ahead of reading the first tab. | User Experience |
INC-132670 | 585774 | JAWS reads optimized table rows correctly | When using JAWS2020 on Chrome on a PegaWAI enabled application and traversing an optimized table using Table shortcuts, the first row of the table was never read, and columns were read with the headers, but with unnecessary verbiage. For example, if column "Name" had an entry "Adam", JAWS read out "Name press enter to sort , Adam" instead of just "Name Adam". JAWS reads the data columns based on aria-rowindex: because it treated the header as the first row, it directly went to the row with aria-rowindex 2. In the second issue, the complete header group was read by JAWS because there was no aria-label. These have been resolved by modifying the aria-rowindex attribute for first data row accessibility by JAWS, and aria-label has added to the header group to restrict what is read out while navigating across the data columns. | User Experience |
INC-133944 | 586016 | Future DateTime Property picks operator timezone | When selecting the DateTime in a property field configured to accept future data input, the input failed validation due to the DateTime field being compared with the System time zone (IST instead of the operator time zone. This has been resolved by adding a condition to honor the operator timezone in isFutureDate validation, and to fall back to the browser timezone if necessary. | User Experience |
INC-136057 | 587164 | Modal dialog close for date/time works as expected | When a date/time property was used in a modal screenflow in Chrome, changing the date property on the pop up calendar and then clicking the modal close caused the screen to freeze. This was caused by the plf.handleModalClose() being called a second time for a container close event that was not available in window.event. This has been resolved. | User Experience |
INC-134893 | 587169 | Added check for localeDb properties in dateTimeUtils | On click of the Approval/Finish assignment submit button, a blank screen appeared and no further progress could be made. This was traced to an issue with the operator locale not being properly set by the html fragments that initialize the locale for use in dateTimeUtils. This has been resolved by adding a check for properties in the localeDb object. | User Experience |
INC-137168 | 588708 | Documentation updated for Ajax container refresh | The documentation for adding an Ajax container has been updated to reflect the proper configuration for adding a refresh within the container. | User Experience |
INC-140289 | 589003 | Check added to preserve clipboard pages for pop-up | Many properties were missing in the clipboard after launching an ImageViewer. This was traced to the clipboard pages being deleted in the pop-up mode, and has been resolved by adding a check to not delete pages in case of pop-up opened from top navigation case. | User Experience |
INC-138886 | 589300 | Animated modals correctly trigger refresh conditions | In the client application, a list of tasks can be selected by the user to act on. Clicking on any action opens a modal to work on the task. Once that task is complete, the modal is closed automatically, and the task list is updated to show the next task. The task list section has a refresh condition that triggers when D_Reload.pxUpdateDateTime changes (that timestamp is updated when a task is completed inside the modal). However, after upgrade the task list was no longer updating correctly. This was traced to the animation being performed as an asynchronous task: by the time it was executed, the dom element was not present and the refresh section was not getting triggered. This has been resolved. | User Experience |
INC-134891 | 589869 | Logoff set to use root context | The thread name was changing from Standard to DSCPA_DemoStudio on click of log-off, resulting in unexpected behavior if the user logged in again. To resolve this, an update has been made to trigger logoff in root context. | User Experience |
INC-129848 INC-133637 |
580459 581342 |
Refresh handling added for cancel 'add item' while offline | When using iPad and iPhone offline, filling in one required field, hitting submit (click action: 'Add item') without filling in a second required field, and then hitting cancel resulted in a blank record being added. Clicking the cancel button first without clicking submit before did not add the item. This was traced to the underlying repeating dynamic layer being refreshed during the submit and adding the record, and has been resolved by adding a refresh for the cancel button process as well. | User Experience |