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.4.3 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
D71475 | 538722 | Check added to apply values of newAssignPage.pxFormName | After upgrade, trying to open existing assignments resulted in a different harness being opened. This was traced to changes in how the property newAssignPage.pxFormName was used, and has been resolved by checking whether the harnesspurpose is dynamic before setting the pxFormName. The PopulateFlowActions FUA function has been modified to check for parameter value and set it to pxformname only if it is not empty. If formname is already present, the system will proceed with picking the harness from the shape. | Case Management |
INC-128193 | 575948 | 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-129443 | 582611 | 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 | 583954 | 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-133615 | 581398 | 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-134113 | 591540 | Child case locking error message has correct parameter | A locking error message was appearing without the case parameter, showing "Error Message : Could not lock the cover ; has it. Please wait and try again later." This was traced to the cover already being present, causing the step to open the Cover Object to fail. To resolve this, and update has been added to pass the Cover case ID to the field value. | Case Management |
INC-134912 | 581325 | 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-135161 | 580935 | 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 Microsoft Internet Explorer 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-135335 | 588509 | 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-135751 | 587286 | 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 null-pointer exception. This has been resolved by adding a null check to cover pyInclude in an embedded section. | Case Management |
INC-136206 | 584326 | 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 | 585225 | Case history filter added for manual instantiation of Child Case | After upgrade from Pega 7.4 to Pega 8.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-136327 | 591465 | Stage keeps proper order placement on restart | When a user restarted a stage, the stage moved to the end of the list of stages and stayed there even when completed. Investigation showed that when pxRestartStage was configured as a post-processing activity for a flow action, pxStageHistory was updated with a new list item which considered pxCameFrom and pxStageId as the same. Due to this, the current stage was moved to last in the chevron. This has been resolved by adding a new 'when' condition to pzLoadStageStatusDP that will skip the item of pxStageHistory (Alternate stage) if both .pxCameFrom and .pxStageId are same. | Case Management |
INC-139074 | 587810 | Email handling security updated | Cross-site scripting protections have been enhanced for email activities. | Case Management |
INC-141751 | 596134 | DragAndDrop attaching large file properly disables 'X' | When a large file was attached using the DragAndDrop feature, the 'X' icon/button was not disabled. This made it possible to click 'X' and perform other actions during the upload, which caused the screen to freeze and required a browser refresh to continue the work. This was traced to incomplete work done on large file uploads, and has been resolved by ensuring the busy Indicator shown will be applied to the complete screen to avoid any other actions being performed. | Case Management |
INC-143861 | 597555 | pzIsScalar 'when' rule updated for Value list and Value group | When using the GET/Cases/{ID} API to fetch details about a case, an intermittent HTTP 500 error appeared. This was traced to the 'when' condition pzIsScalar being returned as true for the ValueList property types and trying to set the value on the summaryData embedded page. This has been resolved by updating the pzIsScalar 'when' rule to better handle Value list and Value group. | Case Management |
SR-D77719 | 569771 | 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 |
Cloud Services
There were no Resolved Issues for Cloud Services in 8.4.3
Conversational Channels
8.4.3 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-129764 | 577934 | Interaction case closing updated | Utility nodes were reporting the error "Unable to close interaction case WORK-CHANNEL-INTERACTION - XXXXX." This was caused by the pxCloseExpiredInteractions activity used in ProcessEngine agent throwing a null pointer error when the Data-Channel-User has reference to a deleted interaction case. The handling for CloseExpiredInteractions has been updated to resolve this issue. | Conversational Channels |
INC-133026 | 578278 | Updated Pulse email attachment handling | After updating from 8.3.2 to 8.3.3, the Audit Trail displayed the entire contents of an email. In some instances, attaching a .txt file caused the file extension to be displayed twice. This was due to pyNote being used to create email file posts, and has been resolved by updating the implementation to use pyEmail instead of pyNote. Backward compatibility has been ensured by still considering pyNote for older emails and changing when emails open. | Conversational channels |
INC-136264 | 582470 | 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 | 587714 | 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.4.3 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-118760 | 580172 | 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-121480 | 595822 | EnableRedirects property added for REST connections | When implementing a connector with the header “Location” which contains a redirect URI, a 303 response code was expected. Instead, a 400 or 404 error was generated. It was not possible for developers to process the code per their logic in Activity as Connect REST processed 303 responses automatically - i.e. there was no intercept points to implement the suggested approach. To resolve this, the new property "Rule-Connect-REST.pyEnableRedirects" has been added along with a checkbox for the property in "Rule-Connect-REST.pyService" in "Connection" section. Logic has been added in RESTConnector.java to take value of this property and set it on the HTTPClient being used, and a method has been added to HTTPClient interface and ComponentsHTTPClient to use the new value being passed. The default behavior is the same for the REST Connector, but a client can uncheck a checkbox on the REST Connector ruleform to stop the HTTP client from automatically following any compatible 3xx responses. | Data Integration |
INC-122072 | 581028 | Delay in writing database template records resolved | After upgrade. a real-time event based campaign with an offer flow that used a database template showed an excessive delay in updating the database 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-125122 | 581254 | JMX authentication added | Support has been added for JMX authentication through user and password. | Data integration |
INC-127420 | 568442 | Requestor details shown in Pr_perf_stats table | When using a Custom table with the requestor details inserted in the ApplicationSetup activity, comparing the passivated requestors from out-of-the-box table Pr_perf_stats showed that sometimes requestor details were not present in table Pr_perf_stats. This was traced to the the column value for out-of-the-box table being greater than the column value for the columns pxDecryptCount, pxDecryptCPU, pxDecryptElapsed, pxEncryptElapsed, pxEncryptCPU, and pxEncryptCount. Database numeric column size is (9,6) whereas other numeric columns have size (18,6). To resolve this, the table scripts have been modified to increase the column size from (9,6) to (18,6). | Data Integration |
INC-128250 INC-137235 |
571242 586078 |
Validations and rules tuning | Issues relating to an extra row being added to auto-populated properties, adding a 'when' visibility to a picklist property, and errors saving nested properties have been resolved, and performance of the overall system has been improved. | Data Integration |
INC-128470 | 580585 | Additional BIX logging added | In order to improve the ability to trace and resolve issues related to BIX extract rule failures, additional diagnostic logging has been added. | Data Integration |
INC-128800 | 592821 | Additional DSS added to handle Apache client-level timeout | In Connector rule, the system timed out a connection after 1 hour even after a connection time timeout was configured to be 30 seconds. Apache's refactoring of their HTTPClient in version 4.3 specifies request timeouts in two ways: on the client-level and on the request-level. Client-level timeouts are enforced prior to and during the handshake, whereas request-level timeouts are enforced after the handshake has been made. Previously, RESTConnector.java and ComponentsHTTPClient.java were configured to only set the user-specified timeout on the request, and not on the client. This caused the client-level timeout to default to "0", or an infinite amount of time. In this reported issue, the remote host closed the connection before the handshake had been completed so the connection remained open for several hours. To resolve this, the DSS "ClientLevelHTTPTimeout" has been added to allow specifying a client-level socket timeout, and ComponentsHTTPClient.java and RESTConnector.java have been amended to assign this value to the client. This DSS is set to 0 by default to preserve backwards compatibility. | Data integration |
INC-129533 | 576663 | 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. | Data integration |
INC-130055 | 578632 | Page Validation logging updated | In order to enhance troubleshooting, additional logging has been added to capture information for Page Validation failures. | Data integration |
INC-130176 | 585371 | 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-130886 | 590373 | 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-132547 | 578398 | 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-134069 | 583022 | Added Kafka logging | In order to help diagnose issues encountered during Kafka background processing, additional logging has been added to QueueProcessorDatasetHandler. | Data integration |
INC-134143 | 594196 | Export URL encryption update for BAC | After applying URL Encryption and URL obfuscation DSS changes, the export option was not working from data types. This was traced to the URL being decrypted as part of the standard handling: If BAC is turned on, it accepts only encrypted URLs. To resolve this, an update has been made to ensure the URL remains encrypted in the declare expression when appropriate. | Data Integration |
INC-134220 | 578710 | 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-134260 | 588364 | Tomcat-dbcp upgrade | Tomcat-dbcp has been upgraded to version 9.0.37 . | Data Integration |
INC-134932 | 578545 | 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-135313 | 596096 | Correct circumstanced version of portal loads | Desktop users were seeing the mobile circumstanced version on the application portal immediately upon login. This was a missed use case for a user logging into a mobile portal first and then into a desktop, caused by data between the two sessions being shared in an invalid way. This has been resolved by updating the save work in progress feature to prevent UI data from being shared between mobile and desktop. | Data Integration |
INC-135359 | 587037 | 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-135611 | 584891 | Locking improvements for JDBC Connection Manager | JDBC Connection Manager may cause database connectivity issues for a prolonged period if one of the Data-Admin-DB-Name records is misconfigured. Initializing the data source for DB-Name causes JdbcConnectionManager to acquire a global write lock, which was resulting in all JdbcConnectionManager.get requests waiting during data source initialization even if the get was for a different DB-Name. To assist with this issue, improved locking has been added in JDBC connection manager. | Data Integration |
INC-135764 | 579713 | 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 |
INC-135823 | 580924 | 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-136019 INC-136019 |
584807 590755 |
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-136708 | 584866 | Query String Parameter handling updated for REST service | Technical parameters starting with underscore, such as _pageNum, _pageSize, and _last_modified that were used as Query String Parameters in a Service-REST caused it to fail with the error "failed:Inbound data mapping failed". This was caused by the system considering the parameter names as invalid. To resolve this, the design time and validation handling has been updated for the query string parameter. | Data Integration |
INC-137974 | 589841 | Option switches for editable/read-only updated for custom data types | After upgrade, issues were seen with entering custom Date Format during a CSV file upload into Data Types. This was traced to a refresh condition that was not triggered properly, causing the control to be read-only. To resolve this, the control has been changed from a switched option to using two different controls for the switch, one for editable and another for read-only. | Data Integration |
INC-138649 | 585355 | 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-139106 | 593270 | HTML Tags stripped from text email body | The Service Email message data section was showing HTML tags in the email message body for both 'prefer-HTML' and 'prefer-inline' where the body was missing. Investigation showed there was no default feature for segregating the markup tags and providing the plain text when ‘HTML’ format was selected in Outlook. This has been resolved by adding a Prefer: outlook.body-content-type="text" header to get the message without HTML tags. | Data Integration |
INC-139611 | 587598 | 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-139619 INC-140879 |
597332 596569 |
Agent tracing handling updated | When attempting to trace agents the error "Unable to trace the agent" appeared on screen. Investigation showed that the data page used by the Tracer was not always available in a thread that was displaying the section, most commonly if the section was using deferred loading. This has been resolved by using a data page available in a thread that opens a Tracer's section. | Data integration |
INC-139626 | 592391 | Enhancement added to fix corrupted operators | After upgrade, an issues were seen with older operator IDs: it was not able to save the operator ID, switching the portal to admin studio was not working correctly, and it was not possible to launch the case manager portal with the migrated operator IDs. The issues were not seen with operators created after the upgrade. This was traced to corruption in the BLOB, and has been resolved by adding an enhancement to run a utility that will fix the existing corrupted operators. | Data Integration |
INC-139695 | 593082 | Mountain timezone format updated | If an operator was created with any calendar instance timezone mapped to "Canada/Mountain" and made unavailable for the current period, routing an assignment to that operator using the standard ToCurrentOperator activity resulted in a null pointer error when the Rule-Utility-Function was executed to find a substitute operator. This was traced to the timezone format Input to DateTimeUtils API (parseDateTimeString) having the wrong timezone, for example, 20200819T080000.000 MDT (CA), and has been resolved by modifying the locale XMLs to remove (CA) from zone code so that MDT (CA) is updated as MDT. | Data Integration |
INC-139802 | 594030 | Extra logging and more resiliency for cleanup daemons | Null pointer exceptions thrown by daemon threads that clean requestors and handle agent changes can result in a high number inactive requestors. Additional logging has been out into place to help capture information to identify the offending data, and master daemons for requestors and for new agents have been made more resilient to any null-pointer exception thrown by the diagnostics code so they do not stop their work. | Data Integration |
INC-139810 | 592833 | New Rule-Utility-Function added to allow customizing filename formatting in repository | When using S3 as file storage, uploading a file with a name such as "sample.tar.gz" resulted in the file name in the repository being formatted as "sample.tar_<CASEID>.gz" instead of the expected "sample_<caseID>.tar.gz". This was caused by the handling in pzSaveToRepository, which was meant to include the CaseID for the customer use case of same-name attachments on every instance of a case. In order to handle attachments with multiple file extensions such as "<FILE_NAME>.tar.gz", the logic for the fileName formatting has been moved from pzSaveToRepository to the new Rule-Utility-Function pyFormatAttachmentName so that is is possible to override and customize the behavior. | Data Integration |
INC-140750 | 589924 | 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-141570 | 597843 | Performance improvement for first JVM with Oracle | After performing a fresh installation of Pega with Oracle database, 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 |
INC-141570 | 598498 | Performance improvements for first JVM start and login | First JVM start and first log in were taking a long time with Oracle DB. To resolve this, several updates have been made to optimize performance. | Data Integration |
INC-142792 | 594500 | 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 |
SR-D84768 | 551051 | Updated log message for invalid email Content-Disposition value | In order to improve logging communications, if the EmailListener aborts the processing of an email when that email has an invalid value for the Content-Disposition header for an attachment, the log message displayed will indicate "Message has a part that has invalid Content-Disposition." | Data integration |
SR-D97738 | 580161 | 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 |
Decision Management
8.4.3 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-126801 INC-128342 |
575962 594183 |
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-133728 | 583123 | 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-136128 | 580226 | 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-136634 | 591677 | Thread contention resolved for InteractionHistoryQuery | High thread contention was observed while running Inbound load tests. This was traced to pzLoadInteractionHistory invoking a generated strategy to retrieve ihFields from InteractionHistoryQuery using the getUsedInteractionHistoryFields() method: because this method is synchronized, it caused a bottleneck. To resolve this, the synchronized methods have been replaced with the appropriate data structures. | Decision Management |
INC-137255 | 584907 | Resolved Cassandra query read/write latency | Read/write latency was seen when certain Cassandra queries were triggered by the system. This was traced to an unusual case where a flush was not done for an exceptionally long time period, and has been resolved. | Decision Management |
INC-137387 | 595959 | Error Handler improvements | When running NFT test, a large number of calls failed due to the error "Exception java.lang.IllegalArgumentException: Cannot register error handler twice with key". Logs showed multiple entries for the error "Timed out borrowing service requestor from requestor pool for service package". This was traced to a use case where the single case error handler registration could throw exceptions: It is important that only one single error handler is used per single case runs to ensure errors are not lost, and in this case many single case run requests were running at the same time for new runs. To resolve this, improvements have been made to the Single case Exception handler to register the instance of an Error Handler to a particular single case key only once, and the Error Handler will only be generated if it is not already present in the Hashmap. | Decision Management |
INC-138037 | 586592 | 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 |
INC-138103 INC-139371 INC-141579 INC-142674 |
585638 588234 591849 594494 |
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-138239 | 596358 | Logic handling updated to synchronize changes made in decisioning | If the order of the Engagement policy criteria from NBA designer was changed, there were logic differences between the Engagement policy and the proposition filter criteria. This has been resolved by updating the logic handling to ensure they remain in sync. | Decision Management |
INC-139566 | 591281 | Updates to clear Utility node memory issues | Utility nodes were going down with an Out Of Memory exception within 2-3 minutes of node restart. Investigation of the heap dump and blocking queries suggested that the issue was related to custom dataflows which held over 3 GB of character data in the pxErrorStream column of the "pr_data_decision_df_part" table. To resolve this, improvements have been made that will clear the errorStacktrace and errorMessage partitions, handle exceptions when DataFlow.Stream instance and a StreamServer instance on the same node conflict on initializing and registering a node, and clear the dataflow flush file. |
Decision Management |
INC-140160 | 597035 | NLP model update reflected on utility nodes | After training models on a web node, model updates were not reflected in the email listeners running on the utility nodes. This was traced to the implementation of the model storage using obj-save, which does not propagate the static content on nodes apart from where it was saved. To resolve this, the implementation has been updated to use WBSave which clears static content on all the nodes. | Decision Management |
INC-142118 | 597312 | Data Migration Import/Export made more resilient | The entire data migration operation (export or import) was marked as "FAILED" even if the operation failed for just one type of data. While managing the failure, the operation deleted any completed data flow runs as part of the clean-up and only retained the failed data flow runs for use in further analysis. Because the queued runs could not be deleted, the data migration case became a broken process. At the root of the issue, the data export work item was failing due to one or more DSM service nodes being non-functional based on a validation failure in the case type that runs a check for the presence of functional DSM nodes before starting the data migration operation. This validation can return false negatives, especially on Cloud where the nodes are usually swapped seamlessly without the function realizing it. In such cases, the validation function returned false despite the DSM service nodes being up and running. This has been resolved by adding handling for the failed data migration case by stopping and deleting the open data flows and by disabling the validation which checks for functional nodes. | Decision Management |
INC-142216 | 596666 | VBD performance improvements | Performance issues were seen when running a decision funnel simulation. As part of the simulation, a VBD collection was created on the fly to store the metrics and linked to the simulation. Before each insert, which happened in batches of 500 records, there was a check if such collection exists. This check was required in earlier versions as the process relied on the VBD service being running, and the run would fail otherwise. Recently, VBD handling became more resilient and was updated to allow inserts even if the VBD server is down. If the VBD service is stopped before the simulation is completed, the simulation will continue writing records. When the VBD service starts again, it reads the backlog, and the simulation displays the final results. To adapt to this resiliency and improve performance, the system has been updated so that the VBD collection is not created and checked before the insert call, but only when the simulation is run or scheduled. | Decision Management |
Low-Code Application Development
8.4.3 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-127392 | 574288 | 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-128811 | 569283 | 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 |
INC-129275 | 577018 | 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 Rule-Utility-Function lookup parameter handling in the pzGetFreshLabelForRUT decision table: because the Rule-Utility-Function 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 Rule-Utility-Function calls in the decision table pzGetFreshLabelForRUT to ensure it has the correct parameters. | Low-code app development |
INC-132517 | 578984 | 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 | 581847 | 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 Microsoft Internet Explorer was loading the correct elements, but they were not displaying due to recent updates made to prevent Cross-site scripting vulnerabilities for the tracer. This has been resolved. | Low-code app development |
INC-136186 | 592967 | JAWS reads the name of the field/instructions | JAWS was not reading the name of the field/instructions in a work group. This has been corrected. | Low-code app development |
INC-136187 | 596092 | Mask hidden as expected in small window/tablet view with Dragon | When using Dragon in a small window/tablet view, the mask was not getting removed as expected. Performing a mouse click on the tab was successful for hiding it. To resolve this, Data-portal!pzProfileMenu has been modified to run the script removeScreenLayoutMask after clicking Profile, Preferences, Operator, Access Group, and My Favorites > Edit . | Low-code app development |
INC-136969 | 585545 | 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. | Low-code app development |
INC-139337 | 595220 | RefreshRequestors security update | Security improvements have been added for RefreshRequestors. | Low-code app development |
INC-140272 | 595251 | Report definition performance improvement | Performance issues were seen with the pzOperatorsByWorkGroup report definition. This was traced to the report definition is adding an UPPER function for edit filter properties which caused it to take more time to run when combined with an ignore case check in the filters of the Report Definition. This has been corrected. | Low-code app development |
INC-141296 | 592471 | Log-access security updated | Access control has been updated for Log-Usage class. | Low-code app development |
Mobile
8.4.3 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-131592 | 583436 | Jsoniter parser upgraded | After upgrade, the pxTextinput property Prompt List was being converted into decimal upon clicking finish assignment. This was traced to the jsoniter parser, and has been resolved by upgrading the parser in the jsoniter library. | Mobile |
INC-131961 | 571701 | 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-131991 INC-135159 |
583039 580674 |
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 |
INC-133301 | 580678 | Resolved authorization request errors on mobile | After upgrading and rebuilding the APK with the HC Client Version – 7.41.8-SNAPSHOT, numerous "PYREDIRECTAUTHORIZATIONREQUEST" alerts during mobile interactions caused system performance issues. This was traced to a change in the handling for OAuth2 tokens and related to missing pyClientID column in the database table which forced the system to read all records from the table, and has been resolved. | Mobile |
INC-134497 | 578361 | Corrected mobile data transform format handling | An intermittent issue was seen in the mobile app where data was not propagated properly because a Data Transform failed. The error "Failed to run data transform dmg_fs_work_task_plannedtask_settaskdetailsfromparent TypeError: sourceProperty.getValue is not a function" was generated. This was traced to a difference in the generated data transform format where a success scenario considered “Problem” as a page, whereas a failure case considered the “Problem” as a property and the getValue() operation failed. This has been resolved. | Mobile |
INC-134618 | 582774 | 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-135720 | 594792 | Case link shows in Social messages for the old cases | After upgrade from v7, the case link was not visible for the cases that were created in the old platform version. In Pega 7.1.7, metadata was stored in .pyPrivacyContextor while the later versions are using .pxContextType for Case type to show the related data. To resolve this, new properties have been implemented to hold the Case ID link. | Mobile |
INC-136768 | 588449 | Question Wizard import will downcase answer types to match system requirements | The Question Upload wizard would not create a File type question while using a survey template. The template has a column Answer mode in which accepts an input of the type of answer expected, but in this use case "File" was given instead of "file", resulting in the question being created using the default values. To resolve this, during the import process when the system parses the file and gets the contents from the data using the pzSetdefaultValuesforQuestions DT, mode values will be explicitly set to lowercase. | Mobile |
INC-138954 | 591837 | PEGA0042 alerts resolved for unneeded mobile app authorization | Many PEGA0042 alerts were seen related to the pegadata.pr_data_admin table and the processing for the pzGetMobileAppConfiguration activity. Analysis showed that some code for generating the OAuth2 client secret is not needed in PRPC 8.2/HC7 7.41.x because authorization_code type is used by default. To resolve these errors, all code responsible for regenerating client secret has been removed from the pzGetMobileAppConfiguration HTML rule. | Mobile |
INC-139678 | 589048 | Cancel button added to reset stuck mobile downloads | Occasionally a mobile download would become stuck from an undetermined reason and cause the UI to freeze without a means to reset or cancel. To assist in recovery, a "Cancel" button will now be visible during the downloading process for a mobile app in mobile channel. | Mobile |
INC-140725 | 597472 | Custom question parameters visible in survey | When opening an individual question in the custom question section of a survey, the parameters passed were visible in the Answer tab but not when clicking on the getParams link in the right-side panel. This has been resolved by updating the pzSetRuleAndPropValuesForQuestion activity to copy section params from the question rule and call GetSectionParamsToPrompt to get latest parameters data. | Mobile |
Project Delivery
There were no Resolved Issues for Project Delivery in 8.4.3
Reporting
8.4.3 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-118918 | 562155 | Table Pagination elipses display properly for more than 10 pages | When a table layout was configured with a report definition as the Data Source, the Pagination format in the grid header properly showed 'Page 1,2,3 ...' if there were fewer than 10 pages, but if there were more than 10 pages the '...' (elipses) were not appearing. This has been corrected. | Reporting |
INC-126942 INC-139295 |
583397 588137 |
Report Shortcuts resolve datapage parameter references | After upgrade, no results were displayed in case manager portal report browser. This was traced to a data page value that was not resolved at runtime when a data page was used in the report definition shortcut to pass a parameter value. Investigation showed this was due to a change made for v8.4 to correct an issue with data page variables that were not persisting if a report was made with pre-exisiting filters. To resolve this, the logic related to pzResolveCopyFilters has been updated. | Reporting |
INC-128880 | 592814 | Handling added for angle brackets in legacy Chart control | When using Investigative Case Management, some report charts were not rendering correctly. This has been resolved by updating appendFormattedString in AbstractJsonDataGenerator.java to escape angled brackets (< and >) before appending the input. | Reporting |
INC-128899 | 578021 | Resolved BIX Extract Summary Status Count mismatch | A mismatch was seen between the summary of the Extract Summary Status Count in the Execution History stats versus the logs, for example the execution history saying 98.74% completed while the log says 100% or 100.45% completed. Investigation showed there was mismatch in the query based on the filter value given in the extract rule and the where clause in the query that resulted in an error in calculating percentage in case of any exception. This has been resolved. | Reporting |
INC-131942 INC-136643 |
574324 583365 |
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 |
INC-132169 | 584758 | 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. | Reporting |
INC-135719 | 581380 | 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 | 581891 | 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 | 585401 | Security improved for searches | Authentication requirements have been added to activities associated with searching. | Reporting |
INC-139130 | 591859 | Tab Headers accessible in Report Filter with keyboard | Tab Headers such as "Available Values" were not accessible with a keyboard in the modal to select values for Report Filters. Instead, the focus marker directly shifted to content and toggling between Tabs was not possible. Investigation showed that at runtime for report definitions, the value for prevElement was null, which threw an error and caused the rest of the function to not run. This has been corrected by adding null checks for prevElement and newElement in the function tabClickCallback in the pega_report_events js file. | Reporting |
INC-141322 | 594511 | Resolved drill up doubling the filter box | When opening a report with a visual graph, clicking on one of the filtered options, leaving this box open (not submitting it) and then clicking on a bar in the visual graph of the report showed the contents of the graph, but then clicking on the report link to go back to the report overview caused a doubled filter box to be displayed. The report would then have to be reopened before being able to continue. The problem was that the value of .pyUI.pyConfigSecToShow was still set to "filter" after the drill down. When the drill back up happened, the report was trying to show the filter configuration section from before but the context was no longer available and it failed. This has been resolved by adding a call to pzCancelFilterLogicChanges in pzDrillUpReport to set the filters to the previous values and reset the value of pyConfigSecToShow. | Reporting |
SR-D85540 | 551955 | Re-indexing status improved | Improved cleanup and status modifications have been added for the re-indexing process. | Reporting |
SR-D87673 | 555684 | Lucene use updated | Lucene search is a legacy functionality, which is not available for sites already using an Elasticsearch-based solution. Although Lucene remains available, authentication is now required for Lucene service packages. | Reporting |
Security
8.4.3 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-128923 | 594160 | Cross-site scripting security update | Cross-site scripting protections have been added to OpenNoteDetails. | Security |
INC-130145 | 582854 | 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-130265 INC-130265 |
580308 581091 |
Cross-site scripting updates | Additonal Cross-site scripting protections have been added to pyActivity processing and pzTransformAndRun. | Security |
INC-130500 | 580622 | Cross-site scripting protections updated for authorization | Cross-site scripting protections have been updated for various URLs associated with authorization. | Security |
INC-130703 | 597253 | Operator provisioning on authentication service corrected | When operator provisioning was triggered on user login via authentication service, the error "ModelOperatorName is not valid. Reason: declare page parameters not supported by PropertyReference" was generated. This was traced to optimization work that had been done on the expression evaluation for operator identification, and has been resolved by adding the required GRS Syntax support in the Operator Provisioning section in SAML and OIDC. | Security |
INC-132191 | 582548 | Option added to return to same authenticationService after SAML logoff | An enhancement has been added which provides a check box on the Authentication Service ruleform to select the option of redirecting users back to their original authentication service screen after logoff. | Security |
INC-133518 | 592226 | Context updated for IACAuthentication activity trace | After upgrade, tracing the IACAuthentication activity was not working. Investigation showed that the context object had a null tracer value, which has been resolved by updating the system so the tracer runs with the correct context. | Security |
INC-134018 | 583009 | Cross-site scripting protections updated for Dynamic Tab group | Handling has been added to the Dynamic Tab group to protect against Cross-site scripting. | Security |
INC-134315 | 578368 | 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-134709 SR-D98224 |
579437 580593 |
Updated endpoint Cross-site scripting protection | Cross-site scripting security has been updated for Endpoints in Display activities. | Security |
INC-134808 | 590710 | Property check handling updated for Ajax requestor | SECU0001 alerts were seen when submitting a case in the interaction portal. Logging indicated the errors were related to the 'pxRequestor.pyLatitude' and 'pxRequestor.pyLongitude' properties which are included in an Ajax request when they exist in the DOM and the 'pyGeolocationTrackingIsEnabled' when rule is true. The error was traced to a condition where a new thread request results in an unexpected property check that encounters a clipboard which doesn't have any pages created for that thread. To resolve this, the 'pxRequestor.pyLatitude' and 'pxRequestor.pyLongitude' properties have been added to an allow list to handle the unexpected properties check. | Security |
INC-135266 | 584589 | Cross-site scripting protections updated | Cross-site scripting filtering has been added to IDs related to login. | Security |
INC-135849 | 582938 | 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-137709 | 584295 | 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. | Security |
INC-137873 | 596156 | Java injection security updated | Protections have been updated against a Java injection. | Security |
INC-138354 | 584720 | Handling added for samesite cookies with httpOnly | After enabling samesite cookies on Google 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-139300 INC-139867 |
590270 588756 |
Additional security for encrypted passwords | Handling and cleanup has been updated for encrypted values to enhance security. | Security |
INC-139861 | 594005 | Cross-site scripting protections added to Case Email | Cross-site scripting updates have been added to rules handling linked email correspondence. | Security |
INC-140101 | 597634 | System will attempt to decrypt data ending in "+" | Encrypting and decrypting one specific email address was not working properly when showing on the UI. It was possible to force a decryption using decryptproperty, but Pega generated an error. This was due to the actual encrypted value ending with '+', which conflicted with a system check that skips decryption if the encrypted property value ends with + . To resolve this, the system will attempt to decrypt the property even when encryptedText ends with + . | Security |
INC-140111 | 594376 | CSRF token handling added to Bulk Processing | On click of submit button from the bulk transfer screen, the pzbulkprocess harness was loaded and the portal was automatically logged off. Investigation showed that when CSRF was enabled, loading pzBulkProcess failed with a 403 error that resulted in logging off the current session due to a missing fingerprint token. This has been resolved by adding both CSRF token and fingerprint generation logic to pzBulkProcessingList. | Security |
INC-140661 | 593274 | Performance improvement for CSPs | After enabling CSP on the application rule to avoid clickjacking attacks, severe slowness was seen in the application. To resolve this, Content Security Policy response headers have been added for direct streaming requests. | Security |
INC-142145 | 594916 | Resolved 403 error for refresh of incognito window with CSRF | Opening the simpleurl in a fresh incognito window opened the work object in a standard thread, but on refresh of the window a 403 error appeared and the screen went blank. This was a missed use case for the recently-added CSRF validation for non-ajax get requests which are redirected post requests. The CSRF token was being validated if pzPostData was in the request, but once the original request was complete the request map was cleared and the pzCtkn value in the request map was empty, resulting in the 403 error. To resolve this, the system will skip CSRF validation for a refresh scenario where the post data request map is empty after the original request, and validation has been added for the blank pyActivity in the request. | Security |
System Administration
8.4.3 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-130304 | 567926 | 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 |
INC-133214 | 590378 | Deployment Manager rollback works for directed inheritance | Rollback was not working correctly in Deployment Manager for history classes using directed inheritance. This was traced to a redundant check in AbstractHistoryPageKeeper that enforced the history pages pattern inherited from one of the base history classes, and this has now been removed. | System Administration |
INC-140093 INC-141641 |
592310 596632 |
Upgrade Applications Schema filtering update | The Pega Installer was failing at Pega Rules Upgrade with an error indicating "Rules Schema assoc_data Index already exists". This has been resolved by updating the Upgrade Applications Schema to use filter for compare, but not to get custom tables. | System Administration |
User Experience
8.4.3 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-128279 | 591377 | Layout Group tab alignment correctly shown in IE | Even though the responsive breakpoint for a layout group was disabled, the tabs were getting changed to Menus in Internet Explorer. This was traced to Tab-overflow being triggered in very small viewports when using Microsoft Internet Explorer 11, and has been resolved by adding dom manipulations for all layout groups. | User Experience |
INC-128406 | 578887 | Handling added for radio button with expandpane | When given a radio button to select a row in a table (table with Edit Option as Master-Detail - Expand Pane), the first click on the radio button expanded the row but the radio button was not selected. On clicking again, the radio button was selected. The issue was observed in UI gallery as well, and changing the radio button to a checkbox worked as expected. This was traced to a difference in handling related to event infrastructure changes, and has been resolved by adding a timeout in grid specific code for use when there is a radio button with expandpane grid configuration. | User Experience |
INC-128970 | 583292 | 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-129104 INC-132003 INC-133979 |
578744 580693 580788 |
Mashup updated to support Safari 13.1 | Starting with version 13.1, Safari has enabled the “Prevent cross site tracking” setting by default, which prevents embedding any cross-domain content into the main web page for security reasons. This has affected the “Pega Web Mashup” feature, which provides an easy way to embed Pega content into third-party host applications. To resolve this, Mashup has been updated with the recommended webkit to support Safari 13.1+: with these new changes, other browsers will not see any difference but Safari users will need to perform additional interactions prior to the load of Mashup in order to give permission and accept cookies. | User Experience |
INC-129848 INC-133637 |
580458 581341 |
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 |
INC-129984 | 584551 | 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-130790 | 580589 | 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 Rule-Utility-Function has been updated to better parse the property identifier of the column header value. | User Experience |
INC-131225 | 579733 | 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-132176 | 588808 | Cache cleared before PDF generation to ensure proper fonts | The font File OCRAEXT.ttf added at location "/usr/local/tomcat/fonts" was not being picked when the PDF was generated via an agent execution. When the same activity was run manually, the font issue was sporadic. Investigation showed that when multiple apps use the same props directory but different fonts directories, the handling would sometimes cause one app to use another app's props file with the result of the improper fonts mapping. To resolve this, an update has been made to clear the cache before PDF generation starts to ensure the library reads the proper fonts. | User Experience |
INC-132219 | 580265 | Values with accent characters are sorted properly | Table Layout column values using a pagelist were not sorted properly when the data contained French accent characters. This has been resolved. | User Experience |
INC-132569 | 595175 | Resolved case detail overwrite | In the interaction portal, when the same property (dropdown) was used to populate the details of sections in two cases, the first section (email case) details were replaced by the second section (outbound call case) details. Investigation showed that the refresh API was getting the reloadElement in the entire DOM based on the event target name property. To resolve this, updates have been made to use context DOM APIs to get the correct section. | User Experience |
INC-132670 | 585773 | JAWS reads optimized table rows correctly | When using JAWS2020 on Google 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-132771 | 584959 | 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-133013 | 580951 | Corrected white space left after feedback panel collapse | After activating the feedback panel on the right side of Cosmos Agile Studio, white space remained in that area after the panel was closed. This was traced to javascript overriding the style of the main panel, and has been resolved. | User Experience |
INC-133234 INC-141992 |
583807 595164 |
Call to OnBeforeWindowClose changed to asynchronous | After accepting a chat and accidentally closing the interaction portal with the active chat, the active record was left in an unresolved state that did not allow bot interaction until the 720 minute bot timeout was reached. This was caused by the pyOnBeforeWindowClose activity not being called as expected, and was traced to Google Chrome blocking the synchronous request needed. To resolve this, the call has been converted to an asynchronous request. | User Experience |
INC-133576 | 590323 | Expandable Grid behavior corrected | Expanding any row in master details was collapsing a previously expanded row. This has been corrected. | User Experience |
INC-133924 | 581344 | 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-133944 | 586015 | 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-133978 | 587696 | Overlapping columns fixed in ReportViewer | When Report Viewer was used for Report Definition, displaying it on dashboard columns resulted in columns that overlapped each other. This was traced to a resize issue related to the scrolling checkbox and has been resolved. | User Experience |
INC-134136 INC-135185 |
585434 580745 |
Expand/Collapse headers are consistently formatted | When the "Use the same formatting for expanded and collapsed headers" checkbox was checked in Expand/Collapse headers styles, mixed styles were getting picked. This was an unintended consequence of work done to correct layouts when a header style for a container was explicitly set, and has been corrected by updating GenerateContainer to consider header-title styles in cases of collapsible headers. | User Experience |
INC-134205 | 577701 | Cosmos layout switch works with language packs | When using localization, operators were unable to switch between Details & Pulse layouts: no action was performed on click of the tabs. This was traced to the generated java code in the pzTemplateNav control which fills out the navigation data page with values for "section name" and "label" used for targeting corresponding section in DOM. Because both values were not working in all possible cases, this has been resolved by swapping section targeting from label-based to index-based. | User Experience |
INC-134227 | 583645 | Dirty check dialog works for grid in Ajax container | When using a perform harness with Cosmos skin embedded, the dirty check was not working properly. With Microsoft Internet Explorer or Edge, Cancel was available on the dirty confirm popup. but the Ok button did not work. When using Google Chrome, the Ok button worked but then another dirty confirm popup appeared. Investigation showed this was an issue with the dirty handling when used with a grid inside an Ajax container, and updates have been made to resolve the issue. | User Experience |
INC-134319 | 581731 | 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-134634 | 584945 | 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-134891 | 589868 | 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-134893 | 587167 | 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-134920 | 582560 | 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-135061 | 579539 | 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-135098 | 578487 | Corrected paste/drag and drop upload with rich-text editor | 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 rich-text editor control. | User Experience |
INC-135181 | 597422 | Clipboard handling updated to accommodate custom Cosmos portal | After upgrading and moving to Theme-Cosmos, a browser-level refresh on the user portal was not remaining on the same screen that issued the refresh, but rather on the default screen of the user portal. This was traced to a difference in clipboard handling of the Body parameter value for strJSON that was exposed through a customized Cosmos User Portal where Ajax Container was not used but still present in DOM. In order to support this use case, the tab_support file in sendReqToUpdateClipboard method has been updated. | User Experience |
INC-135405 | 582002 | Simple button style updated to allow customization | The Simple button style was not picking up the correct border style that was defined in the Skin rule when in the hover state. This was traced to the border radius value hard-coded in one of the custom files taking precedence over the value added for the border radius in the skin format. To resolve this, the simple button styles code has been removed from the controls.css file that had the border radius value hardcoded. The styles for simple button format will be configured in the skin, and a mixin has been added for modal buttons border styles that can be configured in the skin itself. | User Experience |
INC-135523 | 590434 | Tab panel read meaningfully by screen readers | When the tabPanel received focus with accessibility, the entire tab content was read instead of the W3 standard of only reading "Edit <tabID>". This has been resolved by ensuring the Tabpanel has the proper aria-labelledby. | User Experience |
INC-135554 | 584115 | 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-135594 | 581777 | 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-135906 | 582900 | 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-135992 | 595354 | Corrected Windows attaching a file to incorrect case | When using Microsoft Internet Explorer with Windows 10, opening multiple cases in multiple browser tabs and switching between the different cases created a condition where a file might be attached to the wrong case. This has been addressed by updating pzHarnessInlineScripts. | User Experience |
INC-136057 | 587163 | Modal dialog close for date/time works as expected | When a date/time property was used in a modal screenflow in Google 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-136333 | 580823 | Touch Modal gets focus to be read by JAWS | A Modal on a touchscreen device was not being read by JAWS. This was an issue with the accessibility focus combined with the touch elements, and has been resolved by fixed by adding a check for touchable devices. | User Experience |
INC-136518 | 582569 | 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-136620 | 583781 | 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-136659 | 593766 | Template circumstancing works for report definitions | On circumstancing the pyMyCasesReport using the Template option, it always displayed the base report definition instead of the circumstanced one when referenced the same report in the table in section. Because the grid component called two activities 'pxRetrieveReportData' and 'pxRetrieveReportMetadata' to render the table, the step page passed to these activities was from @baseclass. This caused the circumstanced template created in work- class to not get picked up. To resolve this, updates have been made to ensure the step page to the above activities will be of the report definition class. | User Experience |
INC-136793 | 585602 | Updates made to display busy indicator correctly in Google Chrome 84 | The Pega busy indicator was not displaying correctly in Google Chrome 84 due to changes in that browser. The needed updates have been made to adjust for these changes. | User Experience |
INC-136953 | 589538 | Nested repeating Dynamic Layout sets read-only correctly | When two sections were included inside the main section of a repeating dynamic layout where the first section was set as read-only and the second section had a conditional 'when' for being editable, the second section was always being set read-only and ignoring the 'when' condition. This has been corrected. | User Experience |
INC-137276 | 585297 | 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-137324 | 584916 | 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-137424 | 591962 | Context set for selecting autocomplete values | The autocomplete text field was not getting populated if the values were selected using the enter key or a mouse click. This was caused by the Ajax container modal missing the correct context, and has been resolved. | User Experience |
INC-137510 | 591292 | CKEditor Source edit with formatting resumes process automatically | Buttons on the harness were freezing after applying format using CKEditor when source mode was turned on in rich text editor. Investigation showed that on clicking the source button, after applying styles, the events were being paused and were not resumed automatically. This has been resolved by adding changes to resume the event queue. | User Experience |
INC-137691 | 585768 | 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-137736 | 585509 | 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-137818 | 594022 | Corrected sorting icon accessibility when grid size is not fixed | After configuring a table and checking the boxes for Filtering and Sorting and unchecking the fixed (pixel) size grid box, tabbing in to the grid/table using the keyboard did not bring the focus to the sorting icon /header, but instead the focus went to the filter icon. If filter was unchecked and sorting was checked, the focus went to the first row of the table. This was traced to the column headers missing the tabindex attribute when the column headers were not fixed. When the column headers were fixed, tabindex =0 was present for the column header and the sort icon was accessible. This was traced to the Freeze Header value not being updated according to Fixed Size value because it was not a fixed size grid. To resolve this, an extra condition has been added in GenerateCellContent Rule-Utility-Function to be used while checking the Freeze Header. | User Experience |
INC-138309 | 591147 | Added busy state reset to reenable buttons after custom frame cancel | When using a custom iFrame in a section that called a third-party URL, clicking on cancel for the popup "Do you want to stay on this page or leave it?" caused the screen to freeze. This was traced to the cancellation of the dirty page setting a busy state which disabled all the buttons and did not have a path to recovery. This has been resolved by updating the busy state so it will reset when the user chooses to cancel the changes and reenable all the buttons. | User Experience |
INC-138354 | 594354 | Third party cookies reminder added for Mashup in incognito browsers | When working in incognito/private browser windows, attempting to use Mashup displayed a message indicating login credentials were not recognized ("Unknown password and/or username"). This was due to recent changes originating with the browsers regarding blocking third-party cookies which are necessary for Mashup to run. For informational purposes, a new API has been added which will check for the PegaRules cookie; if the cookie is not present, the message "Third party cookies must be enabled for Mashup to function." will be displayed. This message may be customized by configuring the setting "pega.web.config.xCookiesDisabled" with the required message. | User Experience |
INC-138672 | 593278 | Corrected size of Session Timer modal window | The session timer modal dialog window did not have the correct height. This has been resolved by increasing the height of the logoff timer modal dialog from 210 to 236 in the desktop_showTimeoutLogoffDialog method of the pega_desktop_appcontrollerlite.js file. | User Experience |
INC-138803 | 591923 | Mouse event Cross-site scripting updates | Cross-site scripting protections have been added to mouse event attributes. | User Experience |
INC-138877 | 589531 | Filter range decimals persist for German locale | When using German localization, filtering values in Dashboard caused the entered decimal value range (13.00 - 50.55) to lose the separator and become a whole number (1300 - 5055). This has been corrected. | User Experience |
INC-138886 | 589299 | 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-138968 | 594168 | ARIA landmarks added to put dynamic layout in tab order | As part of W3 accessibility specifications, ARIA landmarks have been added to dynamic layouts to direct tabbing focus. If the role type is "landmark" or "document", tabindex=-1 will be added, and for component widgets tabindex=0 will be added unless it is a non-focusable element like Alert, log etc. | User Experience |
INC-139023 | 591162 | Tab will exit portal side menu | It is expected that the Tab key will take users out of the portal menu and to the next focusable element, but on the side navigation menu both tab and arrow keys moved to the next menu item. This caused users to have to navigate the entire menu. The correct behavior was seen for the Navigation rule when called from an Action (for example on the button). This was traced to the system using tabindex as "0" for every element in the menu, and the tabs code has been updated to exit out of the menu bar when pressed. | User Experience |
INC-139095 | 596505 | Portal loads for Simplified Chinese locale in IE | When using IE, the portal would not load when using the Simplified Chinese locale. This was caused by Microsoft Internet Explorer rendering the locale as 'zh-CN-#Hans' instead of the expected 'zh-cn'. This has been resolved by adding a check to remove the "#" in the locale string to avoid a malformed URL. | User Experience |
INC-139156 | 592147 | Pasting image lands in correct location | When pasting an image in a user story or issue, the image did not land where the cursor was placed in the contents of the issue or story. This was traced to the insert element handling for rich-text editor, and has been resolved. | User Experience |
INC-139186 | 593400 | Temporary page will be proper class for BreadCrumb activity | Intermittent errors were seen while creating work objects. This was traced to the Code-Pega-List!pxCaseBreadCrumbPopulate Activity rule, which is a wrapper for the main Activity defined in class Work-. To call it, a temporary page is used. This intermittent error issue was related to there sometimes being a leftover page in the clipboard called "TempPage" which is of some other class. In this case the system tried to run the activity from different class and failed. This has been resolved by assuring the temporary page is of proper class. | User Experience |
INC-139260 | 592217 | Handling added for third party form library | When using a third party library which created a form tag, the wrong form was used on submit in the Ajax container. This has been resolved by updating the pzpega_ui_doc_submit file submitInner method to handle this use case. | User Experience |
INC-139327 | 595697 | GetImmutablePropertyInfo updated to return pyType for page group properties | Dates were are not matching in the UI and Apply filter section in the date column of Table layout filters. The system calculates pyType properties on save and passes the complete reference of the property to the getImmutablePropertyInfo API, but this resulted in the API ignoring the subscript if a nested page group property was passed. To resolve this, updates have been added to invoke the API getImmutablePropertyInfo so the property name and class name are passed during runtime in order to return pyType for page group properties. | User Experience |
INC-139328 | 588583 | Corrected Excel table picture being included with rich text editor paste | As an unintended consequence of code added to allow pasting or dragging and dropping an image for upload using rich text editor and the CK Editor, any copied content from Excel also added a table picture to the last cell as part of the pasted data. This has been resolved by updating the system to recognize content copied from Excel and prevent uploading of the image. | User Experience |
INC-139531 | 594425 | AppendToPageList preserves parameter page | After upgrade, when AppendToPageList is called on Step3, Java was removing the parameter page. This was an unintended side effect of security updates, and has been resolved. | User Experience |
INC-139624 | 595986 | Validation error messages persist appropriately | Whenever there was a Validation check on a flow action Validation Tab and Post Processing Activity, the error message appeared on the screen momentarily and disappeared. Intermittently, the validation error would stay on the screen after appearing a second time. This was traced to the refresh action happening in the wrong context due to the refresh action of the Ajax container being called twice, once in postacrenderac and another time in the harness unload function.The case error DOM was present in the markup, but because of the refresh in the harness unload, the error message was removed from the DOM. This has been resolved by changing the refresh call from onHarnessUnload callback to postAcRender callback. Logic has also been added to prevent refresh when error messages are present. | User Experience |
INC-139645 | 597498 | Flowaction button responds for grid modal window | The submit and cancel buttons were not working on first click for a modal window opened from a grid. Investigation found that this happened when the grid was shown on launching a harness but not if the grid was set to show otherwise in tabs, and was not seen when launching modal windows normally either from tabs or from harness (the pzModalTemplate or pyModalTemplate). This was traced to the system passing the target as a window to getTrackerChanges from triggerEvaluateClientConditions, which caused getTrackerChanges to be called on every window action. To resolve this, the event has been changed to 'focus' so that the method gets called only on focus. | User Experience |
INC-139849 | 598125 | Sorting icon visible for table in Cosmos on Google Chrome | Tables were not showing any sort icon / indicator in the column header when using the Cosmos Theme in Google Chrome. This was only occurring in apps created with the Cosmos theme, and was caused by the sort icon for a non-optimized table using display flex, resulting in the position of the icon being displaced. This was a missed use case of having a non-optimized table in Cosmos, and has been resolved by removing the non-optimized-related CSS code. | User Experience |
INC-140140 | 595668 | Multi Select populates values for Page group | The Multi Select control was not populating values when Page group was chosen as a source. This has been resolved by updating control_multiselect and pzgetACdata to support page group source. | User Experience |
INC-140205 | 595660 | Safe check added for first element focus on inline table edit | When moving the scrollbar when performing an inline edit of a hierarchical table, releasing the scrollbar caused it to move to the top of the table. This would continue until a refresh was performed. To resolve this, a safe check for focus first element method has been added. | User Experience |
INC-140289 | 589002 | 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-140482 | 594164 | Handling added for last focused element in custom modal | Using Shift-Tab can take the focus out of the modal window when using a custom modal template without the "X" icon in the header. The issue did not happen when using "tab" key press to traverse the modal. This was a missed use case for the last focused element being div and tabindex as 0 combined with using a custom template which doesn't have close button. This has been resolved. | User Experience |
INC-140848 | 596459 | Button row correctly added for click on exception list | After upgrade, clicking on an exception list button in the mobile app was not adding a row to an existing PageList as expected. Investigation showed that pega.u.d.refreshSection was not executing correctly from RunScript, which was traced to a missed use case for handling an empty repeating dynamic layer in this scenario. This has been corrected. | User Experience |
INC-141099 | 598129 | Updated Cosmos confirm notification visibility conditions | After routing an assignment to different operator, the current operator was still seeing the Go button in Cosmos for processing the assignment. Clicking on the button resulted in an error. To resolve this, the confirm notification section reload has been moved to a different context, and the visibility conditions have been updated to handle more use cases. | User Experience |
INC-141451 | 595434 | Added use case for supporting localized helper text for radio group | The localized value from content was not being served for helper text in a radio button group. This has been resolved by adding the necessary localization support to the button template. | User Experience |
INC-141499 | 596065 | Tooltip option for Label control visible | After upgrade, the Tooltip option for the Label control in grids/tables was missing. Labels which had a tooltip before upgrade were working, but new fields could not add a tooltip. This was traced to a check for 'Run visibility condition on client' condition, and this has been removed for tooltip layout to resolve the issue. | User Experience |
INC-141789 | 595496 | PD4ML upgraded | After upgrade, a functionality to generate letters in PDF format had an image size discrepancy between portrait and landscape mode. Investigation showed that the physical dimensions were not preserved by PD4ML v4.0.6; this has ben resolved by upgrading PD4ML to 4.0.9fx1. | User Experience |
INC-142034 | 596083 | Tab moves to next field after autocomplete | After entering the value on an autocomplete field, it took two presses of the Tab key to move to the next field. Investigation showed that on autocomplete keydown of the tab key, there was an event preventing the expected default behavior. This has been resolved. | User Experience |
INC-142452 | 595038 | Resolved error in personalized table | After creating a section and adding a table, checking the personalization option in the table properties and clicking refresh caused the UI to become unresponsive. This was traced to a missing check in the template that was needed before accessing the busy indicator, and has been resolved. | User Experience |
INC-142589 | 595489 | Corrected tooltip evaluation for multiselect | After adding help text for a multiselect help icon with overlay on hover field, the value was not being sourced. Changing to a different type of help text or control type worked as expected. This was due to an error in case sensitivity, using pyToolTip when it should have been pyTooltip, and has been corrected. | User Experience |
INC-142714 | 596554 | Recent Cases from different applications available to open | An enhancement has been added which will allow opening other application assignments in the Recent Cases section of the current application when the user has access to multiple applications. | User Experience |
INC-143005 | 596954 | Fluid Overlay displays as expected in Firefox | After upgrade, using the Overlay format "Fluid" to perform the screening matches task in CLM using Firefox had an overlay that covered the entire screen but was missing the scrollbar to manage the content. This has been resolved by adding changes to support dynamic content (with scrollbar) for center overlay. | User Experience |
SR-D90331 | 553609 | 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 |