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.1.9 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-128960 SR-D65866 |
571360 536427 |
Corrected approval step task message | When a case progressed to the approval step, the task name did not properly appear as part of the "Please approve or reject this" message. In another scenario, a portal which supported locale switching was not translating "Please approve or reject this" when the locale was switched, but instead displayed the message in the original language. Investigation traced this to the pzInstructionsForApproval data transform storing the localized field value, causing it to persist inappropriately. This has been resolved. | Case Management |
INC-131151 | 572832 | Resolved empty body for Reject email | When using the pzEmailActions Section in Correspondence for Approve/ Reject functionality via email, there was no reply body in the email for Reject Option. This was due to the flow action for the Reject email being different than that of the Approve email, and has been resolved. | Case Management |
INC-131385 | 573454 | Swagger APIs updated | The Swagger File APIs have been updated to ensure swagger document files generated meet specifications for editor.swagger.io . | Case Management |
INC-134370 | 577635 | Expanded Grid locking updated | When using pyDashboadMyWorkList to show the cases of an operator with Master Detail in Read Only mode, the system was acquiring a lock on the expanded work object. To resolve this, the following changes have been made: * In activity Assign-pyAcquireObject, If the parameter bRODetails is true, do not call acquireWorkObject and do obj-open-by-Handle to get assignment and work page in pyAcquireObject activity. * In activity acquireWorkObject, the parameter skipWorkLock has been removed as acquireWorkObject should always acquire the lock. |
Case Management |
INC-134709 SR-D98224 |
579433 580595 |
Updated endpoint Cross-site scripting protection | Cross-site scripting security has been updated for Endpoints in Display activities. | Case Management |
INC-140739 | 592830 | UniqueID enhancement for attached files | When two files with the same name were uploaded by different users simultaneously through Pulse or if a user uploaded two files with the same name across two sessions, whichever file arrived later was overriding the previous one in the system. As a result, the first pulse post ended up with an incorrect file attached. This has been resolved with an enhancement to add an API that appends a uniqueID to the file before uploading to ServiceExport directory. | Case Management |
Cloud Services
There were no 8.1.9 Resolved Issues for Cloud Services
Conversational Channels
There were no 8.1.9 Resolved Issues for Conversational Channels
Data Integration
8.1.9 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-120600 | 565198 | Handling added to avoid primary key exception in pxExtractDataWithArgs | While running the activity pxExtractDataWithArgs with -c, the "Error while getting the sequenceNumberERROR: duplicate key value violates unique constraint pr_log_pk" occurred if both Parent and Child classes were pointing to different table and extraction started from the child class. In this case, because the Parent and Child classes were pointing to different tables while extracting with the -c option, the class list order caused a primary key constraint violation exception while generating the process sequence number. To resolve this, while adding the classes to the instance map, the order will be changed to parent followed by child classes. | Data Integration |
INC-122191 | 564458 | Application content storage change corrected | Selecting the Content Storage radio buttons set a background property indicating the content storage option was changed, but the property was not actually being set. Investigation showed that the value for pyContentStorageChanged was not being updated correctly before the section refreshed, meaning the selection was never saved. This has been corrected. | Data Integration |
INC-125633 | 589576 | 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-128899 | 578022 | 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-131488 | 577697 | Added handling for download of attachment with special characters | If the name of an uploaded attachment contained a non-ascii character, the upload was successful but the downloaded file had the wrong name without any suffix. This was an issue on WAS or JBoss servers where filenames contained non-ascii characters, and the filename parameter in the content disposition header also contained these characters. To resolve this, the filename parameter in the content disposition header will be encoded as well along with the filename* parameter to handle non-ascii characters in the filename. | Data Integration |
INC-135550 | 581375 | Resolved slowness in retrieving case attachment from AWS | Attempting to open a case attachment caused the application to slow over time and eventually became unresponsive. Restarting the Tomcat nodes improved the response time. This was traced to a null Buffered Input Stream not being closed correctly when using AWS, and has been resolved by adding the needed logic to PegaGadget-Pulse.pzStorageAttachSelectedFile. In addition, enhanced logging has been added to Embed-Repository-S3.pyGetFile. Enhancements have also been added to improve the use of AWS file storage: - Logging for AWS SDK connection metrics can be activated on a per-repository basis, either through the ruleform or through the DSS storage/class/:/enableMetrics. - INFO logging can be enabled on PegaAWSSDKMetricReporter to periodically output averages of recorded metrics for all registered S3 repositories with metric collection enabled, or INFO logging can be enabled on PegaAWSRequestMetricCollector to output recorded metrics on every client call for all registered S3 repositories with metric collection enabled. - The interval at which PegaAWSSDKMetricReporter logs metrics at can be configured with the DASS storage/AWSSDK/metricReportingInterval. This DASS is a system-wide setting, and not a per-repository setting. The default reporting interval is 90 seconds, and metric collection is disabled on all repositories by default. |
Data Integration |
INC-135823 | 581322 | Transient property passivation handling improved | Frequent "com.pega.pegarules.pub.PRRuntimeException" errors were seen in the production log file while working on the WO. This was traced to corruption in the blob caused by transient properties during passivation. To resolve this, corrections have been made to the handling for the transient property entries in the blob. | Data Integration |
INC-138675 | 598087 | Enhancements added to S3 repository implementation | The following changes have been made to avoid redundant/unnecessary S3 SDK calls to look-up metadata for files/folders related to integrated S3 Repository API implementation: Provided storage/AWSSDK/enableSDKMetrics DASS to enable AWS SDK metrics for S3 repositories system-wide to troubleshoot performance issues Added timers for Pega platform repository APIs. To see these timers in Pega application log, set log level to WARN for the log category pxIntegration.Repository.S3 and set log level to DEBUG for the logger com.amazonaws.latency Optimized FileS3Adapter.getMetadata() by avoiding object-metadata lookup for directories and caching rootpath directory metadata for 5 mins Handled exceptions while uploading file to S3 bucket and convey appropriate error message to RepositoryManager.createFile() API consumer Refined DEBUG logging and introduced new loggers to emit stacktraces Enhanced RepositoryManager.initCache() and FileStorageManager.registerStorageClasses() to maintain non-overridable repositories (that are initialized based on DASS/DNode settings on node start-up) and to prohibit overriding the same. |
Data Integration |
INC-142036 | 594578 | Additional BIX logging added | In order to improve the ability to trace and resolve issues related to BIX extract rule failures, additional diagnostic logging has been added. | Data Integration |
INC-142188 | 600328 | 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-143195 | 596845 | BLOB utility modified for better memory usage | An out of memory error was encountered when running the utility for handling corrupted BLOBs. This has been resolved by modifying the utility to get the rows in batches. | Data Integration |
SR-D36826 | 550273 | LastAccessTime returned for MDB listeners | The lastAccess time for the JMS listener was not being updated. Investigation showed that lastAccessTime was correctly updated whenever isStopping() was called, but isStopping() was not called for MDB listeners because the MDB listeners' state is managed by the app server. This caused accessTime to be empty. To resolve this, ListenerStateImpl has been modified to return mRequestTime as the lastAccessTime if the listener is of type MDB. | Data Integration |
SR-D83424 | 552723 | Class Loader cache values wrapped with WeakReference for improved cleanup | Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference. | Data Integration |
SR-D84876 | 547689 | Performance improvement for Oracle 12c queries | In order to compensate for a known issue with Oracle 12c that can cause repeated queries at certain times to cause database contention, Oracle pre/post processing steps have been added to improve performance in this environment. | Data Integration |
SR-D86413 | 553701 | Updated sender email address validation to handle long domains | In some cases, attempting to create a case via an email was failing and the cases were being routed to the broken queue. The error "IndeterminateConditionalException: Unable to load data page D_TrackAutoResponse. Required parameters : SenderEmailAddress. cannot be blank" appeared. This was traced to regex having a validation on the length of a domain name which caused a lengthy 'from' address to be trimmed. To resolve this, the regex has been modified to validate the email address as per RFC5322. | Data Integration |
SR-D87673 | 552486 | IACservice security updated | Security updates have been made which now require authentication to consume the services from IACservice packages. | Data Integration |
SR-D88499 | 551188 | Check added to minimize Obj-Open-By-Handle error logging | When using a Data Type with the "Automatically generate a unique id " option, calling the Save-DataPage method by using the savable data page of the data type finished correctly but showed Obj-Open-By-Handle errors on PegaRules.log. Investigation showed the exception was thrown when running the save plan from DataPageSaverImpl: while attempting to run the save plan, the system does not know whether a parameter (pyGUID in this case) will be required to run the save plan or not, meaning that it can't detect any possible error in DataPageSaverImpl. The implementation instead makes a call to db.open to check if an instance exists and hence logs are thrown. To resolve the error logging, a check has been added: if the save-to class has an autogen key and the savable data page instance doesn't have the autogen key in it, the system will directly call pxCreateRecord. This will avoid a call to db.open to check if instance exists and hence no failed logs will be thrown. This partial change will work only for classes having an autogen key and in cases where the page is trying to create a record by intentionally not passing the key. | Data Integration |
SR-D90687 | 560430 | IOException handling improved to resolve broken pipe errors | Frequent "connection reset by peers" exceptions were being generated and broken-pipe exceptions were seen in the logs. Investigation traced the issue to unhanded IOExceptions on the server side that were a result of the client application not always closing the TCP connection gracefully. To resolve this, error handling for IOExceptions has been improved. | Data Integration |
SR-D92707 | 551693 | QP exception handling improved | There is currently a configurable maximum size limit for QP items of 5MB. If the message size exceeded 5 MB, the message failed to be enqueued to Kafka, but still ended up in the delayed message table where it remained. This caused issues with pzDelayedQueueProcessorSchedule JS as a result. To resolve this, the system has been updated to better detect Kafka errors related with message size and move any corrupted item to the broken message queue with the appropriate message attached. | Data Integration |
Decision Management
8.1.9 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-126129 | 569666 | PropertyToColumnMap made more robust | The DF_ProcessEmails dataflow was intermittently failing with a StageException error. This was traced to schema changes being propagated asynchronously by system pulse, which seem to have caused PropertyToColumnMap to cache stale schema. To resolve this, if the property mapping is not found the first time, the system will make a second attempt to get the mapping. Additional logging has also been added for better diagnostics. | Decision Management |
INC-128385 | 564521 | Behavior made consistent between SSA and legacy engines | There was a behavioral disparity between the legacy execution engine and the SSA engine where the latter was not creating a new page when the index was one above the size of the page list. This has now been corrected in order to make the SSA behavior fully backward compatible with the legacy engine, i.e. a new blank page will be added to the list if the index is one above the size of the list. | Decision Management |
INC-129222 | 568530 | Handling improvements for commit logs | The ADM commit log logs the number of unconsumed messages that are going to expire. In certain circumstances, it can include unconsumed messages that are not going to expire in the count. Because they are not expired and removed, the environment was running out of disk space due to the ADM commitlogs table growing larger than expected and performance issues were seen. To resolve this, a new adm_commitlog.adm_responses_commit_log_date_tiered table has been created, with a default_time_to_live of 24 hours. DateTieredCompactionStrategy has been set with max_window_size_seconds as 24hrs and tombstone_compaction_interval as 24hrs. | Decision Management |
INC-132976 | 580685 | Performance improvements for Test Strategy data flow | In the Test Strategy panel under Single case -> "Settings", selecting the "Data flow" option and choosing CustomerData dataflow was taking an excessive amount of time to run on a system with an extremely large database. To improve performance, two areas have been addressed: 1) the default behavior for record key suggestions in the test panel has been modified to collect only the ID as the additional data is not necessary at that time; 2) a DSS has been added that will opt out of reading and collecting the customer IDs in order to minimize data stored on the clipboard. | Decision Management |
INC-138037 | 586593 | Strategy handling updated for very large systems using IH summary | When a Strategy in a Real-time dataflow used IH Summary on a system with more than 5000 groups for one eventKey, the message "Error retrieving aggregates from Cassandra KVS" intermittently appeared. Investigation showed that if the number of result rows was greater than the FETCH_SIZE (set to 5000), it meant another read to Cassandra was required and an exception was generated. To resolve this, updates have been made so that instead of returning maps, the system will return iterators and change them to map on the calling thread. | Decision Management |
SR-D92734 | 553412 | Simulation can take Data flow type as destination | Support has been added for Data flow functionality as simulation target and data transform in simulation input. | Decision Management |
Low-Code Application Development
8.1.9 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-125803 | 568661 | Cross-site scripting updated for pzTransformAndRun | Additional Cross-site scripting work has been done on the pzTransformAndRun activity. | Low-code app development |
INC-127981 | 563000 | Rulesets removed from direct invocation ability | Internal rules have been updated so that they are no longer available to be invoked directly by a client or service. | Low-code app development |
INC-146837 | 602673 | PerformCriteria contains CurUserHasRequiredSkills 'when' rule | A customer version of the PerformCriteria data transform was generating a validation error due to a qualified statement that resulted in a null result. This has been resolved by updating the PerformCriteria DT to include the CurUserHasRequiredSkills 'when' rule. | Low-code app development |
Mobile
8.1.9 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-120326 INC-133173 |
564437 573441 |
Landing page refresh modified to avoid frequent reloads | Approximately every two weeks, clients were able to login but it was not possible to work as the landing page refreshed constantly until all of the nodes were rebooted and the issue was cleared. Investigation indicated the frequent reloads were related to the cacheing of the operator details, and this has been resolved by updating the datapage reload strategy based on 'when' so frequent reloads will be avoided. | Mobile |
INC-130158 | 572051 | iOS file attachment works in Safari | Attaching PDF and images from iOS devices using Safari was not working. This was traced to iOS 13 launching the file browser by default if the file-input element had an accept=/ attribute value pair, and has been resolved. | Mobile |
INC-136752 | 587728 | Adding handling for custom image on S3 storage space | When using an S3 repository for Content storage, trying to create a new space with a custom image did not upload the image. Investigation showed that when attachment storage is configured as an external repository, the pyAttachStream property which is used to create the the thumbnail was getting cleaned as part of the saving logic. This has been resolved by adding an update that will hold the attachStream value in a local property before calling attachment save. | Mobile |
INC-141920 | 595139 | Unable to delete the Spaces after loggin off | If a Space was created and then deleted in the same login session, the delete worked as expected. If the Space was created and then actions were taken to delete it on a subsequent login, the Space was not actually deleted. Investigation showed this was due to v8.1 not having a stream/blob (PZPVSTREAM) in the pc_work_group table, and this behavior was the result of extra properties included on the page. To resolve this, the extra properties on the page will be removed before the obj-save/commit . | Mobile |
SR-D85624 | 552697 | Corrected Microsoft Internet Explorer displaying checkboxes as sliders | Checkboxes were displaying as sliders in Microsoft Internet Explorer version11.1304.17134.0 due to Microsoft Internet Explorer returning Table pc 2.0. Since Pega HTML class includes tablet, .tablet related styles were getting picked up and displaying the checkboxes in tablet mode. To resolve this, a check has been added to pyIsTablet to evaluate correctly at runtime. | Mobile |
SR-D91532 | 556406 | Resolved Clear Cache error for mobile client | When attempting to clear local storage while logged into the Mobile Client, the error message "You need to be able to connect to the server in order to clear the storage" appeared. This was traced to the application being configured to disable a user's web session immediately after log in, and was due to the "Clear Cache" functionality failing while attempting an AJAX request to invoke the server's "pzAmIOnline" activity. While there was a workaround of using the check box "Access group requires a connection for portions of the application", this has been resolved by updating the Settings - Clear Cache functionality in order be able to detect if it's online in a different way. | Mobile |
SR-D95428 | 555260 | Security added to retrieving operator list by URL extension | It was possible to append information to the application URL which allowed an unauthenticated user to find a list of operators. This has been corrected, and will now result in the message "There has been an issue; please consult your system administrator." | Mobile |
Project Delivery
There were no 8.1.9 Resolved Issues for Project Delivery
Reporting
8.1.9 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-119669 | 562588 | Special character handling added to filters for table sourced with parameterized RD | Filters were not working on a table when sourced with a report definition which accepted a parameter value containing special characters (Eg: S&P). This has been resolved by using StringUtils.reversibleCrossScriptingFilter in the pzGetGridColUniqueValues activity to allow filters to contain special characters. | Reporting |
INC-145810 | 599463 | 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 |
SR-D90400 | 563187 | Explicit parent added for descendants in subreport to correct summary | When using a Report Definition with a Summarize column and a subreport with join class, it was not considering implementation class work objects. As a result, the prepared values were only partially computed. This was traced to the SubReport in SetQuery not having reference to a parent for the descendants classes, and has been resolved by explicitly setting the parent value. | Reporting |
Security
8.1.9 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-130299 | 583924 | Updated SSO operator authentication handling after passivation | With SSO enabled and the pyAccessGroupsAdditional value list populated with the Mapping tab, attempting to access an expired session with an old cookie resulted in a stale thread exception while mapping value list attributes. This was due to using an AuthServicePage which was created by another session thread that had become stale for current session, and has been resolved by updating the code to call the authenticateoperator method on the authservicepage copy. | Security |
INC-135874 | 58341 | Added handling for password containing a colon on Pega Client for Windows | If a password included a colon (:), it was possible to log in on the desktop but not Pega Client for Windows. This was due to authentication files specific to the Windows mobility client, and handling has been added to resolve the issue. | Security |
INC-137709 | 584291 | New security role added to restrict access to development-specific classes | A new security role and related RAROs have been implemented to allow better security for end users on non-BAC systems. This restricts access to Rules and execution of activities on classes that are development-specific. | Security |
INC-137978 | 586184 | CDK key loading modified for better database compatibility | Users were unable to log on to the system and received the error "There has been an issue; please consult your system administrator." Investigation showed the log errors stating "(dataencryption.DataKeyProvider) ERROR localhost - Could not get CDK from systemKeyManagementCache - System CDK is null". This was an issue specific to the MS SQL Server database when there were 6 or more CDKs in the database: CDK keys are loaded from database into Cache using an SQL statement which had the ORDER clause. By default, the ORDER clause treats NULL values differently on different databases, and this caused MS SQL databases to not load a necessary CDK key. To resolve this, the SQL query has been modified so the result will be the same for all supported daatbases (Oracle, Postgres & MS SQL Server). | Security |
INC-138490 | 591016 | Handling added for samesite cookies with httpOnly | After enabling samesite cookies on Google Chrome to support Mashup login, intermittent issues were seen with a non-mashup login where entering the OperatorID and password only resulted in a refresh of the login screen. This was traced to a scenario where an httponly cookie attribute was present along with samesite cookie attributes, and has been resolved by adding handling for a condition where samesite is set and httpOnly is enabled. | Security |
SR-D95148 | 557485 | Port validation updated for redirect URI | When an offline app for windows client was generated, trying to login via SSO resulted in the error "invalid redirect_uri". This was traced to the system validating the whole loopback redirection URL, e.g. "http://127.0.0.1:1234/redirection", including the port number. To enhance flexibility, an update has been made so that the port number will not be validated, allowing the client to establish it based on availability at the moment of the request to the authorization service. NOTE: As a best practice, a loopback URL should not be configured as a redirect URI. If a loopback URL is configured, then at run time the port number will not be validated, and the client application can use any available port on the system including ports that may not be intended for use. | Security |
System Administration
8.1.9 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-130304 | 567924 | Retry logic added for downloading upgraded rules | A Rules upgrade failed while downloading applications from the maintenance server due to an SFTP server connection failure. This has been resolved by adding logic to retry if the first connection attempt fails. | System Administration |
INC-130695 | 587659 | 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-132218 | 573359 | Resolved buffer overflow for Migration loadDatabase | A Rules upgrade failed in the Migration step at loadDatabase stage, involving the move of all the table records from old schema to new schema. This was traced to the inability of Migration to load blob of sizes more than 100 MB, and has been resolved by updating Migration to use byte[] to read the blob content with the help of metadata that contains blob length. | System Administration |
INC-133202 | 574701 | TableRenameUtil hashing improved | During index name generation, the algorithm that was responsible for index name uniqueness was sometimes insufficient and cerated a loop condition. This has been resolved by using a stronger hash algorithm and refactoring the code that could result in a loop. | System Administration |
SR-D84364 | 551402 | Check for circular references added to SearchInventoryImpl to prevent recursive call | An out of memory error was traced to SearchInventoryImpl infinitely recursing over a clipboard property, where the child property referenced a parent property and resulted in an endless loop. This has been resolved with the addition of a depth check to ensure that the search does not recurse infinitely. | System Administration |
User Experience
8.1.9 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-121444 | 561810 | Added handling to force text area maxlength in Microsoft Edge | When using the Microsoft Edge browser, it was possible to continue entering characters in excess of the value set for the 'max characters' property. Investigation showed that the Microsoft Edge browser does not honor the maxlength attribute on text area; to resolve this, logic has been added to restrict the user from entering extra characters above the max limit. | User Experience |
INC-125334 | 581939 | Focus persists for embedded Tab Group layout with section refresh | When a Tab Group Layout was configured with multiple sections using multiple input elements including one with a 'Refresh this section' action, using the Tab key to reach the input element, make a change, and hit Tab again caused the focus to reset to the top input element. This has been corrected. | User Experience |
INC-125398 | 564978 | Updated handling for checkboxes configured in the header | After configuring multiple checkboxes where each checkbox had a different property and different DT as action set and then using them as a single column header in the table, the on-change of any one checkbox caused all of the checkboxes to be checked or unchecked in the column header. This was caused by the pega.ui.grid.prototype.checkAllIfInHeader, which selects or unselects all checkboxes present in table (header +. body) based on checkbox status in header. However, the header row should not be part of the iterator during this function, and the necessary update has been made. | User Experience |
INC-126255 | 580910 | Resolved "maximum limit for pending changes" error | When attempting to create a work object in a custom way using doCreateNewCase from the Smart investigate layer by using the RMButtonWithoughtWorkCaseNGP section, a popup showed the error “You have reached maximum limit for pending changes. Please commit/cancel one or more changes to continue.” The error did not occur when creating the case using the out-of-the-box Create New Work action. This was traced to the custom configuration creating work object threads that were not destroyed after the work item is closed. To resolve this, handling has been updated for passing dynamiccontainerID and contentID parameters for OpenWorkByURL case. Note that the pzUpdateActionInfo activity must be called in any custom activity before the actual activity is invoked. | User Experience |
INC-126432 | 564625 | Support added for resuming scenario test recording | When running an automation recording, a refresh of the harness was hiding the recording panel. When it was reopened, the panel was not responsive but the recording process was still running. This was traced to a scenario where the portal harness had a second harness running on it (such as a normal case worker would have) and the "Render As Single Page" was not checked: clicking a button with an action like "create new work" caused the whole harness (top) to be refreshed, resulting in the panel issues. To resolve this an enhancement has been added which will maintain the Scenario test recording when browser refresh happens, and recording can be restarted by clicking the toolbar option. | User Experience |
INC-127201 | 562822 | Thread Cleanup error resolved | After upgrade, intermittent exception errors were being generated by the FreeClipboard activity when switching between applications. This was traced to specific use-case issues with Thread Cleanup, and has been resolved. | User Experience |
INC-128279 | 591379 | Layout Group tab alignment correctly shown in Microsoft Internet Explorer | Even though the responsive breakpoint for a layout group was disabled, the tabs were getting changed to Menus in Microsoft Internet Explorer. This was traced to Tab-overflow being triggered in very small viewports when using Internet Explorer 11, and has been resolved by adding DOM manipulations for all layout groups. | User Experience |
INC-128559 | 564708 | Check added to only show active popover | After selecting the autocomplete value and going to calendar field to select the date value, scrolling on the calendar field caused the calendar popup to reappear but it was not possible to select a date value.This was traced to the DOM using _popOversContainer ID for both the fields, autocomplete and date calendar. Removing the autocomplete caused the behavior to work as expected. To resolve this, the isActive() check in popover.js has been modified to reposition and show a popup only when it is active. | User Experience |
INC-129388 | 571374 | Check for mobile added to Pega Client for Windows time control | When attempting to enter time using the out of the box time control in Pega Windows Client application, the control became stuck and continued to show on the UI even when screens were progressed. If the control was marked as a required field, this was a blocker. This was due to the 'validation_validateFromUIEvent' overlay invoking the 'pega.util.Event.getEvent()' function: this function was trying to get the events by traversing all the way to the event initialization, but the process was timing out on mobile/touchable devices and returning the parent event as undefined. Because 'pega.util.Event.getEvent()' was undefined, the validation_validateFromUIEvent caused js errors. To resolve this, a check for mobile has been added to the validation. | User Experience |
INC-129603 | 568214 | Calendar Mode accessibility enhanced | Accessibility has been added for datetime control's calendar mode by adding alternative text and an aria-label for the image icon with a value from fieldvalue "Choose from calendar". | User Experience |
INC-129848 | 580460 | Refresh handling added for cancel 'add item' while offline | When using iPad and iPhone offline, filling in one required field, hitting submit (click action: 'Add item') without filling in a second required field, and then hitting cancel resulted in a blank record being added. Clicking the cancel button first without clicking submit before did not add the item. This was traced to the underlying repeating dynamic layer being refreshed during the submit and adding the record, and has been resolved by adding a refresh for the cancel button process as well. | User Experience |
INC-130011 | 571833 | Resolved stale reference error when swapping stages with drag and drop | If user swapped stages (2nd stage to 1st stage) using drag and drop and then added a participant or role in the stage, a Pega blue screen appeared. This was traced to using a grid with reorder and an inner grid in the cell. On drag and drop, the grid reference object was stale and not in sync with the latest table. To resolve this, code has been added to reinitialize the inner grid on drag and drop. | User Experience |
INC-130090 | 573264 | Added handling for sourced radio-buttons group rendered in an inner iframe | When using a radio button sourced with a pxTextinput using a Local List 'Yes' and 'No', the Assertion conditions were populated with incorrect data while a test scenario was being recorded, causing the test case run to fail. This was traced to the radio buttons being inside an iframe (dynamicContainer): when the scenario test was run, the radio-buttons group was rendered in an inner iframe that caused the document to refer to the outer document on the webpage instead the inner document. This has been resolved by adding handling to get the OwnerDocument of the DOMElement in domUtils's getDOMElementValue() and call getElementsByName on itso the references are correct. | User Experience |
INC-130677 | 570040 | When rule accepted in column header | A grid was not rendering if it contained a 'when' rule on a column header. This was a missed use case and has been resolved. | User Experience |
INC-132771 | 584960 | Refresh section of MultiSelect properly handles refresh section | On hitting tab or enter on a Multiselect control with "Post value" and "Refresh Section" enabled, focus moved to the header of the page when it refreshed. This has been resolved by updating the 'disable when' expression for "run on client" to better handle the input element used for enabling the controls. | User Experience |
INC-133576 | 590324 | Expandable Grid behavior corrected | Expanding any row in master details was collapsing a previously expanded row. This has been corrected. | User Experience |
INC-133978 | 587697 | 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-134893 | 587168 | Added check for localeDb properties in dateTimeUtils | On click of the Approval/Finish assignment submit button, a blank screen appeared and no further progress could be made. This was traced to an issue with the operator locale not being properly set by the html fragments that initialize the locale for use in dateTimeUtils. This has been resolved by adding a check for properties in the localeDb object. | User Experience |
INC-138877 | 589532 | 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-142277 | 601778 | Header style inheritance corrected | When a header style for a container was explicitly set, any layout underneath inherited that style when using container formats set to 'Use Skin Base Settings'. This has been resolved by increasing specificity for the header title. | User Experience |
INC-143545 | 600711 | Support for 'when' action evaluated in runtime | A 'when' rule was not evaluating properly on enabling "Optimized code" and "Personalize table" options for table/grid. This has been resolved by adding support for a 'when' action in a templated grid. | User Experience |
INC-144462 | 601367 | Added logoff check for requestors | The error "java.lang.InterruptedException. Requester has been destroyed" was appearing in the logs. Investigation showed this was related to unregister requests being submitted after logoff, and has been resolved by updating the system to check for logout before sending unregister requests. | User Experience |
INC-144527 | 599396 | Scenario test cases working with radiobutton in grids | Running scenario test cases was not working correctly if the table layout had rows with radiobuttons. When the radio button control is included with a property type of boolean in a grid, radioTable class is not present in DOM. Because the scenario testing tool relies on this class of highlighted element to get the target element, the system was not able to get the proper target element in this case. This has been resolved by updating pzpega_ui_automation_radiogroup to get the proper target element when boolean type radio buttons are included in a grid. | User Experience |
SR-D68328 | 557751 | Unload handler added for use with custom popups | A memory leak seen in Microsoft Internet Explorer was traced to a custom script to close windows which bypassed window unload and continued to hold some objects in memory. This has been resolved by introducing a new file which will load only for popup harnesses and which registers the unload handler to remove the popup window references. | User Experience |
SR-D80696 | 548824 | Autocomplete context fetched for dropdown in nested case | The autocomplete dropdown was empty when using SmartTip and the down arrow was clicked while opening an autocomplete case within an Interaction case. Opening the service case directly in a new tab populated the dropdown values as expected. This has been corrected by registering context changes just before the content is fetched for the overlay. | User Experience |
SR-D86200 | 549032 | Resolved tab appearance issues related to resolution support | When trying to add multiple tabs on larger screens, once the first row was filled with tabs then new tabs began appearing at the bottom of the layout group. The layout group worked as expected with the tab overflow having the right and left arrows with the dropdown on smaller screens. In addition, @1440px the overflow arrow on the right side was not working correctly, showing as grayed out even though focus was not on the last tab. These issues were traced to taboverflow with add icon not working correctly at certain resolutions. To resolve this, the todisableslide function has been updated to consider add icon width and layoutgroup has been updated to consider parent width. | User Experience |
SR-D87546 | 553356 | Harness context will be stored to handle on click executed outside of the Ajax Container | An exception was generated in the interaction portal on execution of a post-value action for the on-change event on a text-box in the service case: "Failed to find instance Work-Interaction-Research.EmailBodyRTE of type Rule-HTML-Section". This was traced to a condition where clicking outside of the Ajax Container context to trigger the change caused the Events code to execute the event in the active context when the active context had already been changed by clicking outside of the AC. To avoid this, the system will store the harness context in the event object using pega.ctxmgr.getContextByTarget(target) API. Additional changes were also made to handle the context switching in case of post value when the blur triggers a change in context. | User Experience |
SR-D91344 | 560627 | Resolved PageCannotBeSerializedForPassivationException in logs | The exception "One or more properties could not be serialized during passivation and have therefore been lost. They will not be available on activation. Please ensure that all property data is Serializable" was observed in the logs. Investigation showed there was an HTML fragment in 'pzGridOpenAction' that was adding non-serializable properties to the clip board. This did not cause a functional issue, but has been resolved by modifying the way the system obtains and reuses the class definition. | User Experience |
SR-D91964 | 551093 | Negative values in optimized table filters show markup | HTML markup was shown in the filter popup when Number control was used in a Table cell and there were negative values in the cells at runtime. This was traced to work done on template grid filtering, and has been corrected. | User Experience |
SR-D92571 | 553116 | Corrected ReportBrowser refresh section | After bringing up the popup menu on a report shortcut in the report viewer and then dismissing it, the gear icon on the shortcuts in the upper section of the report browser stopped responding. This has been resolved by updating the system to refresh the pyReportBrowserInner section instead of pyReportBrowserAll. | User Experience |
SR-D99100 | 564381 | Character counter updates correctly with RDL refresh section | When using a repeating dynamic layer with a refresh section, the text area character counter was not accurate. This was traced to the system sourcing server-side metadata for the remaining character count and refresh section updating the same remaining count to all textareas. This has been corrected by recalculating the count for each template rendering of textarea so that it works correctly inside templatized repeating structures. |
User Experience |