Pega Infinity™ includes an industry-standard patch release process to simplify and maintain high-quality releases. Several cumulative patches are released a year for each release stream. The Resolved Issues page contains information about client-reported issues that have been addressed for the specific release.
For a complete set of the Resolved Issues for this release, download the PDF attachment at the bottom of this page. (Note that you must be logged in to access the attachment.)
Low-code Application Development
Case Management
8.5.2 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-134113 | 591541 | 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-136327 | 591466 | 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-138348 | 599770 | Added parameter skipPropertyEvaluation to handle CSS in email HTML | While sending an email with custom HTML appended to the email body, a "+" sign in the body was causing the correspondence generation to fail. Investigation showed that if there were CSS classes with braces in the message body, the braces were being removed and replaced via "+" symbol in step 21 of CorrCreate activity. To resolve this, a new Boolean parameter skipPropertyEvaluation has been added in the CorrCreate activity to handle the decision to either evaluate the logic or not, and the pre-requisite will be to resolve all the property references before calling this activity so custom CSS braces { } will be honored when the message body is sent. | Case Management |
INC-139861 | 594006 | XSS protections added to Case Email | XSS updates have been added to rules handling linked email correspondence. | Case Management |
INC-141751 | 596136 | 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-142660 | 595390 | Pega API system management launches correctly from Help | The Pega System Management API did not work when launched from help window, although other APIs such as Case Management were working fine. This has been resolved by updating the basePath in pzSystemManagementDocumentation. | Case Management |
INC-143861 | 597557 | 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 |
INC-144358 | 601012 | Localization added for "Automatically" and "Manually" field values | The Dutch translation of "Child case [Case_type] [Case_id] has been [Instantiation_mode] instantiated" used the hard-coded English expression "manually". This has been resolved by adding the "Automatically" and "Manually" field values to localization. | Case Management |
INC-146339 | 600744 | ViewID parameter passed as part of DX API response payload for level 5 applications | Recent work to not consider production level and always pass 'viewID' parameter as part of DX API response payload was not working for cases where the APIProductionLevel was 5. This was a missed use case based on a condition that remained on the ViewID parameter, and the condition has now been removed. | Case Management |
INC-146564 | 607856 | DX API returns application specific validation messages | When trying to validate the input swagger details with application specific conditions, the create case DX API did not return the validation messages from application but instead returned a "500 Internal Server Error". Investigation showed that the error parameter was not set on validation fail, and this has been corrected. | Case Management |
INC-146780 | 602023 | Updated ArchivedCaseHistory visibility | After enabling case archiving on Pega Cloud, it was possible to search the cases from case manager studio, but the audit details were missing. Previously Audit History was directly displayed based on whether archival was enabled or not. As part of Field Level Audit, a new property called pyHistoryViewType was introduced which is a prompt list with ALL and FIELD as its values. This property checks whether FLA is enabled or not, and based on that value ALL is set. In this case, because FLA was not enabled, the pyHistoryViewType property was empty and the HISTORY tab was not shown. To resolve this, the pyArchivedCaseHistory section table 2 visibility condition has been updated. | Case Management |
INC-147658 | 604684 | Handling added for Top and Primary page references in flow action | Handling added for Top and Primary page references in flow action After upgrade, if a flow action had a class of the section which was different from the class of the flow action, the DXAPI code retrieved the section as the same class of the flow action and not the class defined in the flow action. In flow action, the section was configured be rendered in the context of page reference as Top, however, this was not handled so the section was resolved in the context of primary page. This has been resolved by adding the missing handling for Top and Primary page references in flow action. |
Case Management |
INC-148817 | 604969 | Added check for ABAC policy to getassignmentdetailsinternal | When an attribute based access control (ABAC) policy was defined on a particular class, the policy was properly applied when browsing instances of the class and directly opening the work object. However when an associated assignment was processed via the DXAPI (using the assignments service) the security was not applied and users who should not have access were able to progress the case. This has been resolved by adding a check in the pzgetassignmentdetailsinternal activity to check for work object opening security. | Case Management |
INC-149823 | 608352 | DX API returns properly referenced icon class for embedded page | When using the DX API to build an Angular JS UI, the response returned from the GET /cases/{ID}/actions/{actionID} api did not return the iconStyle for an icon class that uses a property reference when the flow is on an embedded page. This has been resolved by adding code to set the correct context for pzAPICreateJsonForModes and pzAPICreateJsonForField RUF. | Case Management |
Cloud Services
There were no Resolved Issues for Cloud Services in 8.5.2
Conversational Channels
8.5.2 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-142930 | 600769 | Email history will be stripped from case replies | When sending an email reply to a case, the entire email history (all previous emails in the email chain) was attached to the case as part of the reply. To resolve this, updates have been made so the system will strip history only when it's a follow-up mail. In addition, an issue with duplicate attachments has been corrected, and attachments from trailing mail will not be copied to a new post. |
Conversational Channels |
INC-143320 | 602279 | Support added for email addresses with hyphen in domain name | When attempting to enter a email with a hyphen '-' in the domain part of an email ID ([email protected]), the reply button was getting disabled. This was caused by the regex validation implemented in the "pzValidateEmailAddress" (Work-Channel-Triage-Email) OOTB activity not covering all the possible cases. To resolve this, regex has been changed to instead use a platform-provided rule to ValidateEmailAddress. | Conversational Channels |
INC-145425 | 600773 | New email template added to include full message history | Whenever a reply was sent from the email triage case, the outbound email sent only the actual reply along with the original email and latest reply only, skipping all remaining replies from email. For example, if there were 5 replies from case, replying 5th time generated an outbound email that contained only 5th reply (actual / current), original reply (which created the service case) and the latest reply (reply 4 in this case) and skipped reply 1 and reply 2. To resolve this, a new Outlook-style template has been added for use in replies that will include all of the previous exchanges. | Conversational Channels |
INC-146544 | 604493 | Updated handling for unexpected character set in non-UTF-8 email | After upgrade, the listener properly created a case from an email, but the space character was being replaced by ? in the inbound emails. Investigation showed the messages did not appear properly in the UI if the email was sent using any encoding other than Unicode (UTF-8) and it had a special character set. To resolve this, the system will remove the attachment type which includes the charset. | Conversational Channels |
INC-150367 | 606028 | Double quotes escaped in entity mapping | A usecase where the BOTS created the triage cases from the emails and pushed it to the Workgroup had an intermittent problem where the screen would freeze and no actions could be performed. perform any action on the same. Investigation showed this occurred when the entity text contained double quotes which is caused JSON to break on the client side. This generated an exception during rendering, and other onload scripts failed on load and blocked the entire thread. To resolve this, the system will now avoid the JSON break by escaping double quotes in entity mapping. | Conversational Channels |
Data Integration
8.5.2 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-122112 | 599793 | Updated SLA table clearance | After cases were resolved, SLA entries were not getting cleared from the SLA table. This caused the SLA table to have a huge number of Overall SLA and PendFlow details present for cases that were resolved or moved to the next state, which impacted case processing via SLA Agent. This was traced to SLA queue-items not being removed by delete-deferred as expected, and has been resolved by invalidating the deferred operations and scheduling item removal. | Data Integration |
INC-125633 | 589577 | Oracle performance improvement | Poor performance was seen when importing a RAP with schemas using Oracle. To resolve this, an update has been made which will set the Oracle tuning parameter at the session level by altering the setting "_OPTIMIZER_PUSH_PRED_COST_BASED"=false before the SMA query involving all_constraints. The setting will be returned to true after the execution of the SMA query. This is controlled through the prconfig setting '"database/performance/smaqueryperformanceenabled" which defaults to true so the setting and unsetting of the Oracle parameter is automatic. | Data Integration |
INC-127420 | 568439 | 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 OOTB 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 OOTB 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-128800 | 592822 | 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-128899 | 578019 | 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. | Data Integration |
INC-131938 | 598477 | Locking and classmap improvements | Threads were getting stuck inside classMap and tableInformationMap, causing nodes to go down. This was traced to issues with classmap performance and locking, and has been resolved by replacing the lock library with a newer version and refactoring the tableInformationMapImpl class to use a concurrent hashmap instead. | Data Integration |
INC-132088 | 603084 | Updated Tracer for cluster events | When running the tracer from the Admin Studio Listener management landing page, Tracer was always fetching data from one node only even though events were generated on another node. This was due to the specific node where the Listener was running being passed to the concern activity while launching the tracer; the Tracer Client node did not have data to check if the event was being populated on another node, and the result was to always fetch data from one node only even though events were generated on another node. To resolve this, the web node ID where the event is running will be passed. | Data Integration |
INC-135313 | 596098 | 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-137775 INC-125972 |
583784 604080 |
Improved resolved rules cache | When Rule resolution iterated over a candidate list to fetch a candidate, performance issues were seen on very large sites. To resolve this, an enhancement has been added that will cache the resolved virtual table entries to optimize performance in high demand use cases like DSM. | Data Integration |
INC-137882 | 599139 | Hazelcast will be used to determine node presence | When calling logoff from the end user portal, sporadic PresenceStandardLifeCycleListener exceptions were seen during high load periods. This was traced to changes made in the Service Discovery behavior: when there is an issue with the node and heartbeats are missed, the node goes to Safe Mode. This caused the topology to change and trigger clearing off presence sessions, but the node still received service requests and this issue was seen. To resolve this, an updated has been made so the system will rely on the Hazelcast listener instead of service discovery to determine whether a node has left. | Data Integration |
INC-138243 | 584897 | Performance improvement in When parsing | After upgrade, performance issues were seen in the execution of rules with When conditions. This has been resolved by modifying the code to address some inefficiencies in the parsing method. | Data Integration |
INC-138253 | 597572 | Handling added to ensure proper Data-Admin-DB-Table name records | As part of property optimization, After exposing the property "SolutionName" using the wizard, the value was not visible in a new column for existing records after the completion of the column population job. This was traced to an issue with DBSchemaDDLExecutor expecting lowercase Data-Admin-DB-Table names, and the wizard has been updated to ensure Data-Admin-DB-Table name records are all lowercase. | Data Integration |
INC-138743 | 602444 | Updated LegacyPageAdapter with forward links | After upgrade, attempting to submit an assignment from an existing case type did not work, and the message "There was an error processing the 'ValidateTechnicalData' step [(no task)]: java.lang.ClassCastException: com.pega.platform.clipboard.adapters.internal.LegacyPageAdapter cannot be cast to com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl" appeared on screen. Investigation showed that a reference forward link was unexpectedly referring to a LegacyPageAdapter. This has been resolved by implementing get/setNamedPageReferenceForwardLinks in LegacyPageAdapter so LegacyPageAdapter can be cast to a ClipboardPageAPI. | Data Integration |
INC-138840 | 599978 | Data-Summary reports default will not use the rule resolved setting | An intermittent issue was seen where a query could become stuck for ~2 hours in the database. This has been resolved by setting the default for Data-Summary reports to not use the rule resolved setting. | Data Integration |
INC-139106 | 593271 | 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-139626 | 592392 | 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-139627 | 604760 | Legacy and new ID generation logging enhanced | A DuplicateKeyException was generated when attempting to create a case. The root issue was related to the local modification of the reserved ID field in the database through a custom activity and was able to to be fixed with a local change. In order to improve diagnosing events such as this in the future, enhanced logging has been added to to the legacy and new ID generation. | Data Integration |
INC-139695 | 593083 | 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 RUF 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 | 594031 | 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 NPE thrown by the diagnostics code so they do not stop their work. | Data Integration |
INC-139810 | 592834 | New RUF 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_.gz" instead of the expected "sample_.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 RUF pyFormatAttachmentName so that is is possible to override and customize the behavior. | Data Integration |
INC-140879 INC-139619 |
596571 597334 |
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-142188 | 600330 | Resolved parent lock sending child item to broken queue | If the ServiceLevelEvents agent tried to process the queue item for a child case but encountered a lock error because the parent case was locked, the queue item was immediately going to the Broken-Process status instead of re-queueing the item to try again in 15 minutes. If the property was set to 'Copy data from a data page', the item was re-queued. To resolve this, the unwind and forward chain calls have been reversed. A dynamic system setting is available to reset the change. | Data Integration |
INC-142569 | 597899 | CORS headers added for Health check URL | Pega Health Check URLs were throwing CORS error when invoked for application Health checks. This has been resolved by adding CORS headers for pingService responses. | Data Integration |
INC-142831 | 605473 | Corrected Outlook web inline image handling | Outlook web was not able to render inline images and instead added them as external attachments. Investigation showed inline images were not being rendered properly in Outlook web due to the disposition not being set. This has been corrected. | Data Integration |
INC-143461 INC-144978 |
601838 600590 |
Updated JSON DT nested page property handling | In a JSON data transform, when using an "Update page" step on a single-page property, as a child step of an "Append and map to" step where a pagelist property is given, the pagelist was populated with only one result but the single-page property was treated like a pagelist and received multiple results. This has been resolved by updating the ClipboardJSONDeserializer implementation and downstream abstractions to support "clipboard only" relations as properties in nested PageLists. | Data Integration |
INC-143622 | 602978 | Improved privacy for email listener alerts | To improve privacy, the customer 'from' address will be removed from PEGA0011 alerts for email listener processing | Data Integration |
INC-143865 | 602196 | Handling added for empty back link in BLOB | A DirectStreamContainerV7 Exception (BLOB Corruption) was seen when opening a work object that expanded a certain property. This was traced to an empty back link present in the BLOB: during deserialization, the exception was thrown while trying to parse that empty back link. To resolved this, an update has been made which will parse the empty back link information properly. | Data Integration |
INC-143908 | 606549 | Data Page Save correct in batch mode | After configuring a List type savable Data Page with save activity in Code-Pega-List, the save data page was triggered from utility of flow from the queue processor to handle queueing 10k data items and creating 10k work objects. When this was run, a field dpClassName was being changed by different threads in DataPageSaverImpl.java. This has been resolved by making the class DataPageSaverImpl.java stateless to ensure thread safety. | Data Integration |
INC-143972 | 600521 | Added handling to avoid class cast exception | The error "doMaintain errorjava.lang.ClassCastException: java.util.HashMap cannot be cast to com.pega.pegarules.priv.factory.SequencedEntry" appeared in production numerous times per day, leading to exceptions. Investigation showed this was being triggered from the activity Show-harness, and was traced to the ConcurrentMostRecentlyUsedMap eviction method casting entries to Sequenced entries. There is no such check while putting entries. To resolve this, a wrapper has been added over the ConcurrentMostRecentlyUsedMap object to avoid a class cast exception. | Data Integration |
INC-144387 | 605339 | Support added for allow list for LaxRedirectStrategy | When using Connect REST with POST to access a third-party service deployed on multiple nodes, the load balancer sometimes replied 302 with Location header. The ability to allow the REST connector to automatically follow these redirects even in the case of POST messages is supported by Apache http client via LaxRedirectStrategy, but REST Connectors need both rule and engine enhancements to allow for this. To support this use, an allow list has been implemted for hostnames. This will allow the connector to be configured to follow the LaxRedirectStrategy only when the hostname of the redirect location is in the allow list. The default will continue to block the redirect. | Data Integration |
INC-144601 | 602422 | Empty addresses removed from email | After upgrade, an issue was seen when sending email to multiple 'To' addresses generated an exception if any 'To' address had an empty value. To resolve this, a check has been added that will remove any empty address from the recipientTo address list. | Data Integration |
INC-144917 | 598200 | Healthcheck will only initialize after successful node startup | Nodes were not starting up, but because the Healthcheck service was initialized even though the node was not started properly, errors related to that were overriding the actual exception causing the node startup to fail and it was not possible to diagnose the startup issue. To resolve this, an update has been made that will ensure the Healthcheck service is only initialized when the node is initialized successfully. | Data Integration |
INC-145540 | 601590 | Added handling for email folder close exception | EmailListeners were marking messages as ERROR when it encountered a FolderClosedException when retrieving message detail from the inbox. This has been resolved by adding handling for the folder closed exception in getMessagebyMessageId method so that the message will be marked as initial and retried. | Data Integration |
INC-146030 | 602603 | Added queue process tracer cleanup on node restart | If a node restart occurred while a queue process trace was in progress, some entries in the tracer distributed map were not cleared properly and a subsequent tracer failure was encountered indicating a current trace by a requestor on same operator Id was already running. This has been resolved by clearing the tracer distributed map on node startup for stale entries associated with this node. | Data Integration |
INC-146057 | 599807 | Secure access for Activities | Authentication requirements have been added to Standard activities. | Data Integration |
INC-146752 | 602933 | File Listener made more resilient | When file listener encountered a FileNotFoundException as a consequence of sporadic AmazonS3Exceptions, the listener was disabled and no retries were made. In order to make the file listener more resilient, FileMatchConcentrator has been updated. While file listener is running and trying to get the next set of files, if the isDirectory() method returns false due to a non-existent directory or some other intermittent issues, instead of throwing an exception and shutting down the file listener, the system will now log the exception and continue. | Data Integration |
INC-147140 | 604369 | Email listener update for Microsoft Exchange server | After upgrade, TooManyObjectsOpenedException/MapiExceptionSessionLimit errors were seen when starting the email listener. Investigation showed that when the listener was started, two sessions were getting opened and then not closed properly. This was a method originally intended to allow the system to re-use the session to minimize performance overhead, but it is not well-suited for use with Microsoft exchange server as the Exchange server is unable to cleanup idle sessions. As a result, too many MAPI sessions were opened and led to an authentication exception while opening additional sessions. To resolve this, an update has been made so the system will close the session while the listener sleeps. This stop, restart and graceful shutdown scenario for single threaded email listener scenarios will create a new session every time and close it properly. | Data Integration |
INC-147716 | 603238 | Warning added to indicate if QP/JS have been disabled via DASS | Search was not working, and the error “The Flow Action pre-processing activity pzLPSearchManagerMainActivityWrapper failed: java.lang.NullPointerException” appeared in the search landing page. Investigation showed that the environment was configured with disabled BackgroundProcessing, which prevented the QueueProcessor framework from working. There was no notice in the UI of this condition. This has been resolved by adding a warning that will appear if background processing is disabled. | Data Integration |
INC-148944 | 604100 | Email Listener auto-reply evaluation updated | Email Listener auto-reply evaluation updated After upgrade, messages were being read but not getting processed for a specific Email listener (RCEmailListerner). The error "Email flagged as an autoreply email and will not be processed" appeared in the logs. Previously, an email was not considered to be an auto-reply only when the 'auto-submitted' header didn't exist or existed with value 'no'. This caused issues with auto-forward or auto-redirect emails where 'auto-submitted:auto-generated' could be in the header. Due to this, email was marked as auto-reply and email listener stopped processing it. To resolve this, the system has been modified to mark the message as auto-reply if it finds 'auto-submitted: auto-replied' in the header, but not 'auto-submitted:auto-generated'. |
Data Integration |
INC-149375 | 607829 | Adjusted email listener behavior for authentication failures | After upgrade, email listeners were not staying up during connection outages. This was traced to the handling of authentication failures when trying to reconnect, and has been resolved by changing the disconnected listener state to sleeping and raising an alert for authentication failures. | Data Integration |
INC-149466 | 607610 | Fixed alias assigned to custom categories to handle Oracle limitations | When trying to access CHAT via interaction portal, Oracle SQL was fired with incorrect syntax. This was traced to an Oracle limitation of 30 characters on the length of the table name, table alias name, or column name in database versions prior to 12.2. This is caused an SQL exception if the Pega class name was more than 30 characters. To prevent this, a fixed alias has been assigned to the custom category table. | Data Integration |
INC-150271 | 608944 | Fallback added for calculating date after upgrade | After upgrade, the date value returned from Stored procedure failed to be mapped to "date" type property. Stored Procedure was used to get data from an external Oracle database and then handed to a Data Transform to map the values. When the Data was fetched from the store procedure, the date properties were mapping correctly, but when these values were mapped from the clipboard into the usecase using a Data Transform, the data for date properties was becoming corrupted. This was traced to logic differences between the versions: 8.2 generated resolveToDate while in 8.5 generates resolveToBigDecimal. In this case, resolve to big decimal was being called with aType='D' and aValue=20200918, and the 20200918 number was being interpreted as days since 1 Jan 1970 instead of as a date. This has been resolved by adding a fallback for the date calculation. | Data Integration |
SR-D96430 | 561524 | Updated visibility condition expression handling for decimal values | After upgrade, any visibility condition expression failed to evaluate decimal values that used precision. When 0 (zero) was entered as a value in the input field, a button that was configured to show was visible as expected. When the value was entered as 0.0, the input failed and the button did not show. The problem did not happen "Run visibility condition on client" was enabled. Investigation showed this was an issue with how the When expression was evaluated and calculated within JspWhenEvaluate, and has been resolved. | Data Integration |
Decision Management
8.5.2 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-129910 | 582545 | Improved performance for Queries on VBD keyspace | Unrestrained VBD queries were causing poor performance for very large Cassandra clusters. This was traced to queries which were not restrained with a WHERE clause, and has eben resolved by updating two identified Cassandra queries that do not contain WHERE clauses to operate within token ranges rather than across the entire Cassandra cluster. | Decision Management |
INC-136634 | 591678 | 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-138501 | 592287 | Added VBD support for CSRF token setting | Attempting to open any VBD reports in the marketing portal for a simulation test caused the user to be logged out. Investigation showed that this happened when CSRF token check was enabled in System > Settings > Cross-Site Request Forgery, and was caused by the planner not passing the CSRF tokens in its Ajax calls. To resolve this, handling for the CSRF tokens has been added to the necessary Ajax calls. | Decision Management |
INC-139574 | 606141 | Exception handling added for dataflow rule assembly | A Blue Screen error was coming up in the Customer Service Web Chat Application after an agent accepted the incoming chat request and sent messages in the chatbox in the Interaction portal. This has been resolved by adding handling for exceptions that occur when inlining templates during dataflow rule assembly, when inlining templates, we weren't handling exceptions properly. | Decision Management |
INC-140160 | 597037 | 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-140821 | 600749 | Resolved Intermittent Access Group Issue for GetBundleEventDecisionDetails | When using a REST service that calls the GetBundleEventDecisionDetails activity and dataflow to send the treatment in multiple channels, intermittent access issue related errors appeared while running the activity in logs for multiple customers. This was traced to a missed use case for authentication, and has been resolved. | Decision Management |
INC-142084 | 599875 | Support added for expression in strategy scorecards | When invoking REST against a dataflow that had a strategy containing a scorecard that used an expression and the "Include model explanations option" was enabled in the Strategy configuration, the system failed with the error "PropertyValueInvalid .pxMaxScore Cannot cast the value (unknown) to double". This was traced to the Scorecard explanations failing during serialization when an expression was used, and has been corrected. | Decision Management |
INC-142216 | 596668 | 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 |
INC-143441 | 608899 | Strategy Simulation Runs made more resilient | Intermittently, a decision funnel simulation would fail with particular strategy logic or a particular StrategyTracker would not contain the results for all components so the system would not be able to calculate input SRs. Handling has now been added to make the simulations more resilient so they will not fail with a null pointer error due to incomplete strategy inputs. | Decision Management |
INC-144864 | 599146 | Unneeded AUC error percentage calculation removed for better system performance | When generating snapshots of the ADM models, an inefficiency in the metric calculation for the AUC error percentage caused an excessive amount of memory to be allocated which could cause slowdown or require a system reboot. This has been resolved by removing the problematic AUC error percentage calculation as it is not used in the UI. | Decision Management |
INC-148006 | 605581 | Enhancements added for very heavy use of strategy decision logic | Recent updates were 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 involved a strategy running on all the pages in that page list. To further improve performance, the array iterator has been modified and a DSS has been added that makes the threshold (50) in SSAExecutionContextIteratorFactory tunable. | Decision Management |
INC-150854 | 608368 | Logic optimization disabled in offers | Offers that should not be eligible to customers were passing through even though the offer was narrowed down to using “OR” conditions in the Engagement policies. This was traced to the logic optimization ignoring precedence, and has been resolved by disabling the optimization. | Decision Management |
Low-Code Application Development
8.5.2 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-128923 | 594159 | XSS security update | XSS protections have been added to OpenNoteDetails. | Low-code App Development |
INC-132590 | 590492 | Exported Excel from Decision Table wraps correctly | After upgrade, entries were displayed in a single line on exporting a decision table to Excel despite WrapText cell formatting being set. This was traced to the WrapText cell formatting set under the UpdateGridCells() function being overridden inside an addDataFormat() function callas part of DecisionTableWorkBookConverter.java. This has been resolved by adding the new function "setWorkAreaCellStyles" and calling it after generateWorkbook() function call of super class (AbstractWorkBookConverter.java). | Low-code App Development |
INC-136186 | 592968 | 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 | 596094 | 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-139337 | 595219 | RefreshRequestors security update | Security improvements have been added for RefreshRequestors. | Low-code App Development |
INC-140272 | 595250 | 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 RD. This has been corrected. | Low-code App Development |
INC-140789 | 597801 | Added handling for validation after inactivity | A Validate rule was configured to add an error to a field if MyPageList had any page where MyProperty was not empty. The rule worked correctly if there was no pause in using the UI, but if the UI was left for a few minutes and then the field was changed, the Validate rule always evaluated the expression to true. This has been resolved by adding a null check in Utilities.countInPageList() function. | Low-code App Development |
INC-142223 | 598647 | Handling added for new case type using reuse case life cycle | Creating a new Case Type in a branch ruleset using the 'Reuse case life cycle' option was not working, and the error "branch rulseset not a candidate" was generated. pxCreateCaseDataPages that are called as part of creating a case rely on Param.RuleSetName; generally this parameter is set in the param page when other assets are created. When Reuse case life cycle was selected, other assets were not created and param.RuleSetname was not set. This affected pxCreateCaseDataPages when branch parameter was provided. This was a missed use case, and has been resolved by setting param.RuleSetName from param.ruleset to fix the issue. | Low-code App Development |
INC-143193 | 595940 | Handling added for UI overlap issue | Elements of the window "Test Case Record Configuration" were shifted into one another when the Application name was too long that it overlapped with the other UI Elements. This has been resolved by adding a style sheet with overflow hidden. | Low-code App Development |
INC-146424 | 602896 | Keyboard users can select DSS records with enter key | Keyboard accessible users were not able to select DSS records using the keyboard. This has been resolved by adding the action "Open selected item to the Enter event for the section pzViewInstances. | Low-code App Development |
INC-149728 | 608105 | Application wizard security updated | A user having PegaRULES:User1 role only was able to run the Create Application wizard until an authorization block was reached, yet some rules were created. No operator records were created as part of this process. This was traced to code left in place after the creation of pxAppConfig and pzAppConfig portals, and has been resolved. The New Application wizard UI will display a message to a user when they lack access to build a new application, and an error will be displayed for any attempt to create a new application directly via pzCreateNewApplication to address a scenario where a user might be trying to call the activity without the front end. | Low-code App Development |
INC-150039 | 608042 | Adjusted validation of literal value of a parameter | When mapping a parameterized when rule to the proposition filter, parameters passed from the proposition filter page were not getting flown to the when rule. This was caused by special character validation for a literal value of a parameter which necessitated putting the parameter value within quotes and which resulted in a parameter value mismatch at run time. To support this use, this validation has been disabled as parameter values would not get included within quotes. This change does not have any impact on when rule or proposition filter rules java generation. | Low-code App Development |
INC-150845 | 606342 | OpenRule logic updated for GetRuleInfo | The exception "InsufficientPrivileges:RuleExecutionDenied RULE-OBJ-ACTIVITY @BASECLASS PZGETRULEINFO" was thrown for some access groups when attempting to view a section from the end-user perspective on the Opportunity screen. Investigation showed this happened when a section had a table in which "Optimize code" was unchecked. If "Optimize code" was checked, then the exception was not thrown. This was traced to recent security changes in pzGetRuleInfo which affected the BAC registration process, and has been resolved by updating the way the openRule action registration logic invokes the activity. | Low-code App Development |
Mobile
8.5.2 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-131592 | 583438 | 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-134497 | 578360 | 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-135015 | 591981 | Handling added for overriding questions rules | After overriding questions rules and then upgrading/validating Question Groups, questions were not shown. It was necessary to manually edit, save, and refresh for the questions to appear, affecting mainly Rule-PegaQ-QuestionGroup rules. This was traced to missing handling for this usecase. The commit was added in Revalidate and Save, which was committing different data because the upgraded data was not copied back to step page being used. Due to this, the commit in BulkValidateSave was overriding the changes done in the pzUpgradeSurveyInstance activity, and the survey upgrade was failing. To support this use, Page-Copy has been added to pzUpgradeSurveyInstance after the pzSaveSurveyInstance call step to copy the updated data to the step page which will later be committed by BulkValidateSave during revalidate and save. | Mobile |
INC-135720 | 594791 | 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-136202 | 603903 | Needed offline mobile resource added for upgraded channels | The error "Mobile login issue - "Resource missing. See client logs" appeared after upgrading the platform and updating the mobile channel interface. A logout button appeared, and clicking it generated a popup with "Cancel" and "Log off" buttons. Clicking Cancel returned the user to the default UI in the mobile screen. This was traced to py-avatar.css not being present, which is a resource needed for the offline application with the current platform, and this has now been added. | Mobile |
INC-136410 | 591891 | Check for mobile added | While performing external assignment in the Designer Studio, the console error "Uncaught TypeError: Cannot read property 'isMultiWebViewOfflinePegaMobileClient' of undefined" was generated. Investigation showed that this was caused by the pega_desktop_api checking pega.mobile.isMultiWebViewOfflinePegaMobileClient, which was undefined while not working on mobile. To resolve this, a check for mobile has been added. | Mobile |
INC-136768 | 588450 | 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-139678 | 589049 | 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 | 597474 | 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 |
INC-142632 INC-136091 INC-143134 INC-148727 |
598169 598906 598579 603752 |
Activity updated for Mobile attachment access | Preview and download were not working for attachments stored in Pega Cloud Storage repository for mobile devices. Attempting to open an email attachment to preview or download resulted in a console error and the tracer showed the message 'Class pxLinkedRefTo does not exist'. This has been resolved by updating "pzpega_control_attachutil" to use the activity "GetAttachmentReference" for interactions with the attachments from any storage type. | Mobile |
INC-143845 | 603218 | Signature support added for external repositories | On Accepting the signature for a repository, saving the case cleared the signature from the control, even though the signature was saved into the data repository. This was a missed use case, and support for signature has been added to external repository use. | Mobile |
INC-144311 | 601108 | Updates for nested "Append And Map To" | Nested actions "Append And Map To" in Data Transforms were producing incorrect results when offline. This was traced to all operations being performed on the Page List which was on first level of nesting, which was caused by changing the Data Transform into JavaScript form for offline use. The JavaScript form of DataTransform uses variable the "targetListObj" to represent the Page List, and this same name was reused regardless of the "Append And Map To" nesting. An additional problem was seen with the "Update Page" Data Transform action when used with conjunction with a nested "Append And Map To" action: the action assumes that top level Pages exists, but "Update Page" did not create them. This caused the "Append And Map To" action to fail. To resolve this, the "Append And Map To" action will use suffixed variable names to reference nested PageLists, and "Update Page" will create the Page if it doesn't exist. | Mobile |
INC-144566 | 600856 | User lookup list correctly populated when using # tag | When typing '#ANewTag @' in Pulse, the user lookup list was not shown. Using '#ExistingTag @' worked as expected. This was a missed use case in work done to improve the performance of pzJquerymentionsInput by restricting REST calls, and has been resolved. | Mobile |
INC-144948 | 602273 | Resolved JBoss memory leak | JBoss logs indicated connection leaks. This has been resolved by limiting the scope of instance of ActionProvider, DataSyncRequestParser to a try-with-resources block which ensures that all resources are released. | Mobile |
INC-144970 | 604952 | Tags correctly displaying after Pega 8 Upgrade | The context class for Tags was consistently picking up from the Access group but not consistently from the work class. This caused previously created tags in Pega 7 to not show up in Pega 8, and tags created through the Case Management->Social->Tag configuration were not showing up for user details. This was traced to several differences in the logic between the versions, and updates have been made to resolve this. | Mobile |
INC-146114 | 604411 | Create Survey routes case correctly | The Create Survey utility was not routing the case to the user who initiated the case, but instead was routing it to the user who checked-in the case. This was traced to an error related to pxRequestor.pxUserIdentifier in the data transform pzpopulate survey params which is called when the survey utility is used, and has been corrected. | Mobile |
INC-146676 | 601940 | Field Service app localizations updated | Localization has been added to the 'getDirections' alert and other popup alerts in the Field Service app. | Mobile |
Project Delivery
8.5.2 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-131384 | 584856 | Documentation updated for troubleshooting inline images for email | Inline images were not showing by default when sending emails. To assist in this, the troubleshooting information for email has been updated with the following information: Correct configuration for display of inline images via Email bot is one that is shipped OOTB. To support Rich text in email display via Email bots, Email body must be stored 'As HTML attachment' (the setting on auto generated Service Email rule). In addition, no other setting on listener must be changed especially 'Embed inline images'(should remain unchecked) on Email listener rule. Combination of these 2 settings causes Email bot to save - 1. Email body as attachment 2. All inline images as attachment At runtime UI display, these 2 are recombined to display proper email. This is done in order to increase performance because images are lazily loaded. |
Project Delivery |
INC-137757 | 600490 | Primary page setting updated for micro DC container | In Cosmos, a "Cannot Render Section" error displayed on submit of modal dialogue. This was caused by a primary page calculation error for the micro DC container, and has been corrected. | Project Delivery |
INC-139705 | 595169 | Documentation update for Security Settings for DX API | Information on the pyDXAPIEncodeValues application setting has been added to the Security Settings for DX API article under the Application settings sub-section. The Pega Platform version that supports the pyDXAPIEncodeValues application setting is mentioned in the Supported UI capabilities article. | Project Delivery |
SR-D92590 | 553059 | PostgreSQL information updated in Platform Support Guide | The Platform Support Guide has been updated to reflect the following: Postgresql-42.2.14.jar supports PostgreSQL 8.2 or newer, and requires Java 6 or newer (Pega only supports Java 8 and 11); this driver also contains support for SSL and the javax.sql package. Prior versions of this .jar file have known problems. Do not use these versions: • 42.2.11 – creates an exception which stops Pega Platform startup • 42.2.12 and 42.2.13 – known vulnerability issues (CVEs) reported |
Project Delivery |
Reporting
8.5.2 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-126942 INC-139295 |
583398 588138 |
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-133482 | 605002 | Corrected isExternal flag not resetting | If an extraction referred to external tables, an isExternal flag that was set to true during the Extraction process did not get reset to false for the tables which were not referring to external. This has been corrected. | Reporting |
INC-140110 | 600398 | Large filter values accepted in RD edit | Report definition edit filter values were not accepting large comma separated values properly. This has been resolved by modifying the logic in RRFilters_Logic to use ReportFilter.getReportFilters. | Reporting |
INC-141322 | 594510 | 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 |
INC-143191 | 596469 | Scheduled tasks landing page shows all tasks | Due to pzGetScheduledTasks listview having a hardcoded limitation of 500 records to be fetched, not all scheduled tasks were being shown in the scheduled tasks landing page. This has been resolved by modifying the pyCreateSummary activity to use a newly created Report Definition to fetch data instead of list view. | Reporting |
INC-144103 INC-147621 |
599681 604282 |
Updated filter logic for filtering on a DateTime column | When a class join was used in a report definition, the error "The Filter Logic used in the report is invalid" appeared while filtering rows of a report definition results on a DateTime column. This was a missed use case, and has been resolved by modifying pzGridSortPaginate to convert the data type value into the proper casing. | Reporting |
INC-145810 | 599465 | BIX log shows correct corrupted BLOB pzInskey | An update has ben made to ensure the correct inskey is shown in the BIX logs for a corrupted BLOB. | Reporting |
INC-147166 | 601799 | AvailableProperties cleanup added after save | The Report filter value auto-complete was displaying an incorrect list of values. This was traced to pyAvailableProperties not being cleaned up after being created and used in a prior process, and has been resolved by ensuring pyAvailableProperties is removed on save so it can be cleanly built when needed. | Reporting |
INC-147643 | 605386 | Corrected filtering logic for RD with declarative join | When using a report definition with declarative join enabled, running the report produced the correct results, but filtering on any other column resulted in all values being shown. This has been resolved by modifying the logic used for pzGetGridColUniqueValues. | Reporting |
INC-147856 | 607132 | Description input for new reports restricted to 64 characters | After saving a report with a description containing more than 64 characters, trying to delete the same report generated error messages saying the report description exceeds 64 characters. There was no maximum character limit set on the description input when creating/editing/save as a report. The delete modal shows any page-level warnings, so the guard rail warnings show up at that time. This has been resolved by disallowing the creation of a description greater than 64 characters in length. | Reporting |
INC-150054 | 607387 | Drilldown works for display of all locks | In Developer studio, drilling down from the summary count of all locks to see the actual cases locked gave a generic error screen. This was a missed drilldown use case for List Views during security updates, and has been resolved. | Reporting |
SR-D91660 | 555724 | Updated document ID handling for deleting indexes | When trying to delete a document for index name "work*", intermittent errors were seen indicating an invalid index name or index does not exist value. This has been resolved by updating the handling for delete by ID. | Reporting |
Security
8.5.2 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-130703 | 597255 | 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 | 582550 | 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 | 592227 | 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-134808 INC-145694 |
590711 601294 |
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-137873 | 596159 | Java injection security updated | Protections have been updated against a Java injection. | Security |
INC-140101 | 597637 | 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 | 594375 | 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-140224 | 604003 | Corrected SAML SSO error | After opening a case from the Pega-FCM portal or after logging in from SSO, closing the Pega window and opening it again resulted in the error "Unable to process the SAML WebSSO request : Violation of PRIMARY KEY constraint %27pr_data_saml_requestor_PK%27. Cannot insert duplicate key in object". This was a missed use case that happens only under the old SAML configuration, and has been resolved by removing a when condition that checks for stepstatus fail for the pySAMLwebSSOAuthentication activity. | Security |
INC-141296 | 592472 | Log-access security updated | Access control has been updated for Log-Usage class. | Security |
INC-141595 | 602713 | CSRF and Browser fingerprint tokens added for testing custom scripts | After upgrade, the test window appeared blank when attempting to test Decision Table rules. This was traced to there not being CSRF token and Browser fingerprint handling in the custom script used to show a prompt screen to the user. Because the CSRF token validation was missing, the request failed. To resolve this, CSRF and Browser fingerprint tokens have been added as hidden fields. | Security |
INC-141940 | 601542 | Revoke Access Token check removed from OAuth Client Registration | When client credentials were implemented, the OAuth 2.0 Client Registration form was designed such that once the instance was created and a token issued, the access tokens were deleted on save. Process changes now indicate that it should be possible to save the form because it may only have History Description/Usage changes made to it and Revoke Token and Regenerate Secret buttons are already available. To address this, the Revoke Access Token check has been removed from the validate activity of Client Registration. | Security |
INC-142145 | 594915 | 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 |
INC-143136 | 604014 | XSS update | XSS protections have been updated in Designer Studio. | Security |
INC-144591 | 601609 | Oauth and beanutils jars upgraded | The third party Oauth2 jars and commons-beanutils jar have been updated to the latest versions. | Security |
INC-144597 | 598305 | Updated handling for MT query of pr_data_admin table | When using a multi-tenant environment with Oracle, as the number of users in the environment increased, the number of queries of the pr_data_admin table "WHERE pyEnableAuthService" increased exponentially and causes system slowness. This was traced to missed handling for the @ character in the authentication service cache while requesting, and has been resolved by updating authservicecache.java. | Security |
INC-145033 | 599480 | ForgotPassword responses made consistent | To prevent possible exposure of valid usernames, the ForgotPassword logic has been updated so that it will show the same messages and set of screens to both valid and invalid users if a lost password request is made. | Security |
INC-146434 | 602738 | Accessibility added to Security Event Configuration headers | Labels for the headers in the Security Event Configuration screen have been converted to dynamic layout headers so they will be detected by JAWS screen reader. | Security |
INC-146921 | 601635 | XSS update for Dev Studio | Cross Site Scripting (XSS) protections have been added to Developer Studio. | Security |
INC-151253 | 607624 | Hash comparisons adjusted for upgraded sites | Existing Pega Diagnostic Cloud SSO URLs were not working after upgrade. This was traced to the previous tenant hash (or AG hash) having padding characters like ‘(’ which are no longer used in higher versions. This caused the tenant hash comparison during the SAML login flow to fail. To resolve this, the system will not compare an incoming tenant hash (in relay state) with a current platform tenant hash, but instead will rely on the “/!” pattern to identify the tenant hash in the relay state. | Security |
System Administration
8.5.2 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-130695 | 587660 | Enhancements for upgrading in multi-tenant environment | Some muti-tenant installations use the same applications or rule instances with the same pzInsKeys for different tenants. This can cause upgrades to time out due to the system fetching all pzInsKeys (which will have duplicates) and working with them in a default batch size of 500 each over 4 threads. This led to the same keys potentially being allocated and processed in different threads, resulting in duplicate processing and timeouts. This has been resolved by updating the select query to fetch the tentantid and pzInskeys in the MT system to avoid duplicate work in multiple threads. In addition, running Generate Declarative indexes fetches the pzinskeys and generates indexes for each record, but before generating, the existing index for the record is deleted and then inserted. Because the delete query to generate the index was not tenant aware, all of the records for the key were deleted for the tenants for that key, but the new index was created only in one tenant. This has been resolved by enhancing the DELETE query to be tenant aware, which will avoid deleting the indexes for all the tenants given an index key. | System Administration |
INC-133093 | 579968 | Added null checks for RAP extraction | After creating a RAP file that Included the History class and adding a List Viewer to filter the instances, no instances were added into the RAP file when trying to preview the product rule. Investigation showed there was a null pointer exception that occurred while acquiring the content page from the clipboard, and null checks have been added to resolve this issue. | System Administration |
INC-133214 | 590379 | 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-139297 | 601420 | JSON content type update | An update has been made to ensure the content_type is set to application/json for JSON response. | System Administration |
INC-140279 | 597758 | JMX logging added to upgrade diagnostics | In order to improve diagnostic information, infoForced loggers have been added for debugging upgrade issues related to JMX calls to enable and disable rules creation. | System Administration |
INC-144869 | 606615 | Improved ScalarPropertiesWriter logging | In order to improve diagnostics, debug loggers have been added to ScalarPropertiesWriter.java to print column name in the logs while creating map between column names and their values from clipboard page. | System Administration |
INC-146595 | 604789 | Initialized entryName for light weight inventory instance | When running deployment on a new pipeline created for the next minor version, once the deployment process got to the point of showing aged updates, the “view aged updates” came back as blank screen. Viewing the logs showed the aged update elements come back but were missing the pyName associated with them. Investigation showed that the system did not have support for setting the mEntryName for LightweightInventoryInstance objects. This has been resolved by adding a junit to ensure that getEntryName() doesn't return as null and should be equal to pzInsKey. | System Administration |
INC-148154 | 602919 | Hot Fix Manager updated to use installation order for schema import | Schema changes were not being imported during the hot fix manager DL import process. Investigation showed this was due to hotfixes in the DL being iterated over from newest to oldest, causing older hotfixes to replace the value added to a map by the newer. To resolve this, the system has been updated to use hotfix install order, which considers selected and dependent hotfixes, rather than ordering newest to oldest. This ensures that newer table representations will override older rather than the other way around. | System Administration |
User Experience
8.5.2 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-120299 | 578183 | Added null check to ActivityStatusExceptionHandler | Invalid Parameter Exceptions were being logged in the production environment related to an 'CPMInteractionPortalWorkArea' execution error on page 'pyTmpDisplayHarness' indicating "Invalid value for aReference passed to com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.getProperty(String, char)". This has been resolved by adding a null check before reading the DC data model in the activity ActivityStatusExceptionHandler. | User Experience |
INC-128279 | 591378 | 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 IE. This was traced to Tab-overflow being triggered in very small viewports when using IE11, and has been resolved by adding dom manipulations for all layout groups. | User Experience |
INC-128406 | 578888 | 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-132176 | 588809 | 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 INC-144102 |
580266 605882 |
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 | 595174 | 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-133576 | 590325 | Expandable Grid behavior corrected | Expanding any row in master details was collapsing a previously expanded row. This has been corrected. | User Experience |
INC-133978 INC-143260 |
587698 599303 |
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-135181 | 597425 | 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-135195 INC-139054 |
598071 598153 |
PD4ML library updated | When generating a PDF from a report definition with more than 1000 records, the system would hang abruptly and stop responding. There was also a noticeable size difference in the generated file. This was an issue with the included version of PD4ML, and has been resolved by updating the version from 4.0.6 to 4.0.9fx1. | User Experience |
INC-135405 | 582004 | 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 | 590435 | 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 ". This has been resolved by ensuring the Tabpanel has the proper aria-labelledby. | User Experience |
INC-135992 | 595353 | Corrected Windows attaching file to incorrect case | When using IE 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-136563 | 607418 | Tenant Switching updated | When working on new “tenant switching” implementations in a multi-tenant environment, the API itself seemed to be working as expected (case details from another tenant were shown correctly in review mode), but clicking on the assignment unexpectedly opened the case in a new window that contained the same review view of the case rather than the perform view. Clicking the assignment link again caused yet another review window to open with the same issue, over and over. This has been resolved by adding a UI-side update to send the requests on proper sub-domain URL instead of using the parent domain, and by ensuring the document threads are properly deleted for multitenant usecases. | User Experience |
INC-136659 | 593767 | 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-137100 | 604057 | Added predictive text handler for Japanese on iOS | The autocomplete function was not working well in MobileView when using Japanese IME on iOS. This has been resolved by adding a new input handler for IOS mobile, which will be triggered when predictive text is selected in mobile. | User Experience |
INC-137510 | 591293 | 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 RTE. 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-137818 | 594023 | 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 RUF to be used while checking the Freeze Header. | User Experience |
INC-137966 | 597740 | Embed-ReportFilter supports pyDateproperties | After creating a report definition with Date time filter values where the 'from' date and 'to' date are input and propagated as “pyStartDateTime” and “pyEndDateTime” in the clipboard, opening the pyDate properties from clipboard resulted in a 'rule not found' exception. No properties of other data types generated the error. This has been resolved by creating the pyStartDateTime,pyEndDateTime and pyDisplayTimeperiod properties in Embed-ReportFilter to support this use. | User Experience |
INC-138309 | 591148 | 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 | 594353 | 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 | 593279 | 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 | 591924 | Mouse event XSS updates | XSS protections have been added to mouse event attributes. | User Experience |
INC-138877 | 589533 | 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-138968 | 594167 | 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 | 591163 | 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 | 596507 | 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 IE 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 | 592148 | 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 RTE, and has been resolved. | User Experience |
INC-139260 | 592218 | 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 | 595699 | 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 | 588584 | Corrected Excel table picture being included with RTE paste | As an unintended consequence of code added to allow pasting or dragging and dropping an image for upload using RTE 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-139624 | 595988 | 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 | 597500 | 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 | 598127 | Sorting icon visible for table in Cosmos on Chrome | Tables were not showing any sort icon / indicator in the column header when using the Cosmos Theme in 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-139966 | 606841 | JAWS announces popup error message | When a form is submitted without giving value to required field, a browser pop up appears. The expected behavior is that the screen reader (JAWS) should move the focus to the field that has error and read the error message However, JAWS was not announcing the error "Value cannot be blank". This was traced to a scenario where if pega.u.d.fieldErrorType === "ERRORTEXT" is true, the class on the span within the error div will be set to "inputSpans", and this resulted in the return of an empty array for document.querySelectorAll("span.iconError.dynamic-icon-error"). To resolve this, support has been added for the "inputSpans" class. | User Experience |
INC-140140 INC-138701 |
595670 596613 |
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 | 595662 | 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-140482 | 594163 | 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 | 596461 | 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 | 598131 | 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 | 601140 | Radio button helper text is localized | 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 | 596067 | 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 | 601052 | 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 | 596086 | 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-142066 | 600045 | Dirty confirmation alert added for standalone Ajax container | In the Pega CS interaction portal, an interaction could be launched to create a service in the Ajax container. If the same service was opened from the search results or the worklist, however, it was not prompted with the dirty popup message to save or discard the changes. This was a missed use case for a standalone Ajax Container, and has been resolved by adding a check to evaluate whether the document has an Ajax Container so the proper dirty state handling will be called. | User Experience |
INC-142214 | 598766 | Null Checks added for Null Dereference | Null checks have been added to CSSAsJson and to the activeValue variable, which is used for the checked attribute generation. | User Experience |
INC-142452 INC-145225 |
595037 602946 |
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-142557 | 600528 | Accessibility added to Recents | Under all recent items, the work object was not opened when using the keyboard and the focus was on the work object. Clicking with the mouse worked. Investigation showed that on pressing the enter key, actions were not triggered because the action string was not on the same SPAN tag (but in child node). This has been resolved with an update to add tabindex on the same span where action-string is added. In addition, accessibility was not enabled on the out-of-the-box Recents table because the work object elements in the table used a formatted text control; this has been updated to use a link control which will enable the accessibility feature while using keyboard navigation. | User Experience |
INC-142564 | 598697 | Resolved issue with opening case in review mode | After upgrade, using the Open in Review button from the Dashboard to view a case that the user did not have work entitlements on opened the case as expected, but the screen then immediately refreshed and redirected to the home screen. This was traced to the button configuration having an incorrect action set, with cancel action and then OpenWorkByHandle, and h as been resolved by updating the open in review button to remove the cancel action. | User Experience |
INC-142589 | 595491 | 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 | 596556 | 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 | 596957 | 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 |
INC-143310 | 601205 | Added scrolling for fixed size modal with buttons offscreen | After upgrade, the modal format "Large Fixed" for the Modal Dialog in a local action was not working as expected when the screen was reduced in size. It as not possible to scroll down the modal dialog, and the "cancel" and "submit" buttons were no longer available. In standard modal, the cancel and submit buttons are always shown in the view port. When the modal is fixed format, the width and height of the modal are set to a fixed size. In that case, if the window is resized it is not possible to navigate to cancel and submit buttons that are offscreen. To resolve this, scroll has been added to allow accessing the cancel and submit buttons in case of fixed size modal that does not fit the window. | User Experience |
INC-143376 | 604529 | Adding handling for property without parent page | Filtering was not working for a DateTime control in an optimized grid with embedded property which was a function alias defined in a report definition referenced by a Data Page. This was traced to the system assuming that every property has a parent page, which this use case did not. To resolve this, an update has been made that will return null for the parentGroupOrListProp if one does not exist. | User Experience |
INC-143531 | 598644 | Dirty Flag reset updated | After opening a case in Cosmos, making updates, and then navigating away without saving, the dirty flag message appeared as expected and offered the option to save, discard, or cancel. After clicking on save and opening the next case, performing the same steps did not cause the dirty flag to display when navigating away. This has been resolved by updating the reset of the isDirtyDialogOpen inside the hide API of a modal close. | User Experience |
INC-143599 | 598771 | Non-template RDL time value handling updated | The Time value displayed on clipboard and data designer differed from the value shown on user work form when using a categorized repeating dynamic layer rendered in non-template mode with the Datetime control configured inside the RDL. This was traced to the Time string being considered as a date when using this configuration and calling the engine API, and has been resolved by ensuring this configuration will call the correct Time API instead so that the timeofday property value will be formatted correctly. | User Experience |
INC-144301 | 604406 | Revised character escaping for Tooltip | Hover text/Tooltip on the Collapsible layout was showing the content in ASCII format if the input string contained special characters like "&" (which was getting printed as "&"). This has been resolved by unescaping the title string and letting handlebars do the work of escaping it. | User Experience |
INC-144515 | 608598 | Corrected multiple harness error messages being displayed | Same validation error messages are being displayed multiple times for the harness. This was traced to the way the system checks for an existing error table based on the data-harness-id attribute in the current harness context; sometimes existing errors tables are missed and new ones were created which stacked up on screen. This has been corrected by adding a condition to check for existing errors. | User Experience |
INC-144543 | 600085 | Keyboard accessibility added to Cosmos buttons | Focus states were missing on the standard and icon buttons in Cosmos. These have been added to facilitate keyboard navigation. | User Experience |
INC-144851 | 604479 | Date Time picker works with locale es_US | When an Operator had the locale es_US (Spanish) set on the Profile, the Date Picker on the application was throwing validation errors when a date or time was chosen from the out-of-the-box Date Time Control. Investigation showed the date-time format for locale es_US was not supported, and the getDateTimeFormat API has been updated to support this format (11:00 a.m.). | User Experience |
INC-144888 | 603616 | Custom RTE plugin support updated | At runtime, two rich text editors were used in the same harness under two different sections, one regular and one hidden till clicked. A custom plugin was implemented for RTE at the harness level. After upgrade, the custom plugin was not getting displayed in the hidden RTE. Investigation showed that if plugins were added to pega.ctx.customRTEPlugins, then the plugin manager discarded plugins from pega.u.d.customRTEPlugins. To resolve this, the rich text editors plugin manager has been modified to merge the plugins from pega.ctx.customRTEPlugins and pega.u.d.customRTEPlugins. | User Experience |
INC-145119 | 601710 | Client side validation works with Reference page property | A reference page property in a 'when' rule was not evaluating properly for checking a Date field when client side validation or Client side template UI was checked on the Harness level. This was traced to pyRequired being boolean: the boolean being compared to a string false value yielded a wrong comparison, leading to the wrong validation type required. To resolve this, the system will use the === comparator to compare boolean false in datetime to remove the required validator. | User Experience |
INC-145263 | 600036 | Query logic modified for Anypicker | A search for results in the Anypicker control for the first time showed the results, but if the results were deleted and the search run again without focusing out from that field, no results were found for the second search. This has been resolved by using slice than splice in the query to avoid mutating the original array source. | User Experience |
INC-145535 | 600785 | Corrected layout group overlapping content | When an editable Table with Master Detail Edit has a section that contains a Layout group (Tab) inside the Master Detail Flow Action, if there are more layout group headings than that can be contained in the screen, a left and right arrow are displayed to toggle between headings in the layout group heading bar. However, timing issues sometimes caused the contents of the layout group to overlap on top of the content below the layout group and the screen was freezing with a loading icon. This was traced to console errors, and has been resolved by adding an 'undefined' check to prevent those errors. | User Experience |
INC-146223 | 604464 | Date column filter shows correct date/time for optimized code | Two issues were seen when filtering a table that had the "Optimize Code" checkbox checked: 1) While filtering the date values in the table, the table showed one day less than the actual date based on timezone differences. When both the operator and server timezones are the same, the issue did not occur. 2) The filter always showed the time value as 00.00 irrespective of the property timestamp value. These were traced to the pyModes being incorrect for embedded properties, which has been resolved. | User Experience |
INC-146237 | 608744 | Corrected popover scroll for AnyPicker | Using the AnyPicker control caused display problems. In the initial display of the selection list, the line of choices and the search field overlapped and they were displayed from the second line of choices which forced the user to scroll up to see the first line. After displaying the selection list, clicking outside the selection list without selecting anything to close the list and then displaying the selection again caused the options to be displayed from the 4th line, requiring a scroll up to see lines 1 to 3. This has been resolved to ensure the Scroll on Popover goes to the first element. | User Experience |
INC-146429 | 602290 | Disabled control status made accessible to JAWS | When using the Security Event Configuration page (tab) within Pega Dev Studio, the link elements used for 'Select All', 'Clear', 'ON' and 'OFF' were not providing the current State of the element to JAWS. In template rendering of Link control with a 'disable when' condition (server-side evaluation), when the control is disabled it was still accessible and screen readers were not reading the link as disabled. This has been resolved by adding tabindex="-1" and aria-disabled="true" for disabled Link control. | User Experience |
INC-146572 | 603294 | iniGadgets updated to support jQuery with Mashup | Mashup gadgets were not loaded during browser refresh when the host page had a jQuery in it. This issue occurred while trying to find the gadget divs. There is an 'if' condition to check if $ is available in initGadgets method. In this scenario, this 'if' block was getting executed and mashup gadget divs were returned as empty. As a result. mashup was not getting loaded. This has been resolved by updating the iniGadgets method to check for jQuery instead of $. | User Experience |
INC-148115 | 605421 | Autocomplete results list position scrolls inside a table | Given a row editable table with a fixed height and freeze grid header, when autocomplete was included in a row of a table and the down-arrow was pressed to get the list of options in dropdown, this drop-down popup was not moving along with the row during scrolling. This was due to scroll handler not being triggered for popover when inside a hierarchical table, and has been resolved. | User Experience |
INC-148237 | 605846 | Autocomplete markup handles control format style names with spaces | After creating the format 'Standard Gray Background' in the skin rule to change the back-ground color for an auto_complete field and using it in a presentation tab for Control-format input, the field was not updated with the background color as expected. This was due to the Autocomplete control only replacing the first space in the control format name with underscore ( _ ), causing the formatting to not be accepted. While there was a workaround of providing a name without spaces or using a name with only a single space, this has now been resolved by modifying the autocomplete markup generation so all the spaces in a control format style name are replaced instead of only the first space. | User Experience |
INC-148303 | 606795 | doRDLAction activity registered for BAC validity | Users were unable to see more than the 10 most recent pulse posts because of a security alert (SECU0019) being thrown when the 'Show More' link was clicked. Investigation showed the error was coming from the PegaGadget-Feed.pyRDLPaginator section: "pzdoRDLAction" is part of non-template rendering, and pagination will use "pzdoRDLAction" activity whenever paginator is used in a non-template section. Because of this, it must be registered for BAC security to accept it and pass through, and this has now been done to resolve this issue. | User Experience |
INC-148375 | 607796 | "Today" will set date-time in the respective operator timezone | When a Date was entered using the "Today" option in Datetime control, the Date set used the system date and Time was taken from Timezone specified for the operator. This created issues for a scenario such as operator being set to America/New_York/ EST while the application was accessed in another country such as India or Japan. This was a missed use case and has been resolved by adding code to get the date-time in the respective operator timezone and setting it on click of date-time controls. | User Experience |
INC-148552 | 607367 | Added ability to disable dirty form browser alerts | In order to add support for those who do not want to see a browser alert pop-up when cancelling a work item after making changes but do want the out-of-the-box Dirty popup to be displayed, an update has been made to add a configurable flag. If pega.u.d.bUseNativeDirtyConfirm is set to false, only Pega dirty dialogs will be shown. Setting it to true will show the Pega dirty dialog or else the browser dirty dialog for an event object. | User Experience |
INC-150189 INC-146262 |
608911 603689 |
Handling added for new doc.write with Chrome 85 | Document.write was not working as expected on Chrome 85 due to the DOM elements not being updated. This has been resolved by updating the code to do doc.write by checking the if the document body has no child nodes in a time out. | User Experience |
INC-150407 | 605840 | Validation error messages correctly cleared in nested markup | A UI Freeze issue was seen whenever mandatory input was missed and the form was submitted. Continuing was possible after browser refresh, but a new Next>> button appeared. This was an unintended side effect of work done to correctly clear validation messages when areas had captions, and has been resolved by modifying that work so it performs as expected on nested markup. | User Experience |
INC-150472 | 607392 | Sorting works after selecting a view on GRID | After configuring an optimized table with personalized view, saving a view and toggling to the new view, the sorting on the grid did not work anymore. Returning to the default view did not fix the problem, but sorting was reenabled after a browser refresh. This was traced to duplicate removeinstance calls of the grid which deleted the click event listeners for sort, and has been resolved. | User Experience |