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
Special Note
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-246217 | 759572 | Support added for Kafka-As-a-Service | Kafka-As-a-Service has replaced Stream service. In order to support connecting and talking to Kafka-As-a-Service to provide "Stream" capabilities, a DSS/PRConfig has been added to facilitate switching between using the KCL library or native Stream SDK using the following properties and values: <!-- Mandatory> <env name="services/stream/provider" value="KafkaService"/> <env name="services/stream/name/pattern" value="<isolation-id>-{stream.name}"/> <env name="dsm/services/stream/clustername" value="<cluster-name>"/> <!-- Not mandatory <env name="services/stream/external/replication/factor" value="<replication factor>"/> |
Special Note |
804676 | Refactored size estimates in Clipboard Viewer & Admin Studio | Size estimates for things like Clipboard pages and platform caches commonly use an internal Pega method, MemoryEstimation.estimateString(). An issue in this method caused the system to return a very small value (0 or 4 bytes) instead of the actual size of the String object, resulting in artificially low size estimates in tools that rules developers use like Clipboard Viewer and Admin Studio. In turn this made it harder to identify problem areas and resource leaks, preventing correctly optimizing use of memory. To address this, the code has been updated to create more accurate size estimates. | Special Note |
Case Management
23.1 Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-223331 | 732533 | Resolved correctly sets pyStatusWork and closes assignments | Resolve was not working reliably. Status was not consistently updating, and discrepancies were seen in pxCurrentStageLabel, pxCurrentStage and pyStatusWork. Some assignments were kept open despite the case being set to 'Delete open assignments'. Investigation showed the problem occurred on step1 of "pzUpdateAndDeleteAssignments" Activity. The system is searching for a page containing the WorkObject key on clipboard: most of the time it will be "pyWorkPage" as expected, but from time to time there was another page containing the same WorkObject key that was being picked. This has been resolved by modifying pxForceCaseClose and pzUpdateAndDeleteAssignments along with introducing a new parameter in the pxForceCaseClose activity. | Case Management |
INC-229623 | 763200 | App Studio case type creation chooses correct ruleset | When the application ruleset had versions such as 01-01-01 and 01-99-01 and 01-99-01 was unlocked, during the case type creation App Studio was always selecting the 01-99-01 version to create the rules even though the application rule had restricted the version to 01-01. Analysis showed the activity PZCREATECASETYPEWRAPPER step 8 was using the GetRuleSetVersion function to get the ruleset version to save all the rules and was always returning the highest unlocked ruleset present for a ruleset. This has been resolved. | Case Management |
INC-231562 | 745422 | QuestionImportWizard draft mode corrected | When the bulk question setting was enabled, pxQuestionImportWizard was created in Draft mode which does not work in Production Level 1. This has been resolved by turning off Draft mode on the pxQuestionImportWizard flow. | Case Management |
INC-234225 | 748910 | Mashup parameters correctly passed | After embedding the Create Case mashup inside a Pega application, creating another case inside the mashup by using the Create Work action on the click of a Create Case button, the properties set on the action were not getting passed to the original case. This has been resolved with updates to the pega_desktop_support javascript file to get the parameters in Mashup when the create work action set is being used. | Case Management |
INC-236743 | 750766 | DiscoverCaseTypes requires authentication | The activity Rule-Obj-CaseType.pxDiscoverCaseTypes now defaults to Require Authentication to run. | Case Management |
INC-236754 | 748212 | Removed aria label for div without role | "Process Work Area" had an aria-label attribute used in conjunction with role=generic, creating an accessibility issue due to the aria-label attribute not being well supported on a div with no valid role attribute. This was traced to a role="main" which was previously removed from the div that the aria-label="Process Work Area" was present on, and the issue has been resolved by removing the lingering aria label for the div which doesn't have a role. | Case Management |
INC-239347 | 772001 | Improved accessibility for Case Manager | Role ="Main" was configured at two places in the DOM for Case Manager which resulted in a structural error in Accessibility Inspector. This has been resolved by modifying the accessibility of Aria's role from Main to Presentation in the pyCaseManager7 section. | Case Management |
INC-240966 | 753404 | Corrected SFTP attachment URL format | When using an SFTP URL such as sftp://testurl.test/fillers for an attachment, the platform was removing the colon and showing the URL as sftp//testurl.test/fillers. This has been resolved by adding adding SFTP (!strURL.toUpperCase().startsWith("SFTP:")) to the conditions list in the 'DisplayAttachment' HTML rule to resolve the incorrect SFTP URL format. | Case Management |
INC-244281 | 758495 | Error message from AttachFile localized correctly | The error message "Failed To Save File" from the AttachFile activity was not localized accurately due to a formatting error. This has been corrected. | Case Management |
INC-245267 INC-243845 |
759522 767845 |
Flow error resolved for Split for Each | After completing the assignments in a screenflow launched from a Split for Each utility, a validation error was generated when a second user clicked on the breadcrumb to change to another assignment within the screenflow. This was a missed use case related to the GoToPreviousTask activity (which calls jumpToTask) not getting the correct flow name and task name parameters to navigate due to the split. This has been resolved by adding the new property pxSubscript which holds the flowname with subscript for split flows on pyFlowData. | Case Management |
INC-245502 | 767509 | Added check for application logo error in Cosmos portal | A null pointer error was generated if no application logo was present or it became corrupted. This has been resolved with the addition of a null check before adding the application logo to the structure. | Case Management |
INC-247015 | 759496 | Logging added to diagnose missing index- classes | Additional logging has been added to assist with diagnosing issues where some index- classes are missing when trying to import an application. | Case Management |
INC-247129 | 761636 | ShowSubFlowData registered to resolve navigation breadcrumb error | In a screen flow navigation utilizing the TreeNavigation7 Section rule, double clicking on any bubble /step in a navigation breadcrumb generated a "Modal Dialog: Ajax Call Failure!" error. This has been resolved by adding activity registration code to register the pxShowSubFlowData activity. | Case Management |
INC-249902 | 772467 | DSS added for MaxChildCasesToBeProcessedInDependency | Very slow Wait shape processing performance was seen when there were more than 499 child cases in a parent case. This has been resolved by adding a DSS to control the processing of dependent cases where Current AG is same as Dependent AG. Use "MaxChildCasesToBeProcessedInDependency", and provide the value for maximum number of cases to be processed in same thread. By Default the value is set to 499. | Case Management |
INC-252536 | 772091 | Status visible in history after field auditing | After performing field auditing for the pyStatusWork property and changing the status of the case, the field audit of the case history showed the old value in the UI even though the the D_pxFieldHistory data page had the new value. This was due to some non-autogenerating code present, and has been resolved by reworking the visibility conditions in pyDynamicNewValue and pyDynamicOldVlaue and adding StatusWork in the pyIsControlHandled rules. | Case Management |
INC-253078 | 776818 | Added harness type for custom temporary case | After creating a custom implementation which created a work object in a new tab, the form content was not showing when the browser refreshed. This was traced to a missing harness type when refreshing a temporary case created in a dynamic container, and has been resolved by adding a pyCreate value for the harness purpose in the pyIsHarnessTypePerform when rule. | Case Management |
INC-253125 | 785134 | Empty value handling added to bias report | The default reports "Bias report" and "Detailed Bias report" were not showing any records. This has been resolved with an update to handle empty numeric values. |
Case Management |
INC-253340 | 771193 | BAC attachment issue resolved | Clicking "Attach Content" was not bringing up the dialogue box to attach content. Network call logs showed "HTTP 403 error" and a SECU0019 alert was observed. This was an issue with BAC, and has been resolved by registering the AttachmentForECM local action in the Work- .pyAdvancedAttachmentMenu navigation menu. | Case Management |
INC-253351 | 785181 | Handling updated for screenflow 'Allow Errors' | When using a screenflow with 'Allow Errors' checked to permit an assignment to be submitted without the required fields, logging out and logging in and triggered the Dirty check (client side validation). Investigation showed that as part of the screenflow navigation, a javascript function called 'customClientErrorHandler' was loaded into the DOM which was not being cleared after the screenflow assignment was completed. This has been resolved with the addition of logic to remove the function when there is a change in the harness so that the function will be present for screenflows alone. | Case Management |
INC-254403 | 798876 | Updated handling for unauthorized case access | After upgrade, an incorrect error message was seen for unauthorized access to a case. In Pega 7.4 the message was "The work object XXX could not be locked: You are not authorized to create, modify, or lock instance XXX". After upgrade to 8.7, the error "There has been an issue; please consult your system administrator" appeared when executing the same scenario. Investigation showed this only happened when the user did not have a standard skin rule in their application stack, and the issue has been resolved with an update to call the Open assignment function instead of the ProcessAssignment activity, as ProcessAssignment doesn't have error handling configured. | Case Management |
INC-255107 | 777489 | Added update/delete assignment exception handling for bulk approval | When using bulk approval for pending approval cases, the flow was not resuming after a wait shape. This has been resolved by adding exception handling in the pzUpdateAndDeleteAssignments activity. | Case Management |
INC-255775 | 807170 | Handling updated for screenflow 'Allow Errors' | When using a screenflow with 'Allow Errors' checked to permit an assignment to be submitted without the required fields, logging out and logging in and triggered the Dirty check (client side validation). Investigation showed that as part of the screenflow navigation, a javascript function called 'customClientErrorHandler' was loaded into the DOM which was not being cleared after the screenflow assignment was completed. This has been resolved with the addition of logic to remove the function when there is a change in the harness so that the function will be present for screenflows alone. | Case Management |
INC-257406 | 780804 | Step added to stop busy indicator for zero length file upload error | If a 0KB file was attached using the pzMultiFilePath control, clicking on "Okay" on the pop-up warning message did not dismiss the busy indicator. This was traced to a missing step for this scenario which would stop the busy indicator for an incomplete file upload, and this has now been added. | Case Management |
INC-260916 | 790640 | Bulk activities updated to consider context | Bulk Transfer was not working after customizing the "pyTransferAndAdjustSLA" section rule (in Work- class) to be in the implementation layer. This was traced to the system picking the section rule from 'Work-' class and not from the implementation layer, and has been resolved by modifying the pzPreBulkProcessModal activity to consider the context. | Case Management |
INC-263726 | 796694 | CheckFlowDependencies updated for StepPage context | When there were multiple parent and child case dependencies where the parent case waited for the child case to reach a certain status before further propagating the case information from child to parent, the child to parent propagation was not working. This was traced to an incorrect StepPage context at run time due to previous work done in CheckFlowDependencies involving the handling of the pyTopCaseWork page. To resolve this, pyTopCaseWork will be removed in pzUpdate before performing findpagebyhandle in step 5. | Case Management |
INC-264225 | 797415 | Bulk action withdraw works for embedded page assignment | When using a process flow with split-for-each on an embedded page, if the case had one embedded page and created one assignment with interest page as that embedded page, bulk action withdraw failed. Investigation showed the tracer was its taking the interest page as primary page and trying to open the case with that page key, which failed. To resolve this, the step page name(WorkObjectName) has been added for all the steps in pyInvokeForceWithdraw activity so WorkObjectName will have the correct context in all the scenarios. | Case Management |
INC-264941 | 799495 | Updated validation for Change Stage parameters | In Pega 8.1 the shape 'Change Stage' uses stage IDs like 'PRIM1', 'PRIM2', 'PRIM3', 'PRIM4' etc instead of the actual stage name. Beginning with Pega 8.2, a flowaction called "pzChangeToSpecifiedStage" uses a validation rule which only accepts stagename as a ChangeToStage parameter. This caused validation issues after update and resulted in the error "Go to Stage— Please select a valid stage" in case type rules and in flow rules with this configuration. This was a missed use case and has been resolved by adding the needed additional logic to validate StageID if is a valid one in the pzChangeToSpecifiedStage validate rule. | Case Management |
INC-264955 | 799172 | Approval task naming changed | An issue was seen with the handling of the parameter used for the localized "Please approve or reject this" label, causing it to not be correctly passed. This has been resolved by creating an extension data transform pyInstructionsForApproval to change the instructions message in the approval/reject smart shape. | Case Management |
INC-265726 | 799637 | LoadOpenAssignmentsFromClipboard checks for suspended assignments | When the policy override flow was invoked, the existing assignments in worklists/workbaskets were not removed as expected. This was traced to using suspend flow functionality: even though the assignments were moved to the Assign-Suspend class, the 'pyLoadOpenAssignmentsFromClipboard' activity did not check for this condition. This missed use case has been resolved by updating 'pyLoadOpenAssignmentsFromClipboard' so it will check whether pxAssignmentKey.contains("ASSIGN-SUSPEND") and not load the assignments if the assignment key has assign-suspend in it. | Case Management |
INC-266208 | 799693 | Handling updated for HasChildWithDependencies | An issue was seen where disabling the automatic instantiation of child cases did not reset the flag HasChildWithDependencies to false. This has been resolved by updating the condition to set the flag when automatic instantiation of child cases is checked and dependency fulfillment is selected. | Case Management |
INC-266532 | 799691 | Exception handling updated to avoid broken process issues | Broken processes were intermittently reported when a utility node was substituted by another node automatically. When a node is marked as unhealthy, the thread creation process is stopped on that node. However, the existing threads are allowed to execute, and in this use case there was a deferred save which led to a call to a declare trigger in a queue batch (Child requestor). This created a new thread, and as the thread creation was stopped on the node an exception was thrown and a problem flow was generated. To resolve this, the problem flow has been updated to throw the exception but not initiate the problem flow when a flow encounters a RejectedExecutionException, and further work will be done regarding potential flow recovery. | Case Management |
INC-268298 | 803399 | Corrected null changestage dropdown | After upgrade, dropdown values for the changestage smart shape were missing. Investigation showed there was a null step page causing the failure, and this has been resolved by adding a 'when' condition to the pzGetStageList activity to check the length of page list pyStageList.pxResults before removing pyStageList.pxResults(1) page. | Case Management |
INC-A1577 | 811797 | Escaping added for single quote in attaching OpName | When the pxCreateOpName for a attachment contained special characters (eg Joe O'Sullivan), the attachment was not displayed when clicking on the .pyMemo property with the pyWorkAttachmentIcon control within the ReviewCaseAttachmentItem section. This was traced to the single quote in the "uploadedBy" user name, and has been resolved with an update to escape single quotes. | Case Management |
INC-A2117 | 810282 | Adjusted handling of AttachmentType parameter in Data-WorkAttach | After update, AttachingScreen (Data-WorkAttach-Note) did not work as expected. This was traced to the included section AttachmentCategory (Data-WorkAttach) containing a hardcoded attachmentType - URL, and has been resolved by modifying the hardcoding of "URL" to Param.attachmentType for the AttachmentType parameter in the pre-activity "pyGetListOfAttachmentCategoriesWrapper". | Case Management |
INC-A223 | 807792 | SetAttachmentProperties messages properly cleared | When using the SetAttachmentProperties activity to block certain files, attaching a blocked file generated the expected error message on the UI but the error message was not cleared from the page after deleting the respective file. This has been resolved by adding a new activity under the Embed-DragDropFile class to clear the messages on the pages along with extending the pyAttachFileDDFileList section to call the newly created activity on the delete button. | Case Management |
INC-A4545 | 811929 | Updated handling for Survey routing | Survey was not routing correctly if a user had a "dot" in their identifier. This was traced to the activity pzCreateSurvey evaluating the RouteTo param value: when the operator ID contained a dot character and did not have an @ character, the evaluate expression function considered it as a property reference and tried to resolve it on the step page. If the property was not found on the step page, an empty string was returned and the survey was routed to the current operator. To resolve this, if the route to parameter has a dot character and evaluate expression returns an empty string, the route will be considered as a operator ID string and appropriately routed. If that operator does not exist, the questionnaire will be routed to the problem flow. | Case Management |
Cloud Services
23.1 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-272753 |
803730 | Corrected deployment package generation error | After update, building the package generated the error "The number of database bytes input for this interaction has exceeded the ERROR level for Requestor". This was traced to a missing call to tools.getRequestor().setIgnoreDBByteGovernor(true) during export, which was an inadvertent side effect of previous work and has been corrected. | Cloud Services |
INC-238093 | 747943 | Corrected race condition for column population | Duplicate column population jobs were seen. This was traced to a race condition in the query, and has been resolved. | Cloud Services |
INC-239695 | 746509 | Deployment configuration paths updated to be absolute instead of relative | While performing an update, the second pass of the upgrade script failed for the Data scheme due to the temp directory configuration missing a leading slash in the path name. However, this did not fail immediately and earlier portions of the run show the script using a different directory instead. This was an unexpected behavior, and has been resolved with targeted changes to the deployment scripts which will expand relative paths to absolute to ensure a predictable failure mode if there is an error in the configuration. | Cloud Services |
INC-241010 | 752132 | Increased pr_data_restore blob accommodation | Over time the various DB2 LUW Linux, UNIX, and Windows (LUW) blob sizes on different tables has drifted upward and created the need to handle larger instances. This update increases the size of the blob for pr_data_restore (which is used to hold hotfix rollback information) to accommodate the largest instances that can be stored in other tables. | Cloud Services |
INC-243588 | 762165 | Check added to clear outdated activity status for rollback | Response from the REST service indicated failure even though a rollback was successful. Investigation showed the API used to verify the existence and availability of the history table was setting the activity status on failure and the rollback feature was not clearing this status. As a result this status was promoted to the service page along with the corresponding rule message. This has been resolved by clearing processing statuses after checking isClassValid. | Cloud Services |
INC-243721 | 755251 | Trailing spaces removed from manifest file name | The compileAndLoad.bat file was appending a space at the end of the manifest file version which caused it to fail to be imported. This has been resolved by updating the manifest generation in compileAndLoad.bat to not include trailing spaces. | Cloud Services |
INC-245623 | 762200 | Performance improvement for import synchronization of non-rule instances | Synchronization performance was poor when importing a small number of non-rules into tables containing millions of rows of the same class. This was a missed use case caused by import synchronization iterating over every instance of a non-rule class (reading from the database) and not examining any of the data if the instance read from the database was not included in the archive, which is in contrast to rules where it is necessary to look at every rule for a given type to handle cases where rules are being deleted. This has been resolved by optimizing the query for the import synchronization process for non-rule instances so only the specific instances that are contained in the archive being imported are retrieved. | Cloud Services |
INC-245949 | 761569 | ServiceUtils log message retention updated to prevent out of memory condition | Running column population from ServiceUtils resulted in an out of memory error when handling an extremely large database table. This has been addressed by limiting the number of Log- messages that are retained to prevent unbounded growth. | Cloud Services |
INC-249918 | 768617 | BCEL library updated | The Apache Commons BCEL library has been updated. | Cloud Services |
INC-251646 | 779761 | Null DateTime check added for column population job after import | When importing a RAP file, the StatementYear column was created and the column population job was scheduled and started, but the job was only running for a portion of the table. Running 'optimize for reporting' on the same property later caused the time column population job to complete for the entire table. This could be seen the landing page first showing 18% complete but no errors for the first job, then the optimized job showed 100% completed. This has been resolved by modifying MaxCommitDateTimeFilter to consider pxCommitDateTime is NULL as well in order to include rows without a timestamp. | Cloud Services |
INC-255081 | 803693 | Target properties made available to HistorySaver logic | While a record was being saved in the History table, the error "Cannot save instance of class History-XXX-Data-Member; it belongs to fully exposed table PEGA_HIST_DAT_MBR in database PegaDATA, but the instance has properties which do not correspond to columns: pxTargetClassName, pxTargetRuleSet" was generated. This has been resolved by adding pxTargetClassName, pxTargetRuleSet, and pxTargetRuleSetVersion to History-Data- class to make them available to the HistorySaver logic. | Cloud Services |
INC-267791 | 800975 | Ruleset context handling updated | The export functionality raised the error "Unable to open application :PegaRULES!03.35.05", which indicated a version of the PegaRULES application which does not exist. Investigation showed the context of the client's application version (03.35.05) was being added incorrectly. To resolve this, an update has been made to bypass adding contexts for invalid rulesets. The system will warn and continue if it fails to get the context, and diagnostic logging has been added to the createzipfile activity. | Cloud Services |
INC-270064 | 804340 | Corrected time zone handling for PUSHDAILYLOGUSAGEDATA | The PUSHDAILYLOGUSAGEDATA was sending incorrect data when the system was in a time zone other than GMT. This has been resolved. | Cloud Services |
INC-270658 | 801598 | Added timeout for non-functional column population jobs | If a column population job was in progress but no longer functioning, no other column population jobs could be triggered and the non-functional job was not terminated. This was an inadvertent side effect of work done to place a limit on simultaneous column population jobs to prevent system performance degradation, and has been resolved with an update which will detect the broken in-progress jobs by checking the last time the queue was updated with information and apply a targeted timeout mechanism. | Cloud Services |
INC-272863 | 804279 | HistorySaver updated to handle previously deleted rules | An edge case was discovered where attempting to delete a rule that had already been deleted caused the history saver to try to save a history instance using whatever page it was given, which will usually not be valid. This caused issues after rolling back an update where the access token keypair from the history table was restored but did not contain pzKeyPair, leading to an exception and authorization issues. To address this, HistorySaver has been updated such that if there is an attempt to delete a rule and the page can't be opened, the system will conclude that the rule was already deleted and no history should be saved. | Cloud Services |
INC-273430 | 804402 | Updated log messages for application schema task | When running the data schema upgrade from Pega 7 to Pega 8.7 with update.applications.schema=true, a runtime exception was generated with the message "Unable to run the Upgrade Application Schema Utility". This was due to external database connections that were not available during the upgrade step and thus the step to upgrade the application schema to be consistent with upgraded platform could not be completed. The upgrade application schema task needs to be run post upgrade. To clarify this, the log messages have been updated and now include the text "Unable to run the Upgrade Application Schema Utility. It is recommended to try running it again after the upgrade." | Cloud Services |
INC-A4246 | 808973 | Generated SQL correct for column population job | After update, some systems experienced issues due to the corruption of shipped rule data caused by the column population process. The issue did not affect all systems, and the impact depended on which classes were included in the column population process. This was an inadvertent side effect of work done to address an incomplete column population job when pxCommitDateTime was NULL, and has been resolved by ensuring the generated SQL is properly formed. | Cloud Services |
INC-A7146 | 814109 | kotlin updated | The kotlin-stdlib-jdk8 jar has been updated. | Cloud Services |
INC-A729 | 809636 | Corrected failure behavior for rebuilding indexes | After generating and manually applying DDL changes for an in-place update, the "Reorganize Database Indexes Preupgrade" task kicked off the CALL ${rules.schema}.SPPR_REBUILD_INDEXES(). This step returned from the database before the stored procedure finished running, causing the upgrade to continue to run and then fail trying to insert into a table because the database was still running the rebuild of the indexes. The correct behavior should be that the the update should fail when the stored procedure failed rebuilding the index, and an update has been made to set reorganize indexes to fail on error. To avoid failure, run the equivalent of the rebuild_indexes stored procedure after manually applying the DDL changes needed for the upgrade to ensure all of tables have stats/indexes up to date. | Cloud Services |
Conversational Channels
23.1 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-216140 | 711730 | Corrected handling for manually adding new email template | After update, a new template added to an existing email IVA channel was displayed under "Other Replies" in the case but the content of the template was not being loaded. This was caused by the corr stream being passed as null when selecting the 'template from other' reply due to a property set step that was being skipped when manually adding new template to the channel. This has been resolved. | Conversational Channels |
INC-236531 | 750007 | Data page in FIlterProperties updated to not use paging | As a part of Channel configuration, Entity types were mapped with Case type properties => Suggested cases => Response configuration=> Entities extraction. However not all Case type properties were available in the dropdown. Investigation showed that the dropdown source data page was restricting the number of properties and hence not all properties are available. This was due to the report definition (ex: pzGetAllRelevantPropertiesForDataTypeNoAppFilter) which was called internally during source data page execution having "paging enabled" under the Report Viewer tab, leading to the report definition only retrieving 500 records. To resolve this, D_pzGetPropertiesForDataType in pyFilterProperties has been replaced with D_pzGetPropertiesForDataTypeNoPaging. | Conversational Channels |
INC-236593 | 751351 | Text Analyzer rules created in correct class | When new a Email channel was created from App Explorer and Topic detection was enabled, predictions and routing were not working as expected. This was traced to a scenario where multiple open rulesets were present in the ruleset stack, leading to textanalyzer class and textanalyzer rule being created in different rulesets. To resolve this, an update has been made to ensure that textanalyzer class and textanalyzer rules are created in the same ruleset. | Conversational Channels |
INC-237536 | 751321 | Handling added for missing text analyzer null pointer | Opening correspondence cases which had email templates in any color or heading or images generated exceptions when there was no text analyzer for the channel. This has been resolved by replacing "getIfPresent()" with "getProperty()" in "pzMapStyleToEntity" to avoid null pointer errors. | Conversational Channels |
INC-239192 | 756826 | Filtering added to display email subject in brackets | If an email subject was contained in angle brackets, it was considered an HTML tag and was trimmed. This has been resolved by updating pyGetEmailMessageDetails to escape the subject for display on the UI and other places that were relying on pyMessageMetadata. | Conversational Channels |
INC-239792 | 762299 | Corrected creating a suggested email reply | When configuring an email channel in App Studio using the French locale, adding suggested replies to the Behavior tab was followed by the expected suggestion to create a new one. However, clicking on the Submit button of the popup to add another reply did not work. This was caused by the system failing to find an open Ruleset for the Citizen developer, and has been resolved by using pxCreateRecord instead of pxUpdateRecord. | Conversational Channels |
INC-243142 | 757486 | Additional validation added for MSGraph reply email | After switching the email account receiver to MSGraph, operators were able to send replies with an email address in an incorrect format. The email ID was highlighted in red indicating it was not in the correct format, but the Send button was not disabled. Clicking on send submitted the form but did not send the email. To resolve this, a new edit validate rule has been added to double validate an email address with a personal name included. | Conversational Channels |
INC-249636 | 769490 | Consistent Data extraction from emails | When extracting key-word based data from emails, the data extracted from the body or the subject of email was different than the data extracted from the attachment of the email. Investigation showed pyResolvedValue was not passed to D_pzEntityPropertyMap from pyEntities during attachment analysis, causing the case property to take pyValue instead of pyResolvedValue. This has been resolved by adding pyResolvedValue from attachment analysis to D_pzEntityPropertyMap. | Conversational Channels |
INC-249647 | 775269 | Text analyzer identifies buzzword in subject line when email is blank | Text analyzer was not identifying a confirmation buzzword, causing an incorrect case type to be created. This occurred when a system-generated email had a blank body and no HTML content, and was traced to entity detection not running on the subject line. To resolve this, the pyTreatIncomingText activity has been updated to handle this usecase. | Conversational Channels |
INC-251451 INC-262589 INC-269033 INC-A9920 |
814080 817459 818697 823656 |
Resolved stack trace error on UI | ActivityStatusError with Stacktrace or Error: Harness Fail was unexpectedly displayed while working. To resolve this, a series of improvements have been made in the application logic for clearing and initializing email-related data pages on Service case launch. | Conversational Channels |
INC-256209 | 782082 | Resolved datapage error when opening channel email | Each time an email from an email channel was opened, the error "Required parameter 'cid' for data page 'D_pyAttachmentCacheByCid' cannot be blank" was logged. This was traced to using the data page as a step page in the same step when checking for null parameters, and has been resolved by removing the data page as step page. | Conversational Channels |
INC-257145 | 781753 | Corrected extraneous final comment appearing in chat transcript | Downloaded chat transcripts had an additional message from the chatbot, "Sorry, I did not understand that", after the system message "System: The conversation has disconnected". This has been resolved by adding a new check to skip processing an outbound message when a customer has ended the session event. | Conversational Channels |
INC-258344 | 783003 | Check added for email draft | After update, logs were filling with "ERROR: Required parameter'LinkRefFrom' for data page 'D_pxGetAttachmentsListForDraft' cannot be blank." This was traced to the step page of an activity trying to load attachments for an email draft which did not exist, and has been resolved by adding a check whether a draft exists before trying to load its attachments. | Conversational Channels |
INC-259069 | 771053 | Parameters passed correctly to interaction data page | After update, log warnings indicated there was a missing parameter during use of D_pxUserFromChannel in step 6 of pzCreateInteractionReply. This was traced to the parameters not being passed correctly, and has been resolved. | Conversational Channels |
INC-259166 | 783196 | Embedded images correctly displayed in outbound email | Images that were copied and pasted into the email body of an outbound email from the service case (created from email interaction case via email channel) were not displayed in GMail. This has been resolved by calling pzUploadRTEImageFromBase64Url from pxReply to handle base 64 inline images. | Conversational Channels |
INC-262629 | 787336 | Chat message handling updated | The conversation history was not visible to the end user when a chat conversation was restarted after session end in the mobile SDK channel. This has been resolved with an update which will uniquely identify messages using message_id and timestamp fields returned in both the regular message exchange as well as in the history API. | Conversational Channels |
INC-263298 | 788680 | Chatbot AnalyzeInput updated for multiple topics | During a chat, the "multiple matches" system responses were sporadically displayed in the conversation if more than one topic was included, such as "Chatbot: Can you clarify what you mean? * Chatbot: Call us * Chatbot: Menu * Chatbot: This conversation has been ended due to Customer inactivity". This has been resolved with the addition of a check for escalation mode in the pyAnalyzeInput and pyOutputAdapter activities: if the chat is in escalation mode and NLP detects multiple topics, the system will not show multiple matches. | Conversational Channels |
Data Integration
23.1 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-176594 | 657695 | Updated SOAPConnections logging to avoid generating PassivationException | Many exceptions from com.pega.pegarules.session.external.mgmt.PageCannotBeSerializedForPassivationException were being logged. SOAP connectors were cacheing java objects in the thread page as a performance optimization, and as a result, the log file showed serialization errors during passivation because the objects are not serializable. While this did not negatively impact any functionality, the logging has been resolved by modifying the handling using the property pxSOAPConnections and setting "Do not save property data" to reduce instances of PageCannotBeSerializedForPassivationException. | Data Integration |
INC-216575 | 755471 | Resolved looping data page interaction | After creating a page .Interaction which linked to a data page D_Interaction, the scenario where a service case was created before verification and after verification generated an exception. Investigation showed that when the first interaction was loading it did not have the interaction page, but when the second interaction started after verification, the data page had the interaction property inside it. This meant that while expanding the interaction, the interaction became the parent of the interaction and the exception was thrown due to this looping. This has been resolved by updating the handling for the data page. | Data Integration |
INC-221078 | 746888 | Corrected error while creating client device | A null pointer error was generated while creating a client device. This has been resolved. | Data Integration |
INC-222150 | 755202 | Updated handling for Value Group property with subscript | After completing a section of a flow and hitting "Continue" to move to the next flow action, going back to a previous screen showed several of the radio button properties were not being saved correctly even though "RecalculateAndSave" was called when continuing and pyWorkPage contained the data entered at that time. Investigation showed that when using a Value Group property with another property name as subscript, while removing the Value Group Property the property with same name was also removed. This has been resolved with an update to preserve the property with the same name while removing the Group element. | Data Integration |
INC-226843 | 778721 | Updated clearance of stale passivated search data | After performing a search, expanding one of the search results in the work table, and then passivating the session, reactivating the session later and performing a new search populated the table with new results as expected, but expanding an item showed the previously expanded search result instead of the new one. This was caused by stale data holding a page with the name which was passivated but not yet activated, and has been resolved by explicitly removing the passivated page from the mPassivatedPages set. | Data Integration |
INC-228145 | 746016 | Performance improvement for service package requestor pool | Slowness was seen on requestor pool for Services Packages like OAuth2 redirect or WebSSO AssertionConsumer. This has been resolved by adding the user access group to the ADP thread to avoid requestor context switching. | Data Integration |
INC-230648 | 777806 | Diagnostic logging added for preprocessing deferred operations | In order to assist with identifying potentially corrupted underlying properties triggering a runtime exception when performing a transfer from the worklist to the work queue, additional diagnostic loggers have been added to DirectStreamEncoderV7.java. | Data Integration |
INC-231195 INC-248040 INC-251792 |
748026 763746 771896 |
Business Calendar functionality updated to clear instances | Campaign runs were failing when the Business Calendar functionality was used in Decision Strategies to limit communications after a threshold time. Investigation traced this to the single calendar being loaded more than once, and this has been resolved by adding a synchronized block in the checkCalendarCache function for thread safety along with modifying the updateCalendarCache function to remove old business calendar instances before adding new ones. | Data Integration |
INC-231961 | 760059 | Logic updated for locating attachments for archived items | Clicking on the attachment link for archived work items resulted in the message "Unable to open the attachment. You lack the required permissions." Investigation showed the system was trying to retrieve attachments from the default archived location even though cases were archived on the local file server, and this has been resolved by updating the retrieval logic. | Data Integration |
INC-232467 | 767039 | DSS added to control access to lower versions of Rule-Utility-Functions | Some functions which belong to a different application were accessible in activities and started giving an error after deployments to other environments. To address this, the DSS RufFilterByRulesetVersion has been added. The default is 'false' to maintain the current behavior of allowing access; setting it to 'true' will restrict access to Rule-Utility-Functions present in lower major version rulesets. When the value is changed from false to true a server restart is required. | Data Integration |
INC-233492 | 745282 | Table view with post grid update activity | Table Filtering and Sorting was not working when using the pyNextGenPostGridUpdate activity. This was traced to the setting of implicit parameters when postActivity is being used, and has been resolved by checking the freshness of a queryable data page with reload once per interaction. | Data Integration |
INC-235144 | 755881 | UrgencyWorkClass correctly set | pxUrgencyWorkClass should be set as 10 by default, but it was intermittently failing to be set and impacting the Get Next Assignment functionality. Analysis traced this to blank properties being created during the declare expression execution if the source property was not available on the page. This has been resolved by updating ScalarValueQueryExecutor.java so that the system will not create leaf (Scalar) properties if they are not present on the step page while executing the declare expression. | Data Integration |
INC-235155 | 786057 | Declare trigger correctly triggered by Deployment Manager | After configuring a declare trigger to run on a committed save of a rule, the declare trigger was not activated as expected when the rule was deployed to higher environments through Deployment Manager. The trigger worked as expected when the rule was manually imported through Configure > Application > Distribution > Import. Investigation showed that when the data transform was saved, the declarative trigger was called but was not able to find the activity due to this use case running the declare trigger activity as "In Background On Copy". This created a child requestor to trigger the activity in the default access group instead of the application context. To resolve this, an update has been made which will execute the declare trigger activity in the current user context when the activity is configured as "In Background on Copy" and the "pzUseCurrentAccessGroupForChild" property is true in the parameter page. |
Data Integration |
INC-235501 | 767156 | Additional debug logging added | Continuous org.postgresql.util.PSQLException messages indicating "duplicate key value violates unique constraint "pr_sys_locks_pk"" were generated when running job scheduler. This has been addressed by adding debug logs to all related classes for org.postgresql.util.PSQLException. | Data Integration |
INC-235943 | 746626 | Null check added to prevent PresenceLifeCycleEventManager loop | A null pointer exception was occurring in a loop and creating thousands of log entries. This was traced to the PresenceLifeCycleEventManager trying to set the presence state of a given requestor to Disconnected and not succeeding. To resolve this, a null check has been added to block the null pointer exception. | Data Integration |
INC-236049 | 766905 | invokeXMLParseRule updated to ensure activityParamPage correctly initialized | After update, a "java.lang.ClassCastException: java.lang.String incompatible with com.pega.pegarules.pub.runtime.ParameterPage" error resulted when calling a connect java rule to fetch data and store it in a data page which was then invoked from another activity called from a flow. Resubmitting the same flow without changing anything worked as expected without error. The issue only occurred when using the Apply-Parse-XML step with a blank ElementName parameter, and was traced to an issue with the parse rule code flow logic where the activityParamPage param was not initialized correctly in every code path. This caused the error when the value had already been set to an incompatible type. To resolve this, the common code for the two invokeXMLParseRule methods has been merged to ensure both add activityParamPage to the paramPage. | Data Integration |
INC-236172 | 759437 | ClusterAndDBCleaner updates | The nightly job pyClusterAnd DBCleaner failed to run, generating the exception "Job Scheduler [pyClusterAndDBCleaner] activity execution marked as failed with message [Exception while defragmenting Table]". This was traced to the step in pyClusterAndDBCleaner that performs defragmentation. To resolve this, the pr_sys_delayed_queue defragmentation step has been removed from pzclusterAndDBcleaner and moved to a new activity with a dedicated Job to run it. | Data Integration |
INC-236541 | 745008 | SQL query keyword handling updated | Postgres queries were failing if they had a value of length four with a preceding space such as the query select * from pegadata.pr_operators where pxcreateopname IN (' Call ') . This has been resolved, but note there is a remaining limitation that the query cannot have special characters such as ( , ) etc in the input format inside in the In clause ('....') of the SQL statement. | Data Integration |
INC-237464 | 745861 | en_SG locale added | Support for the locale “English (Singapore)” (en_SG) has been added. | Data Integration |
INC-237985 | 775555 | Suppressed unnecessary SOAP exception | SOAP service invocations were intermittently failing with the message "Content-Type HTTP header is missing". The Content-Type header is only used as a means to determine the SOAP service method name, which can also be derived from the endpoint URL or the SOAP body. To address this, the SOAPService code has been modified to suppress the exception that was being thrown when there was neither a SOAPAction or Content-Type HTTP header value. If actionToken is missing, the action can be taken from the HTTP body. The system will still generate an exception later if it cannot derive the SOAP method name from other parts of the request. | Data Integration |
INC-238791 | 753721 | Localization updated for Decimal/Integer/currency values | In the UI section rule, using the local Vietnamese currency and decimal points displayed correctly in the UI, but after firing the validations the amounts were displayed as plain numbers without any decimal points. Ex : 36.492.000,00 đ was displayed in the UI, but in the validation it was showing 36492000 đ. This has been resolved by modifying the MessageEvaluator.java to format the Decimal/Integer/currency values based on locale. | Data Integration |
INC-239789 | 773081 | LRUMap removed to resolve listener null pointer error | The email listener was running but not picking up and processing the records even there were few unread mails in the inbox. The "Last access" was updated periodically as if the listener was monitoring the inbox even though emails remained unprocessed. This was traced to a null pointer exception when retrieving the fresh access token, and was caused by the MSGraphEmailClientProxy class where LRUMap was being used with max size of 50 in a synchronized way. The max limit of the map was exceeded, causing deletion of entries (auth profile name with an object for locking) which led to a null pointer error being thrown while synchronizing on a null object. This has been resolved by removing LRU Map as its hard limit caused an error, and by adding handling that will put the listener to sleep when encountering unknown exceptions. | Data Integration |
INC-239993 INC-240101 |
769233 769230 |
Corrected From address value when using MSGraph | When viewing an email attachment pop up in MSGraph, the From address was not displayed correctly. This was traced to an incorrect value of the pyFrom parameter due to the principal name value in the email account rule being configured with application settings, and has been resolved. | Data Integration |
INC-240450 | 747903 | Typo corrected in DifferenceFoundBasis error message | The error message "Definition required to confirm to" in @baseclass DifferenceFoundBasis Pega-RULES:08-01-01 has been corrected to "Definition required to conform to". | Data Integration |
INC-240628 | 747952 | Corrected export of zero value being saved as '0E-9' | File Data Set was exporting some properties as '0E-9' if the value was 0.00000 . This has been corrected. | Data Integration |
INC-240696 | 762674 | Parent and child case namespace collision resolved for archiving | If parent and child cases had overlapping names, the cases were not being archived. This was due to Archival using declarative indexes to determine if a case has been added to pr_metadata during the archival process. In this scenario, multiple layers of the case hierarchy had the same name on their declarative index. When the archival job attempted to add a case in the hierarchy to pr_metadata, there was a namespace collision on the indexes and the engine determined that the hierarchy item was already added. Later, during archiving proper, all cases in the hierarchy were not present in metadata, so the item failed. This has been resolved. | Data Integration |
INC-240745 | 754797 | Currency code added for Sierra Leone | Support has been added for the new Sierra Leone currency code, SLE. | Data Integration |
INC-241055 | 759634 | Reset flag to resolve delegated rules issue | After editing delegated data type and the closing screen, favorite rules were not opening properly and the UI was not displayed correctly. Investigation showed that when editing a delegation data type row, clicking on the close button of the window without saving or cancelling or clicking any where in the screen caused the flag D_DelegationConfig.pyIsFromManageChangeLP to not reset to false, impacting the other rules when opened directly. This has been resolved by adding an update to reset the above flag to false when the close icon is used in this scenario. | Data Integration |
INC-241275 | 754586 | Records Editor search icon made accessible | To improve accessibility, helper text has been added for the search icon in the Records Editor with the message "Click to search records." | Data Integration |
INC-242283 | 755027 | Support added for bulk case delete with Case Archival utility | Through this enhancement, clients can configure Case Archival utility to perform the Purge operation directly while skipping the Copy operation. This allows the clearing of very large amounts of data without copying the cases to an external repository first. | Data Integration |
INC-242943 INC-A3021 |
756574 808808 |
Handling added for missing MSGraph charset | Some emails were not processed by the email bot when using MSGraph. This was traced to the HTML meta content missing the necessary charset, leading to an exception. While there is a workaround of using IMAP, this has been resolved by adding handling that will fall back to using the default charset UTF-8 if the system is unable to derive charset from the HTML meta tag. | Data Integration |
INC-243067 | 764729 | Message IDs correctly appended when using MSGraph | After switching to MSGraph, the Message-IDs were not appended to the References header for reply, reply all, and forward, causing an issue when identifying whether a work object already associated with the existing thread was in the system. This was traced to a difference in message ID formats between MSGraph and IMAP, and has been resolved by overriding the updateMessageID() method of MimeMessage class. | Data Integration |
INC-243285 | 764832 | Logic updated to handle digital certificates in MSGraph | When using MSGraph, attachments were not being stored if they contained a digital certificate. This was traced to the system failing to extract attachments from email with mimetype application/pkcs7-mime, and has been resolved by updating the logic to handle application/x-pkcs7-mime or application/pkcs7-mime attachments. | Data Integration |
INC-243566 | 763262 | Explicit close stream added to InvokeAxis2 | An "Unreleased Resource: Streams" issue was seen in the InvokeAxis2 activity. This has been resolved by explicitly closing the input stream at the end of step 17 in InvokeAxis2. | Data Integration |
INC-244979 | 770952 | Able to access attachments for purged cases | Attempting to access an attachment in a repository for a case which was archived and purged resulted in a GetAttachmentReference activity error. This has been resolved by updating the pzDownloadArchivedFile activity. | Data Integration |
INC-245088 | 765264 | Corrected execution calculation for CleanupServiceMonitorInstances agent | When using the pzCleanupServiceMonitorInstances agent to delete the service invocation history records which are older than the specified value in DSS- service/MonitorInstanceTTLMins (in mins), setting a value greater than 35791 minutes caused the time to be miscalculated. This has been resolved by updating the data type from int to long. | Data Integration |
INC-245096 | 762172 | Authentication handling updated for SOAP using OAuth2 | SOAP Connectors with OAuth2 authentication configured were incorrectly attempting traditional authentication in the Axis2 library. The error "IllegalArgumentException: Username may not be null" appeared. This was traced to a flag that was not being set correctly in the OAuth2 case, and this has been resolved by adding the "auth=null" flag to the OAuth2 case in step 8 of InvokeAxis2 to prevent the client from attempting basic authentication when the SOAP Connector is using an OAuth2 auth profile. | Data Integration |
INC-246705 | 768587 | Support added for custom CORS endpoints | The URLs of custom REST services were not showing when setting the endpoint for CORS policy mapping. This has been resolved by adding the necessary property set to the pzGetAllRestServices Activity. | Data Integration |
INC-247166 | 766058 | Export allows comma separated filter values | Delegated table records were not exporting when there was more than one filter value in the search box. This has been resolved by removing the replace function to enable exporting the record from data type with comma separated fields. | Data Integration |
INC-247173 INC-243325 |
766514 766517 |
Atmosphere jar updated to resolve screen pop failure | The PegaCall application was receiving screen pop requests from the telephony systems, but there was an intermittent issue with generating a screen pop to the user. No error was generated. This was traced to a null pointer exception related to Atmosphere which was removing the necessary resource for the screen pops from being delivered, and has been resolved by upgrading the atmosphere jar version. | Data Integration |
INC-247990 | 772643 | Handling added for uploaded Rule-File-Binary JSON files | Attempting to read third-party SDK *.JSON files uploaded as Rule-File-Binary and Rule-File-Text instances resulted in HTTP 500 error. This has been resolved by adding processing handling for JSON files as static content. | Data Integration |
INC-248011 INC-246686 |
772041 775912 |
DSS added to skip corrupted BLOB property | It was not possible to open the records if a BLOB contained a corrupted property. To address this, DSS settings have been added which will allow conditional bypassing of a corrupted property during BLOB deserialization. a. Dynamic System Settings short description : propertiesToIgnoreDuringBlobDeserialization Owning ruleset : Pega-Engine Setting purpose : propertiesToIgnoreDuringBlobDeserialization Value : Corrupted property name b. Dynamic System Settings short description : dumpBlobOnDeserializationException Owning ruleset : Pega-Engine Setting purpose : dumpBlobOnDeserializationException Value : true Restart required. |
Data Integration |
INC-248681 | 774815 | Correspondence circumstance evaluated incorrectly | When using a circumstanced correspondence template, the base version was retrieved when creating the emails. After re-saving the circumstance definition used for the correspondence template, the correct correspondence template was selected during the email generation. This was traced to the circumstanced definition being filtered during the application calculation, and has been resolved. | Data Integration |
INC-249024 | 801571 | Added handling for passivated modal dialog flow | After passivating a modal dialog flow launched from the user portal context, launching the flow again encountered a security exception error. This was caused by the modal dialog flow thread being lost during passivation, and has been resolved. | Data Integration |
INC-249800 | 768002 | Exception handling updated for PRPulseTRREQProcessor | When the PRPulseTRREQProcessor.prprocessMessage method is run, the node.handleTerminateRequestorRequest can throw a com.pega.pegarules.pub.context.StaleRequestorError exception. StaleRequestor handling has now been added to PRPulseTRREQProcessor in order to ensure the System Pulse thread which dispatches pulse messages continues to function properly. | Data Integration |
INC-249832 | 768722 | Changed log level to debug for withdrawn rule | Logs were filling with the error "Failed to find a 'RULE-DECLARE-EXPRESSIONS' with the name 'PYLABEL'". This was due to the rule being searched in child class where it was not present and in its parent class where it's withdrawn. To resolve this, the logger level has been changed from error to debug in VirtualTableCandidateRuleResolverImpl.java. | Data Integration |
INC-250238 | 771298 | Empty value check added to correct Guardrail warning | The pxAddWarningsForGRSField activity was throwing a severe guardrail warning whenever the field value in Authentication profile, Endpoint url and Response timeout in Connect SOAP rule did not start with "=". This was due to a missing check for an empty value before validating and adding Guardrail warnings, and has been resolved. | Data Integration |
INC-250997 | 801552 | Archived data for email triage and pegasocial-message class fetched with all attachments | Some Pulse messages were missing when attempting to retrieve archived data for email triage cases. To resolve this, support has been added for data work attach notes, handling for the pyObject in pulse message and translation logic has been updated, and the pxGetCompleteMessage activity has been updated to check secondary storage for social messages and notes. | Data Integration |
INC-252186 | 772086 | String.FormatMessage() also searches class name | Previously, the @String.FormatMessage() rule only searched message rules in the @baseclass. This has been expanded with the addition of code to retrieve the message class name from the message key in MessageEvaluator#getLocalizedText(). If the message key has a class name, then the @String.FormatMessage() function will return the expected message. | Data Integration |
INC-252358 INC-228124 INC-252455 INC-250963 |
768568 771910 768793 769485 |
File Listeners correctly process files from external S3 | File listeners were not correctly processing files from S3 storage. This was traced to a null pointer exception in the S3Factory.getTImer method, and has been resolved. | Data Integration |
INC-252499 | 807114 | Updated error handling for CommitWithErrorHandling | The exception "Error during Encode" was generated when running the activity CommitWithErrorHandling. This has been resolved with an update to fix the IndexOutOfBound exception during BLOB encode. | Data Integration |
INC-252652 | 770333 | CompareTwoValues Rule-Utility-Function refactored for performance | Slowness during PegaMKTContainer API calls was traced to the CompareTwoValues Rule-Utility-Function comparing all different data types, starting with a Date and Timestamp comparison that consumed excessive CPU cycles. To resolve this, CompareTwoValues has been refactored to improve efficiency and performance. | Data Integration |
INC-252658 | 777585 | Localization added for en_MO | Support has been added for the Asia/Macau (en_MO) locale. | Data Integration |
INC-253409 | 805826 | Updated handling for null requestor returned to ManagementDaemon | Previous work done to add handling for an InvalidParameterException in cases where the requestor is deleted before the job is executed on it has been updated to include the use case where the case requestor is "batch". | Data Integration |
INC-254329 | 774883 | Archival indexer performance improvements | The indexer job in archiving and purging was taking an excessive amount of time when maxIndexerRequestors=1. This delay was traced to forward chaining being enabled, and has been resolved by disabling forward and backward chaining for the archival and search indexer to improve performance. Chaining isn't needed since there are no changes made to the case. | Data Integration |
INC-254760 | 778695 | Handling updated for Europe/Amsterdam calculated date time | When using the getAsBusinessTime() function with the timezone set to Europe/Amsterdam, the calculated date time was returned as 20221230T080000.000 GMT+01:00, but setting this value in a DateTime property did not include the +01:00 at the end of the string and the property value became 20221230T080000.000 GMT, which was incorrect. This was traced to the parseInternalDateTime function ignoring the offset value for backward compatibility, and has been resolved by adding the Europe/Amsterdam timezone to the en_US and nl_NL locales to generate timezone codes without offset values. | Data Integration |
INC-255906 INC-257221 |
778555 780059 |
Archival process made more resilient | The PegaPurger was failing with the error “NullPointerException / Unable to Execute the activity for purging". This was traced to an ArrayList which wasn't thread safe, and has been resolved by using a SynchronizedList to avoid null pointer. Additional improvements have also been added to the archival process to make it smoother and more resilient. | Data Integration |
INC-256360 | 781537 | Services PAL properly displayed | Despite configuring the settings for Services PAL, the Services PAL log was not populating any data when navigating to the log file. This issue was traced to the logic in StatisticsLogHelper and has been resolved by extracting the logic into helper functions and adding an explicit check for PALType Average. | Data Integration |
INC-257385 | 796788 | Email listener updates for logs and send-as | Unneeded warning logs were printed for the email listener. This was an unintended side effect of previous work to check for empty SendAs in MSGraph, and has been resolved by moving the unnecessary log into a catch block.In addition, using Global Resource Settings (GRS) for send-as in the email listener rule form was not working. This was a missed use case and has been corrected. | Data Integration |
INC-257386 | 807087 | Added Calendar Type check for .ics attachments | Whenever a message with an .ics file attachment was sent to the email listener, the filename was automatically changed to noname_1.ics in the portal. This has been resolved with the addition of a check to evaluate whether MimePart has a file name for Calendar Type. | Data Integration |
INC-257572 | 781880 | LoggerContext initialization updated | SoapAppenderPega was failing to initialize or was stopping unexpectedly. This was traced to a null pointer exception and has been resolved by updating the LoggerContext initialization to check whether it has been initialized with class loader by default, and if not it will initialize LoggerContext again with class loader. | Data Integration |
INC-257632 | 781173 | Expunger updated to handle on-premise | When running Pega Infinity on-premise the error "Issue retrieving reference file://pegacloudfilestorage:/archive/archivedclasses/Pega-DM-Simulation-Bias" was generated by the internal.RepositoryManagerImpl function. This was caused by pyPegaExpunger running pzPerformExpunge by default despite there not being a cloud storage component designated. This has been resolved by updating Expunger for on-premise scenarios. | Data Integration |
INC-257869 | 783469 | French locale uses semicolon delimiter for CSV export | An exported CSV file was unexpectedly opening as comma-separated data for French users. This was an unintended side effect of work done to add the language code "fr" to the Decision Table pzGetLocaleListSeparator, as the French locale uses "," as a decimal separator. With this update, the previous behavior of CSV exports using a semicolon instead of a comma as the delimiter when the operator default_locale set to "fr_FR" has been restored. | Data Integration |
INC-258026 | 806227 | Dates stored properly when using DX API | In some scenarios a datetime property with a value in the format 'yyyyMMdd' in it was incorrectly formatted when running the pxConvertISODateTimeToPegaInternalFormat function. To handle this format a condition has been added to evaluate whether the datetime property value contains "-", and if so the method convertDateTime will be called to convert it into Pega Data format. If the condition is not met, the system will return the same datetime String value. | Data Integration |
INC-258416 | 750135 | Corrected File Listener trace | After update, the File Listener trace from Admin Studio was running but the events were not captured in the trace. This was an unintended side effect of previous work done around OAuth2.0 threads, and has been resolved. | Data Integration |
INC-258764 | 783752 | REST connector Authentication redirection updated | An authentication REST connector which redirects to another URL was not working. This has been resolved with an update to AllowListLaxRedirectStrategy which checks for the Name in addition to the Value of the header. | Data Integration |
INC-258871 | 800863 | Updated WebUser requestor timeout to resolve intermittent spike | An intermittent user/requestor spike was seen in WebUser nodes, requiring a node restart to recover. Investigation showed that whenever a requestor was terminated through Admin Studio, two "NONE" requestors were being created through Web-Login and pzunKnownSessionAlert HTML: Web-Login's "NONE" requestor was treated as a shortlived requestor and removed from Admin Studio after reaching the configured shortlived timeout value, but the pzunknownsessionalert "NONE" requestor was considered a normal browser requestor and deleted based normal browser timeout value. This has been resolved with an update to correctly set pzunKnownSessionAlert's requestor as "shortlived". | Data Integration |
INC-259204 | 795960 | Added handling for space in folder name for MSGraph-based listener | When the MSGraph folder name contained spaces (for example "toms inbox"), the email listener was not able to read the messages. The error "Caused by: java.lang.RuntimeException: java.net.URISyntaxException: Illegal character in query" was generated. This has been resolved by using URLEncode with folderName in MSGraphEMailClient.getMailFolders to properly encode the entire folder name value. | Data Integration |
INC-260314 | 810503 | Debug logging added for page open | In order to better diagnose an issue with a 'when' condition configured in the Access role being called on an unnamed page rather than the pyworkpage after update, additional logging has been added. | Data Integration |
INC-262348 | 798972 | File upload error message made less verbose | Overly verbose error messages may contain information that is not inherently sensitive but could potentially be used to exploit a vulnerability. To resolve this, error message that is generated when uploading files with extensions that are not allowed in the application will only use the last portion of the message from the exception to create a FileNotFoundException. | Data Integration |
INC-262797 | 803303 | Corrected decimal separators for en_ZA locale | While entering financials the amount gets multiplied with 100 automatically in the en_ZA (South Africa) locale. This has been resolved by updating the thousand separator and decimal separator as space and comma respectively for the en_ZA locale. | Data Integration |
INC-263049 | 802959 | Updated handling for PegaExpressionEvaluator assembly | System slowness and login issues were seen when using Global Resource Setting syntax in a text field combined with a parametrizable data page in the expression, for example: =D_pxGetApplicationSettingValue[OwningRuleset:"PegaUnitTests:01-01-01",Purpose:"URLSetting"].pySettingValue. Investigation showed the ExpressionEvaluator was compiling and writing to the database every time the GRS was evaluated, and this has been added by refactoring PegaExpressionEvaluator to use a unique java class name for each assembled expression. | Data Integration |
INC-263633 | 811319 | Sensitive data filtering added for JSON logging | In order to ensure potentially sensitive data is not included in the log file as JSON output, an inclusion list has been added to determine which fields should be present. | Data Integration |
INC-263791 | 809938 | Box integration updated for digital messaging attachments | Attempting to use a digital messaging channel to send a message to an end user failed to send the message and a HTTP 422 error was generated due to there being an attachment page detected. Content storage was configured with a Box provider which caused attachments to be uploaded to Box, and whenever chats came through there was some basic context data that was passed and treated as an attachment. The data transform pzCreateFileRequest created a clipboard page "pyRequestAttachmentPage" with attachment data to be sent via the REST connector, but this page was not removed from the clipboard, and the next request with the REST connector caused that request to be treated as multipart. This has been resolved by ensuring the removal of the pyRequestAttachmentPage before initiating Box transactions. | Data Integration |
INC-264237 | 805825 | Thread safety added to checkCalendarCache function | When three jobs were scheduled to start at the same time, two of them experienced the same event and only one of them executed successfully. All subsequent jobs completed normally. This was traced to the the business calendar object not being found due to the business calendar reading the cache when the cache was not ready, and has been resolved by adding a synchronized block in the checkCalendarCache function for thread safety. | Data Integration |
INC-264515 INC-A1063 |
793239 804466 |
Corrected date formatting issues for en_SG locale | After update, date formatting was incorrect for the en_SG (Singapore) locale. This has been corrected. | Data Integration |
INC-265138 | 794762 | Data-Retention-Policy rule reflects Associated classes added from Archival screen | After adding and saving "archival associated classes" and "Search using embedded page-list properties" from the Case Types -> Settings -> Archival screen, these added changes were not reflected in the archival case type instance when opened from Data-Retention-Policy. Support has now been added for Data-Retention-Policy archival case type instances. Note that Pega does not support or recommend any archival-related change from the Data-Retention-Policy instance, and associated classes and embedded page-list properties changes will not be saved if added from the Data-Retention-Policy screen. Changes should be done from the Case Types -> Settings -> Archival screen only. | Data Integration |
INC-265462 INC-266830 |
790566 | Interaction History Summary replay updated for large repositories | The Interaction History Summary replay from the File Repository was not working if there were more than 1000 entries in a folder. This was due to a limitation of the RepositoryAPI, and has been resolved by replacing the ListNextBatchOfObjects API with ListObjects. | Data Integration |
INC-266076 | 800740 | Date conversion restored | Implicit type conversions were no longer happening, for example a Double value was not being converted to an Integer when putting it into an Integer property, and JSON Dates were no longer being converted to Pega Date values. To resolve this, JSONMappingUtilities were corrected to properly format date strings to set values to date type properties. | Data Integration |
INC-266294 | 801433 | Handling added for List in read-only datapages | After parsing the JSON response, copying the parsed clipboard page to another page generated the error "pegarules.pub.clipboard.InvalidParameterException: invalid mode '?'. Only JavaObject, String, or Page is allowed." This was traced to an unexpected additional value list property in JSON, and has been resolved with the addition of code to handle an unknown List in Read-Only Datapages. | Data Integration |
INC-266964 INC-265224 |
808749 | Null check added to resolve multipart service error | After update, calling an endpoint of a REST service which returns a multipart format response to obtain the content of a file resulted in the error "Caught throwable while accessing message body: null". This has been resolved by adding null check for the disposition. | Data Integration |
INC-268772 INC-262213 |
796601 | Connect-SOAP Guardrail warning updated for File Listener | When an endpoint URL in a Connect-SOAP rule was configured to use a data page, a Severe guardrail warning appeared on the rule. This has been resolved by updating the pxAddWarningsForGRSField Activity to add a condition to check for the File Listener class. With this change, Severe guardrail warnings appear only for File Listeners instead of all Integration rules. | Data Integration |
INC-268886 | 811597 | DownloadFromWebStorage updated to support UTF-8 text | A file with Japanese characters in the name appeared to be uploaded and attached with the correct name, but when that file was downloaded the name was altered to "ACPRIMARY_0.docx" (originally a Word file). Investigation showed that the custom file upload/download functionality being used called "pega.ui.HarnessActions.doAttachmentSingleClick" for the download. This uses pzDownloadFromWebStorage, and the Content-Disposition header for this has now been updated to support UTF-8 text. | Data Integration |
INC-269006 | 804888 | DSS added to control inferring for Circumstances Template | When creating emails, the base template was retrieved instead of the expected circumstanced template. After re-saving the circumstance definition used for the correspondence template, the correct correspondence template was selected during the email generation. This was traced to the circumstance template being assembled from the framework application level, causing it to miss definitions from the dependencies as they are in the higher application level. To resolve this, the DSS "racache/skipInferringForCircumstanceTemplate" has been added to allow disabling inferring for Circumstances Template. | Data Integration |
INC-271230 | 792806 | AWS jars updated | The AWS jars have been upgraded to the latest version. | Data Integration |
INC-271536 | 807705 | Updated contentLength handling for Microsoft Azure repositories | When using a File Repository and a File Listener to process a file placed in the Microsoft Azure Blob Storage, file listener was not able to process a large file placed in the Azure Blob and reported no files to process though the file is present. This issue did not happen when a smaller file was used. Investigation showed that Azure Blob storage stores large files in block blob and that the Content-MD5 property is not set implicitly for block blob by the FileCloudStorageAdapter used to handle Azure repository-related functions. This has been resolved by adding a check for contentLength alongside content-md5 for identifying whether the object is a file or emptyFolder. | Data Integration |
INC-272460 | 810290 | PortalServer instance removed | The Data-Admin-AppID PortalServer instance has been removed and the rule type Service Portlet has been replaced by Pega Web Mashup. | Data Integration |
INC-A281 | 808096 | JVM proxy support added for CloseableHttpClient | After update, HttpHostConnectException errors relating to Microsoft Graph were encountered while processing incoming email messages. This has been resolved by adding JVM proxy configuration support for CloseableHttpClient. | Data Integration |
INC-A5008 | 811325 | Added check to resolve memory allocation exception | Memory allocation exceptions were seen in system logs for every UI action by a user. This has been resolved with the addition of checks for whether the thread allocation memory attribute is supported by the JVM. | Data Integration |
SR-D13375 | 775331 | Added handling for null requestor returned to ManagementDaemon | An invalid parameter exception was raised by the ManagementDaemon executing checkRequestors method. This occurred when the requestor argument, retrieved by the ManagementDaemon, was attempting to determine whether a PEGA0019 alert should be emitted in case of a long running requestor, but the NodeRequestorMgt.getRequestorNames() implementation returned non-existing application requestors. This has been resolved by adding handling for InvalidParameterException in cases where the requestor is deleted before the job is executed on it. | Data Integration |
Decision Management
23.1 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-216114 | 727935 | Data flow thread count made configurable | Data flow thread count made configurable In order to leverage performance of high capacity nodes, an update has been made to expose the default thread count as a configurable environment setting for the dataflow service instances on CloudK or CuttyHunk: DF_DEFAULT_THREADS_BATCH DF_DEFAULT_THREADS_REALTIME DF_DEFAULT_THREADS_BACKGROUNDPROCESSING etc. according to the hardware of such node during provisioning. |
Decision Management |
INC-224816 | 748308 | Notifications list will be rebuilt after passivation | Trying to load the notifications by clicking on the bell after returning to a passivated session resulted in a blank page.This was traced to a null pointer for the pyEnableChannel in pyGetNotificationDefinitionsPerClass, and has been resolved with an update which will remove and rebuild the NotificationsList page in the pyGetNotificationDefinitionsPerClass activity in case of session timeout. | Decision Management |
INC-228287 | 731636 | Resolved IH count discrepancy for globally optimized strategy | When the IHSummary dataset used in the interaction history shape had pxInteractionID selected as an additional dimension in GroupBy keys and a globally optimized strategy (GOS) was created that referenced the strategy, running the GOS compare test with a data transform setting the primary key of the strategy apply-to class had the right summary record as output while GOS had an empty page as the output. This has been addressed with an update which will exclude interactionID from the GroupBy keys of the IHSummary dataset to resolve the discrepancy between GOS and normal strategy execution. In addition, when there is no driver shape and no summary records, the system will not output summary record pages. | Decision Management |
INC-230776 | 757396 | Rule-File-Binary update propagates correctly | The Model update was not reflecting from the Prediction Build. Investigation showed the Rule-File-Binary update was not reflecting across nodes. This has been resolved by adding a validate on the binary file to refresh the binary file cache across nodes. | Decision Management |
INC-231930 | 778107 | FetchResponseConfiguration performance improvement | Performance issues were seen when running a batch campaign using NBAD with all issues, all groups. This was traced to the system browsing the pxDR dataset twice during the triggerNextStageprocessing dataflow internally, and has been ben resolved with an update to read in-memory data instead of making a database call. | Decision Management |
INC-235060 | 757832 | ADM Factory migration process made configurable | In order to address an issue with data migration pipeline timeouts when processing large models, the controls of the ADM Factory migration process have been exposed through a set of dynamic system settings. The settings introduced are: - "decision/adm/service/factoryPersistTimeoutSeconds": Timeout in seconds when saving updated model factory and related artifacts to the underlying persistency layers. - "decision/adm/service/migration/dataFlowService": Specifies the data flow service on which the ADM Factory migration will be executed, by default the DataFlow.Batch service is used. - "decision/adm/service/migration/maxFailures": Specifies the max number of failures tolerated during the ADM Factory migration, by default this is zero and the migration will fail on any model that fails to migrate. - "decision/adm/service/migration/requestorCount": Specifies the number of requestors (i.e. threads) that the ADM Factory migration data flow will use, by default the default configured on the data flow service is used. All settings can be configured through a dynamic system setting on the owning ruleset as "Pega-DecisionEngine" , or through a prconfig setting. |
Decision Management |
INC-235496 | 766561 | When rule added to control attachment thumbnail generation | In some circumstances an unauthorized user may be able to view the thumbnail generated for an uploaded attachment. To address this, the when rule pycangeneratedocumentthumbnail has been added which can be used to prevent thumbnail generation. The default value is true, which will allow thumbnail generation. | Decision Management |
INC-236293 | 742116 | Predictions Rules update in Revision Management | Prediction Rules updates were not manifested as expected for runtime use. This was due to prediction not being fully supported in revision management, and has been resolved with an update which will save a substrategy along with the main strategy in the Revision Manager context. | Decision Management |
INC-236831 | 748741 | Confidence score saved for entity, topic | Confidence score for topic has been added in the Natural Language Processing (NLP) report details. | Decision Management |
INC-237215 | 761470 | Updated handling to avoid copy alert | An alert was generated from VirtualListCopy with the message "Light weight list has been copied in rule 'CODE-PEGA-LIST PZGETREFERENCEDDOCUMENTS". This has been resolved by passing the primary page to the report definition instead of the named page to avoid copying results. | Decision Management |
INC-238427 | 746852 | Attachment pagination handling added for custom simulation reports | The Pega Marketing simulation process migrated as case type has an option in the Pending-Review stage for each report to attach the report outcome to the case, but the system was loading only 50 records when pagination was enabled. This was a missed use case for custom reports with pagination enabled. The API used in the custom report to convert the results to CSV used a Report content page which had limited results due to pagination while standard simulation reports do not have pagination enabled. To resolve this, an extension has been added to override the report parameters for custom simulation reports and disable the paging parameter. An extension point was also added in the Simulation report category so it can be enabled for report viewer. | Decision Management |
INC-239342 | 758670 | Partitioning keys added to Snapshots to improve performance | When using a data flow that reads from PR_DATA_DM_ADMMART_PRED table using a database table dataset and writes the results to a file repository, the ADM Predictor Dataset export within the dataflow was taking too long to browse the table. Investigation showed the dataset "pzADMPredictorSnapshots" did not have a partition key, causing the data flow to execute in a single thread. To resolve this, partitioning keys have been added. pyModelSnapshots and pzModelSnapshots contains the .pzInsKey as the partitioning key. pyADMPredictorSnapshots and pzADMPredictorSnapshots contains the .pyModelID as the partitioning key. |
Decision Management |
INC-240208 | 749899 | Offer flow opens when adaptive model exists | After creating and enabling an offer in two inbound channels, the offer was then enabled in an outbound channel. After that, an error was generated when opening the offer flow and tracer showed a type conversion error on one of the predictors while the system was trying to load the ADM data. This has been resolved by updating ADM Monitoring to address a getBinLabelDisplay parse error. | Decision Management |
INC-241874 | 754408 | Special characters handling added for keyword entity type | Entity extraction was not working if the text contained a dash character, "-". This has been resolved by modifying the tokenization logic to handle special characters when building the keyword based model. | Decision Management |
INC-242670 INC-243025 |
753020 753288 |
Pre-aggregation calculation logic updated | When using custom interaction history summaries in which some of the aggregates were configured with a window of "All time", the summary was aggregating data only for the last 365 days. This has been resolved with an update to the calculation of the pre-aggregation start date when a summary dataset contains both all-time and non all-time aggregates. | Decision Management |
INC-243039 | 761708 | HealthCheck logging improved | In order to assist with resolving node issues, when the Pega HealthCheck monitor daemon evaluates a cluster node member as non-responsive or slow responsive, the HealthCheck monitor will include the runID information in the logfile message. | Decision Management |
INC-243344 | 754454 | Enhancements to Voice AI Model | In order to address an issue where entity model accuracies with voice transcripts were lower in certain instances where the entity was in the beginning of the sentence or towards the end of the sentence, a feature set has been added for entity models built for voice usecases. This is controlled through the new DSS "decision/textanalytics/entitymodel/isvoiceenabled" which is set to false by default. If set to true, this new feature set will be used and entity models built after setting this DSS to true will be better suited for voice AI usecases. | Decision Management |
INC-244249 | 762753 | Improved backwards compatibility for Model and Topic | After update, testing Model and Topic with an associated data decision rule was throwing an error. This was traced to refactoring work on a Natural Language Processing (NLP) function that generated an illegal argument exception when given a "-" in the key passed to the ParameterPage.put(String key, String value) method. In this case, the identifier of the decision data contained a hyphen. In order to improve backwards compatibility, the logic has been updated to use a HashStringMap and then set this map in the parameterPage with key as the constant "modelDetails". This ensures the model identifier will be set in the map and the parameterPage key will not have characters such as hyphen, etc. | Decision Management |
INC-245335 | 760103 | Migration of adaptive model and prediction monitoring data made optional | In order to allow greater control of the Data Migration pipeline from Production to Simulation, granular controls have been added to toggle the data migration for adaptive model and prediction monitoring data such that the ADM factory is always migrated, but the monitoring data can be opted-in or out. This has been implemented through the use of "when" rules to make the ADM and Predictor datamart export and import optional. | Decision Management |
INC-245472 | 764509 | Bkp decision data correctly removed before revision deployment | While completing/packaging a revision, some of the decision data backup rules were merged into the locked overlay ruleset instead of being deleted from the branch ruleset. This has been resolved by updating the activity to be case insensitive to handle both "bkp" and "Bkp" naming in the the cleanup. | Decision Management |
INC-245799 | 764374 | Updated action rule validation check | Check-in of the action rule was failing due to the wrong configuration of the eligibility criteria. This was caused by private checkouts intermittently not being released correctly if validation failed during rule check-in. This was a missed use case, and has been resolved by correcting the validation of action rules during CR submit. | Decision Management |
INC-246743 | 781252 | Local Cassandra datacenter default keyspace includes states | After the Aggregates_Interaction history data flow was stopped manually and restarted, the statistics for the aggregate data flow contained empty values. This was traced to a missing keyspace which prevented the aggregation service from storing the aggregation configuration, and has been resolved by adding keyspace states to NODE_CASSANDRA_LOCAL_DATACENTER_KEYSPACES_DEFAULT. | Decision Management |
INC-246780 | 761800 | Special characters removed from Interaction History to prevent exceptions | Production utility nodes were requiring restarts due to out of memory errors. Investigation traced this to Interaction History dataset records containing unexpected special characters in the key such as "" or "$" or "^" that generated exceptions when writing the records to the HDS. This has been resolved by removing the special characters from the keys while writing them to the HDS. | Decision Management |
INC-247310 | 791789 | Handling updated for resuming HandleResponses data flow | After an accidental restart of the pxHandleResponses data flow, the events already waiting in the window were held waiting for the complete duration configured in the response timeout. To help in processing the future conversion responses faster, pxHandleResponses has been updated to calculate the delta time between decision time and response waiting time and subtract the response wait time to create the queue. | Decision Management |
INC-247517 | 764155 | Corrected dirty pop up message incorrectly displayed | The dirty dialogue was being thrown upon commenting on a Pulse post, even when there were no unsaved change in the form. Investigation showed the method "pega.u.d.clearDirtyState" was not being called when posting a comment in the Pulse, only when making a post. This was a missed use case, and has been resolved by adding the clearDirtyState function after posting a reply. | Decision Management |
INC-247763 | 769867 | Security updated for input text | Sanity checks have been added for spaces, documents and cases to improve security. | Decision Management |
INC-248221 | 767224 | Distribution simulation results cleaned up on resolution | Simulation results were not cleaned up from the database table-type output destination when a simulation was withdrawn/resolved. Over time, using the same output destination for simulations led to a large number of records in the database table and subsequent reports run on that table were timing out. To resolve this, a new activity has been added to truncate simulation results on case resolution. The pxCleanUpSimulationResults API used for one-time clean up of results for resolved simulations can also be used to clean up older runs. | Decision Management |
INC-248433 | 771379 | Pega Dependent Roles documentation updated | The Permission Inheritance and Dependent Roles documentation for the Pega Dependent Roles mechanism has been updated to clarify that if permissions for a class vary between dependent roles, the order is relevant as the system stops access checking once a relevant Access of Role to Object instance explicitly denies or grants access in the dependent roles list. | Decision Management |
INC-249829 | 771765 | PEGA0075 alert more detailed | The PEGA0075 alert has been updated to include Query info (to identify the involved column family), Requestor ID, Interaction number, Correlation id, and PAL data. | Decision Management |
INC-250008 | 767820 | Updated exception handling for empty partition key | No results were shown after a dataflow run, and a DdsBatchOperationException was logged at the compose shape in the dataflow. This was traced to the DDS DataSet returning empty results instead of throwing an exception when given an empty partition key, and has been resolved. | Decision Management |
INC-251836 | 768431 | Old scoring models given default modelVersion to resolve error | After update, an intermittent "Error prod-mirror - DataFlow Stage Exception" error message appeared when opening the "Decision > Model Management" page to view all models. This was due to modelVersion not being defined in old scoring models that have been generated and serialized. If these are still in serialized form in the Cassandra store on Pega versions 8.6+, then they will throw this exception. To resolve this, coverage has been added for Pega v8.3 scoring models which will use the default version when modelVersion is missing on deserialization. | Decision Management |
INC-252392 | 756165 | DDR count updated correctly after record deletion | The count on DDR was not updated appropriately after a record was deleted from it. Investigation showed the step for updating the count for DDR was missing in activity pzModifyDDRule, and this has been resolved. | Decision Management |
INC-252956 | 778803 | NBA_TopLevel Strategy Proposition Filters updated for optimization | The expression parsers for EmailTreatmentEligibilityRule and MobileTreatmentEligibilityRule have been updated to handle multiple ORs, allowing them to be optimized. | Decision Management |
INC-253154 | 789893 | Time to live works for embedded pages in Cassandra | When the Time To Live (TTL) value was applied via a property instead of being hardcoded, the embedded pages were not deleted after the TTL expired. This has been resolved by updating the decision data set save operation to allow accessing parent page properties in order to read the TTL value. | Decision Management |
INC-253588 | 775762 | Security updated for Pulse text | Sanity checks have been added for Pulse text to improve security. | Decision Management |
INC-254267 | 778504 | Updated failure handling for CallVirusCheck | A case was not able to proceed after enabling call virus check for attachments. Investigation showed that after getting the error message from the attachment gadget, the failure operation was performing a deferred save and throwing an error. This was a missed use case, and has been resolved by adding a rollback step when the pzmanagecontentpostprocessing activity fails. | Decision Management |
INC-254828 INC-252654 |
777288 778147 |
Warning logging updated for Avro schema | After creating a dataset with the Avro schema, the Kafka save operation created extremely large log files which led to system performance issues. This was traced to warning messages generated for non-mandatory fields, and has been resolved by discontinuing logging exceptions on null values for Avro schema. | Decision Management |
INC-255453 | 790937 | Max character limit made configurable for language detection | On sending email to the listener in a single language the acknowledgment mail was correctly generated in the respective language, but if any keyword in the mail body or subject header was in different language than the rest of the email received by the listener, the language used for the acknowledgment mail was in an unexpected language even if English was set as a fallback language. This led scenarios such as a customer who sent mail in German where the email subject contained a single English word receiving back an acknowledgement in Dutch. To resolve this, the Prediction Studio settings have been updated with a configurable limit for language detection which allows for more characters to improve the performance of language detection. The default for LANGUAGE_DETECTION_MAX_CHAR_LIMIT is 200 characters, which was the previously hardcoded limit. | Decision Management |
INC-255532 | 787745 | Resolved exceptions from ExecuteHandleResponseDataFlow check | The ExecuteHandleResponseDataFlow activity was continuously throwing IndeterminateConditionalException errors due to a condition calling HasFunctionalNodes to check for available realtime nodes before starting the data flow run. All the nodes were in the cluster but the function call failed, causing the alerts. This has been resolved with an update which removes the condition in ExecuteHandleResponseDataFlow which was calling HasFunctionalNodes to check for realtime nodes, and adding a refresh of the last known snapshot when the topology never has been refreshed or has been marked as stale. | Decision Management |
INC-256560 INC-251504 |
778024 773154 |
Resolved memory issues related to ADMSnapshot agent | Production utility nodes were terminating due to out of memory errors. This was traced to the RULE-OBJ-ACTIVITY DATA-DM-SUMMARY PYSAVEWEEKLYANDMONTHLYSNAPSHOTS activity, used in execution monitoring to aggregate weekly and monthly data. Investigation showed the merge operation of a numeric summary for each predictor was added to the list, increasing the size. When this was serialized into JSON and de-serialized again, it occupied a lot of heap memory for each predictor which then affected the utility nodes' heap memory. To resolve this, a compress call has been added to summaries post-merge for daily, weekly, and monthly snapshots. | Decision Management |
INC-258442 | 788529 | Create Pin control updated | The control for the Create Pin description has been updated from label to pyInstructions to resolve an issue with displaying in read-only mode. | Decision Management |
INC-259667 | 770969 | Corrected feedback training data edit issue | Attempting to edit training data for unreviewed feedback in the training data tab was not working when the feedback was added using the pxCaptureTAFeedback API. This has been corrected. | Decision Management |
INC-260119 INC-A2250 |
788519 805662 |
CDH metrics available for partitioned and ordinary ih_fact tables | The SQL query for CDH usage metrics has been updated to work with both partitioned and ordinary ih_fact tables. | Decision Management |
INC-261207 | 790553 | When rules applied in Treatment Eligibility behave consistently | The proposition filter was not producing the expected results when there was more than one "when" condition given. Investigation showed the treatment filters were only evaluating the first criteria and not all criteria even if "AND" was used for grouping. This has been corrected. | Decision Management |
INC-261912 | 785260 | Change to Event Strategies detected by the digest validator | After update, the pxhandle response dataflow was failing. The issue was caused by changes in pxQueueResponses dataflow between Pega 8.5 and Pega 8.7: the number of output properties changed for the Event Strategy, causing a mismatch between the state storage and the event strategy/dataflow definition. With this update, when any change is made to Event Strategy rule or Event Strategy shape in DataFlow then it should be detected by DataFlow and internal state of Event Strategy should be truncated. | Decision Management |
INC-262661 | 807361 | Kafka processing improvements for real time events | Processing seemed slow for a Realtime dataflow which reads events from external Kafka dataset. This has been addressed by resolving some conflicts, removing an unnecessary seekToEnd, and adding additional diagnostic logging to allow for better identification of issues. | Decision Management |
INC-263219 | 795259 | PropositionFilter able to set nestedLevels in condition builder | After upgrading from Pega 7.3 to Pega 8.7, the node crashed when trying to add a new "when" condition in a proposition filter. Condition builder contains the pySetWhenGadgetContext extension data transform needed to override pyNestedLevels, however in this use case pySetWhenGadgetContext was not getting called when the PropositionFilter condition builder was loaded. This has been resolved. | Decision Management |
INC-264935 | 794916 | Corrected Pulse "show tags" parameter casing | After setting the D_pzRenderFeedContext parameter of "show tags" to false, Pulse was still displaying tags. Investigation showed the activity PegaGadget-Pulse-Feed.pySetPulseContext had the parameter in camel case format like 'showTags' where the datapage declares the parameter in pascal case format like 'ShowTags'. This has been resolved by updating the activity PegaGadget-Pulse-Feed.pySetPulseContext's parameter from "showTags" to "ShowTags" so the parameters match. | Decision Management |
INC-265011 | 793011 | Resolved metrics deserialization error | After upgrading from Pega 7.3 to Pega 8.7, the PegaRULES log file began to fill up with error messages related to metrics. This was caused by the current data flow metrics not being compatible with the 7.3 version of the metrics, resulting in serialization errors. This has been resolved. | Decision Management |
INC-265549 | 753281 | Corrected weekly / monthly snapshot for Execution monitoring | No weekly or monthly snapshots were being generated for Execution monitoring. This was traced to an error in passing the snapshottime parameter and has been resolved. | Decision Management |
INC-266507 | 791952 | DASS added to control initial state of ServiceAPI Circuit Breaker | When an initial request triggers the Global Optimization strategy compilation, all other requests are blocked while the strategy is compiled. Once the compilation is eventually done, all waiting threads start to execute the cold strategy. This high concurrency plus hotspot compilation and cache priming may cause high latencies for 30 seconds or so. To address this, an update has been made which will allow the Circuit Breaker in the Service-REST rule to start in open mode during node recycle while the Globally Optimized strategy is being compiled for the first time. This Circuit Breaker open mode allows default offers or responses to be sent to the end user during this delay window instead of impacting the performance for the inbound calls. 'Start in open mode' should only be enabled on Decision Hub nodes. | Decision Management |
INC-267095 | 809078 | Null pointer handling added to CreatePoster activity | Changing the file mime type from php to png and trying to attach that file to the a case generated a null pointer exception from the 'pzCreatePoster' activity. This has been resolved by adding handling for the null pointer exception. | Decision Management |
INC-267142 | 798045 | Addressed memory leak related to secondary branch strategy shape | A memory leak was occurring in the batch and realtime dataflow execution when using a strategy shape in a secondary branch, such as a dataflow source in compose and merge configurations with a strategy shape. Investigation traced this to the flush listeners which hold references to all the dataflow stages executed in the secondary path and which can build up over time if many stages are executed. To resolve this, an update has been made to call onPulse and onFlush at least once after secondary source has produced all its output. | Decision Management |
INC-268327 INC-A6484 |
811792 816116 |
Improvement in decisions when using fallback strategy | While pzTakeExecMonSnapshot QP was processing and inserting records in the summary table, there were slow inserts and the out of memory error "Requested array size exceeds VM limit" was seen. This has been resolved by adding a check for the sampling condition on multi-level execution format, and compression of quantile summary on merge of numeric summaries. | Decision Management |
INC-268426 | 795323 | Analyzer edit access corrected for staging | Attempting to edit text analyzers in the staging environment was not working. This has been resolved. | Decision Management |
INC-268520 | 807312 | Support for FIXED type in Avro schema | The exception "kafka.api.serde.avro.AvroSerdeException: Unsupported data type: FIXED" was generated when using the Kafka cluster schema registry to receive Avro formatted messages. This was due to the schema registry providing the schema with attributes declared as FIXED type, which was not supported. This has been resolved by adding handling for enum, fixed and bytes. | Decision Management |
INC-269211 | 813000 | Improved performance for "isInList" functions | The function pxstringarrayhasvalue has been refactored to improve performance. | Decision Management |
INC-269517 | 786513 | AggregatesSaveOperation provides per record errors | If a single record failed in a batch due to an invalid pySubjectID, the whole batch failed and logging did not assist with finding the bad record. This has been resolved by updating the error handling in AggregatesSaveOperation so that only the record with missing pySubjectId is marked as failed. | Decision Management |
INC-270318 | 801969 | When condition added for delete ruleset on update overlay | When the overlay instance from Data-Decision-RevisionRecords became corrupted and did not have the ruleset and version information, the underlying rules were getting deleted when the revert logic was executed and the overlay was updated. To resolve this, a "when" condition has been added to check for empty ruleset and version and delete only if it is not empty. | Decision Management |
INC-272643 | 811359 | WhiteList and AllowList optimization made consistent | Some functions included in the 'pyWhiteListFunction' data transform were appearing as unoptimized. However, when the same functions were added to the 'pyAllowListFunction' data transform, the status showed as optimized. The function of whitelist and allowlist are the same and there should be consistent handling of the components; this has been resolved with an update to support white-listed functions as expected. | Decision Management |
INC-A1154 | 804428 | Resolved context for class loading of metrics for DDS | Campaign runs were failing with the error "NoClassDefFoundError: Could not initialize class com.pega.dsm.dnode.api.dds.service.CassandraSessionCache". This was traced to a context issue and has been resolved by using an explicit classloader to load DDSMetrics in CassandraSessionCache to prevent unsupported operation exception. | Decision Management |
INC-A13723 | 796324 | Corrected HTML code appearing in email body | After update, HTML code was displayed in the email body in Email Manager portal and Pulse UI. This was traced to cross-scripting filters formatting the Email response as plain text, and has been resolved by adding a condition check before calling crossScriptingFilter to avoid mis-formatting the response. | Decision Management |
INC-A17541 | 832765 | Corrected clipboard handling for Interaction History summary cache | After populating the “pxPegaSummaries” list in the activity and invoking the single case data flow using the pxSingleCaseDDF API by passing the “useOptimized = false”, the execution failed and started throwing the exception "Expected DSM clipboard pages but got com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl". The same configuration worked as expected if “useOptimized=true” was used. This was traced to the Interaction History summary cache returning the wrong type of Clipboard page in some environments, and has been resolved by converting the page to the type defined by the tools before returning it from the Interaction History summary cache. | Decision Management |
INC-A5636 | 812819 | Improved implementation of asynchronous writes into DDS | Existing real-time container response depends on several DDS writes happening within pxDelayedLearningFlow. In order to improve performance, the writes will happen asynchronously and be configurable per node. Asynchronous writes can be enabled via the dnode/save_dds_async_processing_enabled prconfig setting, and the number of threads used for async writes can be configured via dnode/save_dds_async_processing_thread_count. | Decision Management |
INC-A978 | 812222 | Corrected latency calculations when using secondary source | The data fetch latency in PDC calculations were not correct when using data flow as a secondary source. Investigation showed the system was using an incorrect metric collector when a secondary source is embedded in a Data Flow, and this has been resolved by using the SecondarySourceStageMetricTracker class if the source is included in a secondary source Data Flow (e.g. from a Compose shape). | Decision Management |
Low-Code Application Development
23.1 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-232852 | 747813 | Handling added for modifying Administration default date settings at run time | If a user tried to override the default date of the configuration in the 'Administration' page for configuration sets at run time, the date reset to the default value. This was due to the value being stored in pyDynaUIPropertyReferenceDate instead of the pyDynaUIPropertyReference field, and has been resolved by adding the necessary extra processing on the save button to handle date settings in the administration landing page. | Low-code App Development |
INC-232907 | 776587 | Added handling for service-HTTP locking error | Operator via service HTTP was unable to check-in its own checked out record, generating the error "Update record failed: .pyRuleSet: You are not the owner of this checked out rule." Investigation showed pxThread.pxSecuritySnapshot.pxPersonalRuleset changed in the middle of processing. This has been resolved. | Low-code App Development |
INC-234244 | 777041 | Clipboard Viewer updated to handle a large number of results | The clipboard viewer was very slow to load pxResults while using database API methods to retrieve large amounts of data from a Stored Proc table. In addition, if there were fewer than 7000 characters then the results set was returned correctly, but no results set was returned if the count exceeded 7000. This has been resolved by limiting the initial load of lists to 500 with a link to show all results. | Low-code App Development |
INC-237182 | 767964 | Open rule works from Data Transform | When trying to open a rule (property, when, data transform) using the cross-hair icon from within a Data Transform, an error was generated and a search for the rule was required instead. This was traced to handling in the OpenRuleAdvanced_OverLabel control and has been resolved. | Low-code App Development |
INC-237496 | 766393 | Corrected overlay context loss in Cosmos | Attempting to add a condition in the eligibility criteria for a Next Best Action in the Cosmos portal caused the field to refresh and remain blank. Investigation showed there was a loss of context for overlays, which has been resolved by moving the hidden layout to the last dynamic layout in the pzInnerEmbedConditions section. | Low-code App Development |
INC-237925 INC-272990 |
768606 806391 |
Corrected validation rule resolution after modification | A validation rule showed OR in the statement but validated at runtime as an AND condition. This happened only when the second condition was given as AND, then one more condition row was added as OR, and the second condition was deleted, and has been resolved by updating the pzBasicValidWhen section to remove the pzSwitchOperation activity call on refresh of pyCondValueCategory. | Low-code App Development |
INC-239814 INC-253430 |
750058 774563 |
Resolved name conflict in Expression Builder | After update, attempting to edit an existing expression caused it to disappear from the Expression Builder in the decision tree. The error "Data Transform not found" appeared. Investigation showed there was a name conflict during resolution due to the system attempting to populate the class name instead of the expression condition. This has been resolved by updating the function names in OpenRuleAdvanced_OverLabel to rename functions declared in this control but called from other places with the suffix "_OverLabel" so the Javascript call is not overwritten with the function of the same name from other controls. | Low-code App Development |
INC-239887 | 766719 | Manual results pages will have ObjClass explicitly set | After defining multiple case types, for example CaseTypeA and CaseTypeB, as related cases for another case type such as CaseTypeC, trying to add CaseTypeA as a related case to CaseTypeC using the related case functionality generated an exception on selection of CaseTypeC in the first dropdown. This was traced to pxObjClass, which is required for Obj-Sort to function, not being set automatically due to data page / activities. This has been resolved by ensuring pxObjClass is set when creating pxResults pages manually. | Low-code App Development |
INC-240411 | 760713 | Number of completeness rows to return made configurable | When using a large decision table, clicking the 'Show completeness' button displayed a popup message indicating "The maximum number of completion rows was exceeded". This was due to a 500 row limitation for completeness which generated empty rows for excess lines rather than showing missing conditions as per the decision table condition. To address this, the DSS "DecisionTable/completeness/rowsLimit" in Pega-RULES Owning ruleset has been introduced to allow configuring the number of rows to return. The default and recommended value is 500. | Low-code App Development |
INC-240679 | 758009 | Rule resolution updated for AttachCategories API | The withdrawn rule exclusion was not working for the AttachCategories API. This has been resolved by updating the rule resolution logic in the pzGetAttachmentCategoriesImpl activity. | Low-code App Development |
INC-241349 INC-249503 |
752283 764081 |
Added handling for null pointer exception in PushDailyUsersData | The PushDailyUsersData agent in the PegaAESRemote agent schedule was crashing on a daily basis. The error did not occur when running the agent manually from admin studio after a restart. Investigation showed this error was caused by the system attempting to set a value to primary page; as primary page will not be there for agents, a null pointer exception was generated. This has been resolved. | Low-code App Development |
INC-243595 | 761320 | RecordInner updated to check Rule-RuleSet- during new component save | After opening Designer Studio -> Application ->Components and creating a new component, adding label and version and attempting to submit resulted in the message "Error- No open ruleset versions available". This has been resolved by updating pxUpdateRecordInner and pxCreateRecordInner to check for Rule-RuleSet- instead of only looking at Rule-RuleSet-Branch so that a version is not required for ruleset instances themselves. | Low-code App Development |
INC-246401 | 779553 | MaxRecords default raised to handle a large number of skins | After performing a major ruleset skimming, a warning appeared indicating that a skin was not available in the application even though it existed in a new ruleset version which was in the application rule resolution. This was traced to the "pyMaxRecords" parameter being set with a default value of 50 during query execution, and in those first 50 results, the skin rule from highest version was not available due to there being over 100 skin rule instances in different major versions in the app. To resolve this, the default has been modified to listPg.putString("pyMaxRecords", "10000"); for CheckForWarnings in Rule-Application to handle cases where there are a large number of skins. | Low-code App Development |
INC-247170 | 767803 | Removing an operator from a team correctly updates default | If a current operator was assigned to multiple teams (team 1 and team 2) with team 1 as the default, removing themselves from team 1 correctly changed their default to team 2, but if they were removed by a manager the system did not automatically pick up the new default. This has been resolved by updating the logic in .pyWorkGroupList(local.nextDefaultTeamIndex).pyRadioButtonAG. | Low-code App Development |
INC-247501 | 762374 | Resolved thread dump after saving large decision tables | After update from Pega 8.4 to Pega 8.6, saving and checking in rules for a large table was resulting in a thread dump. This has been resolved by enabling the "when" condition for step 3 in the checkForWarnings activity of Rule-Declare-DecisionTable so that testConsistency will be called only for the cell count below the given threshold value. | Low-code App Development |
INC-248026 | 766215 | Tracer settings security updated | Cross-site scripting protections have been updated for tracer settings. | Low-code App Development |
INC-248341 | 764941 | Corrected Expression Builder error when opening from Decision Table | Opening any delegated decision table from the UI and then opening the Expression Builder generated a pop-up message. Clicking on "OK" closed the pop-up but a new page showing an error message was opened. A security trace showed the activity pzCreateNewTempPage did not have the necessary registration in the pzEBHiddenElement control, and this has been resolved. | Low-code App Development |
INC-250133 | 773510 | Added startingWorkHandle check to enable case unlock | Using the DXAPI to get screen definitions and submission on an assignment submission resulted in a 400 HTTP error and the message "ValidationMessage:Unable to unlock [case id#]". Investigation showed this was due to a missing reference to "startingWorkHandle". To resolve this, the performB2BAssignmentCheck activity has been updated to add a precondition to check that Param.startingWorkHandle is not null. | Low-code App Development |
INC-250717 | 775090 | Decision table export corrected | After update, the decision table export functionality was not working. However, if a trace was started the functionality worked without any issue. Investigation showed there was a timing issue with the removal of the iframe before actual download of the document. This has been resolved with the addition of a timeout in pzRuleDeclareDecisionTableStandard.js to ensure the document is downloaded. | Low-code App Development |
INC-251308 | 772692 | Restored ability to create operator with empty time zone | After update, a new operator was always created with a default time zone as ACT with no option to select the time zone as blank. This was an inadvertent side effect of work done on RF_TimeZoneList control events, and has been corrected. | Low-code App Development |
INC-256019 | 779723 | Corrected skim results display | The Skimming wizard showed the Minor versions according to the restriction on the Application ruleset stack, but on Major skimming all the Minor version rulesets were shown without applying the restriction. This was traced to a conditional logic failure which caused the system to show a starting and ending version in read-only: those settings are used for Minor skimming and so should not be shown during a Major skim. Similarly, the "From Major Version" should not be shown when performing a Minor skim. This has been resolved by updating the logic for displaying the skim results. | Low-code App Development |
INC-258105 INC-268493 |
793244 | PushDailyCaseData query optimized | Case data was missing in PDC Telemetry due to the PEGAAESRemote agent report pushdailycasedata timing out. To resolve this, the GetInstancesOfCaseType report definition and the FetchDailyCreatedCaseInstanceData activity have been optimized by removing the date function in filters. | Low-code App Development |
INC-260253 | 789411 | Sibling rules button visible | The button for the sibling rules was missing after update. This has been resolved by updating the cross-site scripting filters to better handle rules without an applies-to class. | Low-code App Development |
INC-260618 | 779709 | Handling added to clean up test cases with exceptions | When a test case generated an exception, the pass/fail status was not being returned and the test case was not cleaned up. This has been resolved by adding handling for the exception so that clean up block gets executed and an error report is generated for the test case failure. | Low-code App Development |
INC-266191 | 791407 | Handling added for custom JSON attributes | During the GET call on the action of assignment of DX API, the generated JSON contained the error "validationMessages: Error while processing field" instead of the data of a "pxRadioButtons", "fieldID": "Selected Package". This was traced to an issue with custom attributes which have a key that has the name "value", which is a key word in the code. To resolve this, an update has been made to not obfuscate custom attributes, especially if a key is "value". | Low-code App Development |
INC-266539 | 814663 | IsInListofValues regex replaced with Apache Commons CSVParser | After configuring a 'when' rule with an "Is In" list of values functions that was given around 400 values, the 'when' rule was not executed during runtime. The results were blank and a stack overflow error was generated. Investigation showed the regex pattern in the pxIsInListofValues function caused the stack overflow error due to the recursion depth exhausting the available stack space. To resolve this, the regex pattern has been replaced with the Apache Common's library method CSVParser. | Low-code App Development |
INC-272619 | 807745 | Guided tour stop and resume work consistently | When the guided tour was stopped, the behavior was inconsistent on resuming the tour if there were hidden tour stops. When paused on a tour stop which was then followed by a visible tour stop, resuming the tour started at the point where the tour stopped. When the stop was followed by an invisible stop, resuming the tour skipped to the next visible stop. This has been corrected. | Low-code App Development |
INC-A2668 | 815157 | Updated privilege handling for Customer Decision Hub portal | Certain tabs were not visible in Customer Decision Hub. This was traced to BAC changes which limit what is shown based on the access groups, and which did not cover the use case of the Customer Decision Hub portal acting as a developer portal while not using an access group with developer privileges. To resolve this, an extension 'when' rule has been added for Customer Decision Hub to override and update the logic to show/hide tabs in Delegation. | Low-code App Development |
INC-268959 | 808193 | Corrected workPage for pzApplyPageInstructions | The pzUpdateCaseWithRequestBody activity for the pzApplyPageInstructions activity work page parameter was not passing during the PUT/Refresh DX API call. This caused the pxObjClass (ex: Data-Party-Ind) of the pyWorkParty(Customer) to override with the class defined in the pyWorkParty page group property, which resulted in the DX API returning a validation error. This has been resolved by setting the Param.workPage parameter, which is used in calculating class for content, while calling the pzApplyPageInstructions activity from the pzUpdateCaseWithRequestBody activity. | Low-code App Development |
Mobile
23.1 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-221348 | 748101 | Addressed iOS mobile app memory leak | The mobile app displayed a white screen after a period of using it on iOS devices. This was traced to a memory leak related to javascript objects created in a child webview and then stored in a shared (hidden) webview which were not properly cleaned up after use. To resolve this, ClientCache has been refactored. | Mobile |
INC-223328 | 760997 | Mobile app push notifications history updated | The history table of mobile push notifications remained empty after sending a push notification if the history table had over 1000 records. Investigation showed push notifications are taken in inpxGetPushHistory using Obj-Browse and then filtered in Java step by appID so the oldest push notifications were listed first, and the list of instances did not show the pagination even though it existed. To resolve this issue, the sorting in push optimization has been modified. | Mobile |
INC-238299 | 752476 | Server response filtering updated | To improve security, additional filtering has been added to the server response. | Mobile |
INC-240811 | 753208 | IBM Websphere/Java handling added for certificates | A certificate was working with push notifications on a Pega Cloud environment, but the same certificate used in an on-premise installation failed. This was traced to the use of IBM Websphere / IBM Java, which handles certificates differently. This was causing mobile certificates (keystores) passed through IBM Java to have two entries instead of one. To resolve this, special handling has been added for IBM Web Sphere and IBM JAVA. | Mobile |
INC-240898 | 754690 | Keyboard support added to Client for Windows attachment control | In Pega Client for Windows the "add attachments" button in the utilities pane was not accessible when using the keyboard instead of the mouse. This was due to system using the mobile version of the attachment control, which did not support keyboard events. To resolve this, keyboard action events have been added so that the space bar and enter key can be used to add an attachment in order to be accessible. | Mobile |
INC-241629 | 759397 | Visibility locking updated for mobile attachments | Attachments added in mobile were not visible in the desktop. This was traced to the @IsPageLocked(tools, workPage) not working as expected in the SaveAttachment activity of the standard "Attach Content" control for mobile, and has been resolved by replacing @isPageLocked with Database.IsLocked(workPage.pzInsKey) in the SaveAttachment activity which checks the lock on the work item ID. | Mobile |
INC-244702 | 770309 | Corrected Assign Mismatch error on Mobile | After a new comment was added to a work object on Mobile, the assignment status was set to "ERROR: ASSIGN MISMATCH" and it was not possible to perform any action or advance any further. This was traced to a security issue related to the the Assign-acquireworkobject activity, and has been resolved. | Mobile |
INC-245285 | 758382 | Documentation updated for mobile launch screen icon requirements | The launch screen logo in the interface channel for android devices was not rendered correctly after generating the application. The same logo was in good condition on iOS. Android recently updated the requirements for splash icons, masking 1/3 of the diameter so the actual dimensions are not relevant as long as it produces a clear image for different resolutions. To assist with meeting these requirements, the documentation for customizing icons on the launch screen of mobile app has been updated to clarify logo sizes and restrictions. | Mobile |
INC-247240 | 763798 | Value updated for Development/Sandbox APS certificates | Apple has changed the value of the Common Name (CN) attribute for Development/Sandbox APS certificates. Support has been added for this new format in the pzOnCertificateChange activity. | Mobile |
INC-255687 | 778665 | Push notifications supported on iOS with proxies | The mobile app was not receiving push notification on iOS devices if proxies were used. This has been resolved by adding proxy configuration support to Pushy APNS. | Mobile |
INC-258229 | 789998 | Dirty flag pop-up closes as expected on Client for Windows | It was not possible to close the 'Unsaved changes' dirty flag dialog with the "ok" button when using Client for Windows. This was an unintended side effect of work done for pyclosecase on mobile, and has been resolved by modifying the implementation for Client for Windows. | Mobile |
Project Delivery
23.1 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-197795 | 702811 | Autocomplete control documentation update | The documentation for configuring an Autocomplete control has been updated to clarify that parametrized data pages and large data pages are not supported in data transforms when they are used in offline-enabled case types. | Project Delivery |
INC-237089 | 746839 | Updated troubleshooting for correspondence template | The documentation for email bot troubleshooting has been updated to clarify that adding a correspondence rule for a suggested email reply to the channel requires that the correspondence template be created in an open ruleset. | Project Delivery |
INC-238815 | 755843 | Documentation clarification: system name DSS not available for Pega Cloud | The documentation for using a dynamic system name has been updated to clarify that the option to change the system name is not available for Pega Cloud deployments. Do not attempt to use this setting. | Project Delivery |
INC-242183 | 757209 | Mask property visibility documentation updated | The documentation for mask property visibility for users has been updated to clarify that when masking an embedded property, the ABAC property read policy must be configured in the work class where the embedded property is being referred and not in the class where the leaf property exists. If configured improperly, the application can display the masked property to unauthorized users. For example, if using an embedded property called WorkPage.Customer.Name, the ABAC property read policy must be configured on the WorkPage class and then the embedded property is added in the masked properties list instead of the class where the leaf property Name is defined. | Project Delivery |
INC-243156 | 761954 | Browser support documentation updated | The documentation for browser support has been updated to clarify that because Pega Platform version 8.5.6 introduced changes incompatible with Internet Explorer 11 and Edge Chromium in “IE mode”, version 8.5.6 is not supported on those browsers. Versions 8.5.1 to 8.5.5 continue to be supported. | Project Delivery |
INC-251128 | 771455 | Keytab documentation updated | The documentation for Configuring Hadoop settings for an HDFS connection has been updated with additional information about configuring the Hadoop key tab. | Project Delivery |
INC-265856 | 794814 | UI requires "Unsafe Inline" for Style-src | The documentation for security policies has been updated to clarify that unsafe-eval and unsafe-inline must be checked for Script-src and Style-src to avoid UI issues. | Project Delivery |
INC-269739 | 800513 | Compare on history of rule documentation updated | The documentation for Rule versions review and comparison has been updated to clarify that you can compare only historic versions of the rule. You cannot compare the current version of the rule with a historic version unless your current rule is checked out. If the current rule is checked out, the Compare With Checked Out button appears. | Project Delivery |
INC-270296 | 798504 | Custom attachment documentation updated | The documentation for using PCore and PConnect public APIs has been updated to clarify that when creating a custom Constellation React control for attachments, the ID of the case to which the uploaded attachment needs to be linked must be the pzInsKey value of the caseID. | Project Delivery |
INC-270744 | 803439 | Access policy control documentation updated | The documentation for creating access policy control conditions has been updated to remove references indicating that string values in ABAC policy conditions must be capitalized. This is not necessary. | Project Delivery |
Reporting
23.1 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
HFIX-85203 | 778978 | Dev Studio search works with ABAC | When ABAC was enabled, a null pointer exception was generated in ClassMapImpl when using Dev Studio search. This was caused by a null value for PegaSearchContent.className passed to the method FilterValueResolver.resolve(), and has been resolved. | Reporting |
INC-224046 | 744599 | Handling added to validate nested page list properties | There was a mismatch between pxTotalInsertsCount and pxTotalInstanceCount in the manifest file when the extraction rule created on the class had a nested embedded property structure such as page list -> page -> page list. This has been resolved by adding an update to validate an embedded page property if it is present in the nested page lists. | Reporting |
INC-231064 | 741760 | Corrected report count after category change | Reports count mismatch was seen after moving the report from one category to another category. This has been corrected. | Reporting |
INC-231890 | 762451 | DSS added to control empty value display on export to Excel | A DSS has been added which allows customizing the export to Excel function to use zero for the decimal instead of showing an empty value. Set ExportToExcelDecimalUseZeroWhenEmpty to true to override the default behavior of zero values being blank. | Reporting |
INC-235423 | 750806 | Corrected Pega Cloud BIX extraction with "-c" argument | When the BIX extraction was run on a Pega Cloud environment with the "-c" argument, there were exceptions and incomplete extractions. The process was not generating all of the files (parent and child zip files) for both CSV and XML extraction, and the extracted files were not in the correct format. This has been resolved by modifying the code for both XML and CSV extractions: XML extraction with -c will generate both parent and child zip file separately. CSV extraction with -c will generate both parent and child zip file separately. Extracted XML and XSD file formats are corrected to remove root tag <classes> from XML and XSD files when -c is used. |
Reporting |
INC-235968 | 744324 | Documentation updated for includeEmbeddedPropertiesInCSP DSS | The documentation for enabling the indexing of embedded properties has been updated to include details for configuring the DSS "indexer/srs/includeEmbeddedPropertiesInCSP". This is used to ensure all embedded properties from CSP are analyzed so there is no need to create a separate CSP instance for any of them. |
Reporting |
INC-237466 | 751670 | Corrected column mismatch in query | After update, attempting to generate a report was throwing the exception "SQLState: 42601 Message: ERROR: each UNION query must have the same number of columns". This was traced to a mismatch in the number of columns returned by the queries on either side of the UNION ALL operator, which was an unintended side effect of previous work on the aggregation type of 'average' for the property function alias in report definition. This has been resolved by modifying the ReportQueryDefinitionImpl constructor. | Reporting |
INC-240833 | 757785 | Replica count updated only for index nodes | Every time a search node is restarted or reinitialized, a refresh command (refreshClients command) is sent to all nodes. A web node which is not a search node will start a reinitialization designed to reattach the node to ES cluster, and it was expected that the web node would not change information about the replica count since it is not responsible for storing data. However, the non-search node was changing the replica count due to a condition created when locking was not ready on the search node. This has been resolved with an update to insure replica count is updated only for index nodes in PegaSearchProviderImpl::reInitializeESNode. | Reporting |
INC-241251 | 753499 | Report filter categories correctly localized | The filter category displayed in the header of the reporting landing page was not being localized. This was traced to an error in the "FieldValueKey" parameter in the pzGetStyledLocalizedText control, and has been corrected. | Reporting |
INC-241350 | 787996 | Performance improvement for global Consult case search | Searching for Consult cases was intermittently not working when there were many millions of records. Investigation showed that if the index on pzInsKey was too large the database could decide to not use it and to sort the data on the disk. This led to resource consumption with long wait times and key generation failed. To resolve this, an update has been made so that rather than fetching all properties for external tables, only keys will be fetched. | Reporting |
INC-243057 | 756920 | Resolved warning for ChartControl | Using pxChartControl resulted in an ERR_CONNECTION_REFUSED warning in the browser console. This was caused by an improperly commented line for a localhost URL in the third-party code fusioncharts.js. While there is a workaround of locally editing the file to correct the commenting, this has been resolved. | Reporting |
INC-243194 | 757568 | Removed unnecessary sort to improve performance | Indexing a class was taking an excessive amount of time for collections of over 80M records. This was due to the indexer fetching all instances of pzInsKey, and performance has been improved with an update which will skip sorting by pzInsKey as the system will fetch all keys and sorting is not needed. | Reporting |
INC-250412 | 777458 | Corrected Report Viewer error | After update, the Report Viewer tab had a difference in the Group Results options of a new report definition and the error "pyReportDefinition: "pxRequiredSkill" This property does not exist or has no column mapping" was generated. This occurred when Filter Caption Settings was set to "Apply Caption to Left Side of the condition", and was traced to the "strFieldName" value in RRFilters_Logic being overridden. To resolve this, a new variable has been added to the RRFilters_Logic control to preserve the value. | Reporting |
INC-252882 | 773406 | Handling added for maintaining count during BIX extraction | The number of records in the XML BIX extract did not match with the pxTotalClassInstanceCount of the Manifest file. This issue occurs only when there are any updates during the extraction process, and has been resolved with an update which will show the actual processed records count in BIX extraction Manifest file. | Reporting |
INC-254593 | 777248 | DSS added to control date identification on BIX file | After upgrade, custom application behavior was not working as expected due to BIX file names having YYMMDD appended to the extraction name, for example Work_ExtractCase_00To04_1.zip under the previous version and Work_ExtractCase_00To04_221214_1.zip under the upgraded version. This date appendix was previously added to ensure the file name generated should be unique. To address this, the removal of the date from the extracted zip file name before placing in the FTP location may be controlled through the DSS setting BIX/ignoreExtractDateInZipFileOnCloud. | Reporting |
INC-256165 | 807660 | Correct error shown for insufficient privilege | After adding privilege to some report definitions accessed through the report browser, one user who without the privilege received the proper "insufficient privilege" error message while another user was shown an error screen. Investigation showed the original error was being overridden. This has been resolved by cacheing the exception so that original one will be displayed as expected. | Reporting |
INC-256992 | 784876 | Added style tag to force custom radio button appearance | Selecting the "Embed link to output in notification" radio button in report scheduling caused the radio button to disappear. This was traced to the custom control "RadioButtonsForSchedule" used to create this radio button. This is different than platform provided radio button which has the css(appearance: none) to make default appearance to off and create appearance as per the Pega standard/design/skin by applying a different CSS class. The custom control applied the same css(appearance: none) to make it hidden, but there was no other CSS used to make it display. To resolve this, style tag "appearance: radio;" has added to force the appearance style in the RadioButtonsForSchedule control so that it does not collide with default radio skin styling. | Reporting |
INC-262378 | 807138 | Added handling for magnifying glass when using BAC | The magnifying glass next to "Format values" was not functional and a security error was generated when attempting to create or edit a report in the report browser and edit a column of that report. This has been resolved. | Reporting |
INC-262855 | 807663 | Corrected sorting on report list on Reports Landing Page | After launching the portal, clicking on Reports, and then "show as list", clicking on the column headers to sort them did not work. This was due to the page list source being referred to a data page directly. Instead, the "Copy data from a data page" option on the page list property needs to be used, and an update has been made to pzRBAllReports property to resolve this. | Reporting |
INC-264087 | 806235 | Exception handling added for BIX extraction path errors | When running a BIX extract from the command line using the activity java step ((com.pega.pegarules.priv.PegaAPI)tools) .executeCommandLineExtract(args, tools.getThread()); , the above java step exited abruptly and was not handled by the jump StepStatusFail or Exception condition if the 'path' value of the arguments was incorrect (such as the specified folder did not exist). To resolve this, an update has been made to ensure all the steps in the "pxExtractDataWithArgs" activity are executed, and handle the exception properly if the extraction path does not find and update the actual status in the extraction history. | Reporting |
INC-265336 | 807664 | GetPropsForTreeGrid registered with BAC | A 403 error was generated when trying to modify a report, and an error indicated there was an unregistered request. Investigation showed pzGetPropsForTreeGrid was not registered properly in pzBACActivityRegistration, and this has been corrected. | Reporting |
INC-265362 | 707126 | Performance improvement for global Consult case search | Searching for Consult cases was intermittently not working when there were many millions of records. Investigation showed that if the index on pzInsKey was too large the database could decide to not use it and to sort the data on the disk. This led to resource consumption with long wait times and key generation failed. To resolve this, an update has been made so that rather than fetching all properties for external tables, only keys will be fetched. | Reporting |
INC-271384 | 809593 | Invocation from browser enabled for report filter actions | After update, dragging and dropping columns to the report filter area to add a filter condition was not working, and an error indicated the activity could not be called directly: "You lack access required to execute Rule-Obj-Report-Definition.pzDropNewFilterFromColumn. Attempting to reorder the columns in the report table display similarly failed with the error "This activity may not be called directly from input: RULE-OBJ-ACTIVITY CODE-PEGA-LIST PZREORGANIZECOLUMNSWRAPPER". After examining the security implications, an update has been made to enable the "Allow invocation from browser" check box in the security tab for Activity pzDropNewFilterFromColumn and pzReorganizeColumnsWrapper. | Reporting |
INC-271698 | 789681 | DSS added to consider all fields when using SRS | Not all fields were indexed after migrating to Search and Reporting Service (SRS). In an embedded search model, all top level properties were available for full text by default. In SRS mode, only properties available in content security policies and Relevant records are indexed by default. A property may be indexed for full-text search (FTS) in embedded mode but will be skipped from indexation in SRS. To allow indexing of all fields outside of the model and make them available for full text search when using SRS, a new DSS has been introduced: indexer/srs/indexAllFieldsForFTS . All new data will be indexed as a list in _ftsValues, and it will be activated only for Work and Data (since Rule already has _unstructured). Only properties with the following types will be indexed: TEXT, INTEGER, IDENTIFIER, IDSTRING, DECIMAL, AMOUNT, UNKNOWN. | Reporting |
INC-272787 | 808350 | BIX Extraction rule history updated for descendant classes | BIX Extraction rule history was not properly updated after executing the extraction rule. This has been resolved by ensuring the extraction historical entry is updated when extracting the data from descendant classes. | Reporting |
INC-273270 INC-259565 INC-260991 INC-265187 |
804621 808722 |
FTP listener updated to support BIX data extracts in Pega Cloud |
BIX zip files generated in the Cloud environment were not able to be transferred to an SFTP location when the shared path was configured as PegaCloudRepository URI. This has been resolved by updating pzFTPService to handle BIX file transfers | Reporting |
INC-273436 | 810240 | DSS added to configure BIX extraction buffer | When a case was modified within 5 minutes of the BIX extract run, it was skipped from the extract. This sometimes resulted in a case being skipped for several extract days depending on the frequency and timing of the case update. In order to make this interval configurable, a new DSS has been added. BIXLastExtractionBufferTime has a default of 5 minutes. | Reporting |
INC-A1480 | 809159 | Updated PDF cross-site scripting protections | Cross-site scripting protections have been updated for PDF generation. | Reporting |
INC-A2945 INC-A3434 |
810150 812575 |
Option to enable/disable elastic search Cluster Service logging | After update, system slowness was seen during startup. This was traced to the the behavior of logger "org.elasticsearch.cluster.service.ClusterService" being changed to log all entries. Disabling it or resetting it to "Error" still resulted in DEBUG and TRACE entries in the log. To resolve this, the logging has been made configurable with the setting "disableOverrideElasticsearchClusterServiceLogger". The default value is false. | Reporting |
INC-A3332 | 809620 | UserDashboardSlot handling updated | After update, the UI was not rendering as needed and the Create Team button was not accessible. This was traced to a configuration issue with the pxUserDashboardSlot section in the Pega-EndUserUI:08-08-03 ruleset that affected the swimlane template, and has been resolved by updating the navigation configuration for repeating dynamic layouts by checking use form navigation (by tab) in the System-User-Dashboard-Slot.pxUserDashboardSlot and Data-Admin-WorkGroup.pyTeamsWidget sections to ensure "Inline Grid Triple" is used for the layout orientation format when needed. | Reporting |
INC-A3727 | 807989 | Custom search works for embedded properties | Embedded page properties were not being included in a custom search even after adding the properties in the pySearch instance and indexing the data and work classes. This has been resolved by adding a check to detect an embedded property by evaluating whether there is a dot in a property name, and if the property is embedded it is moved to the properties array. | Reporting |
Robotic Process Automation
23.1 Resolved Issues for Robotic Process Automation
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-234724 | 747290 | Robotic desktop automation (RDA) response included in post body | A robotic desktop automation (RDA) response of more than 2500 characters was not being set on the clipboard after the completion of the automation. Instead, the response was being converted into post-URL to call the pzUpdateClipboardWithAutomationValues activity, which then failed with a 400 error. As the large incoming response value makes the safeURL instance invalid when directly included in the URL, this has been resolved by including the response in the post body. | Robotic Process Automation |
INC-252119 | 768492 | BAC Security updated for RDA invocation | In order to ensure Robotic Desktop Automation (RDA) integration works properly and securely, updates have been made to handle the BAC registration necessary for the execution of activities from section releoads. | Robotic Process Automation |
Security
23.1 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-210321 | 753416 | Check added for anonymous operators | Many null pointer exceptions were seen in the log files and Kibana indicating "Problem reading Data-Admin-Operator-ID". This was traced to unauthenticated anonymous operators missing the needed Data-Admin-Operator-Id instance, and has been resolved by adding a check to avoid null pointer exceptions for anonymous operators. | Security |
INC-224813 | 750052 | Handling updated for BPF in FinishAssignment | After update, executing Wrapup resulted in a 403 error and the operator being logged out of the system with a SECU0017 alert. This was traced to pzBFP being removed from the headers as part of the FinishAssignment activity, and has been resolved with an update to conditionally add/remove pzBFP by checking its value. If it is empty, it will not be added to the form. | Security |
INC-225840 | 753595 | Null kID handling and improved locking for Keystorecacheimpl added | Previously, the kID (key ID) was made optional in the JWT header to better support backwards compatibility. Further support has been added for scenarios where the kID is required and not present. In addition, some lock issues occurred for the resource Keystorecacheimpl if the Pega application referred to the JWK URL which was also hosted by itself. To resolve this, the class level lock has been replaced with a keystore level lock. | Security |
INC-231380 | 787807 | Corrected application switch authentication issue | When attempting to switch applications, a popup window appeared with the message "Switch application with different authentication service". This issue was due to an error in the debug logger "com.pega.pegarules.session.internal. mgmt.authentication.Authentication" created in Log Category. While there is a workaround of deleting the debug logger and restarting the node, this has been corrected. | Security |
INC-236596 | 755729 | OAUTH2 with grant type password credentials works as expected | Triggering Pega OAUTH2 for token generation with grant-type password credentials was resulting in a null pointer exception. This was a missed use case caused by the Operator page being removed during prior cleanup and has been resolved by adding the parameter page pyOperPage instead of Operator page for validating and getting scope. | Security |
INC-236611 | 755229 | CSRF and BF tokens added for Rule-Parse execute | An issue with encountering a 403 error when running the parse delimiter has been resolved by adding CSRF and BF tokens to execute Rule-Parse- rules. | Security |
INC-236738 | 755006 | Additional authentication service rule logging | Debug logging has been added to assist in diagnosing issues with the attributes configured in the authentication service rule in the runtime. | Security |
INC-240041 | 770296 | CXF-CORE updated | The Apache CXF-CORE library has been updated. | Security |
INC-247586 INC-247586 INC-243512 INC-264291 |
761151 763563 765342 808006 |
Corrected tracking of MFA verification attempts | When using multi-factor authentication where a verification code is sent, it was possible to override the three strikes rule and re-enable the resend verification button by refreshing the browser. This has been resolved by adding a parameter in the requestor page of the pzHandleMFA activity which will hold the pyCount and be checked on browser refresh. | Security |
INC-251088 | 770177 | "None of" added to access control policy conditions | Support for the "None of" has been added in order to support using ABAC and access control policy conditions to suppress resulting values from logged-in users visibility. The comparison value supports string, decimal, double, integer data types and consists of a comma-delimited list. The comparison value also supports value-list or page-list. The list of String values should be given inside a pair of double quotes for example: “BRAZIL,CANADA,FRANCE,GERMANY,SOUTH AFRICA,UK,USA”. The condition is satisfied if an element of the list within the Apply To property value is not an element in the list within the comparison value. | Security |
INC-251097 | 779491 | Resolved 403 error on Mobile | A 403 Error was intermittently generated when logging into the mobile app. Investigation showed this was caused by a CSRF issue due to the handling for the pzHandleMFA activity in Mobile, and has been resolved by adding this activity to the 'Allowed Activities'. | Security |
INC-251627 | 776916 | jackson-databind updated | The jackson-databind jar has been updated | Security |
INC-252403 | 776230 | Resolved SECU0019 error from page refresh | The pzPagesToRemove activity was throwing BAC issue when running on the UserPortal thread. This was caused by pzPagesToRemove being registered only on the STANDARD thread (top harness), and has been resolved by moving the pzPagesToRemove registration logic outside of the if-block so the activity is not registered just for top-harness. | Security |
INC-252607 | 768826 | Updated EndSession request encryption for basic logoff activity | Clicking on logoff generated an error. The error also appeared when valid MAF credentials were entered and the cancel button was clicked. This was traced to the logoff URL being encrypted with an old URL encryption mechanism, and has been resolved by ensuring the logoff URL uses the latest URL encryption mechanism. | Security |
INC-254671 | 777541 | Corrected handling for asynchronous REST calls with Oauth | An OAuth-protected asynchronous REST service was not processing the data as expected. This was an unintended side effect of work done for application switching to set a custom AuthServiceName instead of "mAuthServiceName" being blank: as custom authentication service doesn't have operator provisioning, this use case failed. This has been resolved by correcting the asynchronous call handling for custom authentication with access group context. | Security |
INC-256267 INC-259895 |
786338 812060 |
Performance improvement for rule assembly | After update, the assembly time increased significantly for Correspondence rules with embedded pictures. This was traced to the new vulnerability scanner mechanism taking considerable time to parse through all the text in the rule, and has been resolved by optimizing the code. | Security |
INC-257111 | 777840 | getXML method removed from debug logger | When attempting to work on cases, the error message "you are not authorized to open instance" repeatedly appeared. The issue was caused by AccessEvaluator logger, which when set to DEBUG retrieves all of the properties using autopopulate in order to print the log message. Autopopulate was disabled by default for obj-open and page-copy, getMessage, etc, but this was triggered unexpectedly with getXML when the logger was enabled for debugging purposes. To resolve this, the getXML method has been removed from the debug logger statement. | Security |
INC-257638 | 782287 | Token endpoint failure security alert added | A new alert SECU0022 has been added for OAuth2 token endpoint failure. | Security |
INC-258968 | 785231 | Updated OIDC authentication service token interaction refresh time | Logging in at the time the authentication keys were changed resulted in the error "Unable to execute OIDC flow : Caught exception while parsing the id token". This has been resolved with added logic to set the expire time to zero for the reload once per interaction refresh strategy. | Security |
INC-261689 | 808744 | JWT token processing updated for clone environment | Validation of the token by pxProcessJWT was failing in the clone environment with the exception "JSON web token is rejected during signature verification due to bad signature : Signed JWT rejected: Another algorithm expected, or no matching key(s) found". To resolve this, code changes have been made for local JWT configuration to consider x5t/kid. | Security |
INC-261899 | 811281 | Global resource setting (GRS) syntax supported for password reset email | Authentication emails were not being sent as expected when using the 'forgot password' flow. Investigation showed that when the value for the port was provided through the application settings (D_pxGetApplicationSettingValue), it was not getting picked. The system then attempted to use the default port 25, resulting in an error and the email not being sent. To resolve this, an update has been made to support global resource setting (GRS) syntax in the 'forgot password' flow for fields in the Email Account. Note: When using GRS syntax with Email account, ensure that the datapage referred for GRS syntax is in unauthenticated context. | Security |
INC-272606 | 809927 | Improved security for redirects | Cross-site scripting protections have been updated for redirect scripts. | Security |
INC-A4012 | 810255 | PegaRules-securityEvent logs present for download | An issue with PegaRules-securityEvent.log not being present when downloading from GOC/MSP has been resolved by adding security event logs to system out. |
Security |
System Administration
23.1 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-215299 | 745683 | OAuth2 jar updated | The oauth2-oidc-sdk jar has been updated . | System Administration |
INC-222770 | 726354 | Updated handling for duplicate key value errors | During execution of cluster-type jobs, sporadic duplicate key value errors were generated on utility nodes that were attempting to pick the job run. For example, in a system with 3 util nodes, one ran the job and the other two threw exceptions. Though there was no functional impact from these errors, this issue has been resolved with an update which will ignore duplicate key errors in this scenario. | System Administration |
INC-230119 INC-228754 INC-258555 |
755518 747562 781520 |
Enhanced logging and locking added for job scheduler | The job scheduler was running twice at the configured time on different nodes even though it was defined to run on only one node. Investigation showed that nodes were executing the job scheduler activity multiple times as the lock time and the execution time were not exactly synchronized. This has been resolved by adding logs to the job scheduler execution lock mechanism and adding enhancements and checks for locking accuracy. | System Administration |
INC-231269 INC-243120 |
747261 753642 |
Stream SDK and API updated to resolve connection leaks | A connection leak was seen when the browse operation against stream dataset failed during the creation of the subscriber itself, causing the connection (consumer) to not be removed from the cache. This resulted in multiple open consumers for a given dataflow thread, leading to SNAT exhaustion which required JVM restarts to clear. This has been resolved by updating the Stream SDK and API versions. | System Administration |
INC-235301 | 750602 | MaxRecords property updated to clear all dead job scheduler locks | A database lock was observed on Job scheduler executions after node restart. Investigation showed the query used to delete dead locks was processing 100 records maximum, leaving locks in place if there were more than the maximum. This has been resolved by setting the pyMaxRecords property to 0 (infinity) in looking for stale executions so every dead lock will be deleted. | System Administration |
INC-242432 | 758980 | Frame length adjusted | During stream server startup (empty kafka-data) of an environment with a large number of queue processors and over 1,000 total partitions, no partitions were created and below error message "Adjusted frame length exceeds 65535: 67537 - discarded" was being thrown in Kafka logs during startup. This has been resolved by adjusting the frame length. | System Administration |
INC-243066 | 771237 | Corrected inconsistent production level for PDC2 | Per operational standard, the Pega Predictive Diagnostic Cloud environment (PDC2) has production level set to 5 via the setting DNodeSettings=identification/productionlevel=5. In the course of performing other work, it was found that several functions were actually using ProductionLevel=2 (development) rather than ProductionLevel=5. Investigation traced this to a cached copy of the Data-Admin-System record which asserted production level = 2 in some areas even though this should have been overridden. This has been resolved with an update to ensure ProductionLevel is correctly read from PRNode. | System Administration |
INC-243905 | 775917 | Corrected job scheduler running unexpectedly | A job scheduler that was expected to run at the same time every day (8:15pm) was triggering twice a day and started even before the scheduled time i.e., 8:14:58PM. This has been resolved with an update that will verify if the current runtime is in the past for non-periodic job schedulers before execution. | System Administration |
INC-247916 | 770108 | Job scheduler will use current time to avoid DST offset | Job scheduler was running jobs twice after the change for daylight savings. This has been resolved by using currentTime.get(Calendar.DST_OFFSET) rather than referenceTime to reduce the potential offset mismatch. | System Administration |
INC-249284 | 771080 | Handling added for null CreateDateTime value | Job schedulers were not running due to pxCreateDateTime being null in the pr_data table. This has been resolved with an update which will add the pxCreateDateTime value to instances of tables where it is missing. | System Administration |
INC-265987 | 794635 | Additional thread dump support added for failed node health check | If queue processor slowness and stale threads caused utility nodes to terminate after health check failures, the shutdown task was sometimes unable to shut down the executorServices (which hold executing threads for Agents, Job Schedulers and Async Services Executor) within the 5 minute time limit. In order to assist with this, an update has been made to add a thread dump after the dataflow health check fails the very first time, and to introduce monitoring which will generate thread dumps if the shutDown Engine task takes too long. | System Administration |
INC-267360 | 778517 | snakeyaml updated | The snakeyaml library has been updated. | System Administration |
INC-268319 | 804166 | Corrected Job Scheduler reference time synchronization | Job Scheduler was intermittently running twice in a multi-node environment. This was traced to an error when synchronizing the reference time due to daylight savings time, and has been resolved. | System Administration |
INC-270873 | 810485 | MFA SMS sender picked from Auth policies | After configuring SMS verification for MFA, messages were sent from the hardcoded Sender IDs "ResendPwd" and "FORGOTPWD" rather the Sender ID defined in the SMS account. This has been resolved with an update which removes the hardcoding and will pick the sender ID from the SMS account configured in Auth policies. | System Administration |
INC-272434 | 810923 | Tracer settings edit uses current authenticated session | When switching to the admin studio to modify the tracer settings, clicking "change tracer settings" opened a new window asking for authentication. This was traced to the action being passed to a new session instead of using the existing authenticated session, and has been resolved by updating the activity. | System Administration |
INC-A2276 | 811385 | Enhanced loggers for queue processor | In order to assist with troubleshooting, additional logging has been added for QueueProcessorRegistrar. | System Administration |
INC-A294 | 807212 | Job scheduler scheduled run handling updated | A job scheduler which was configured to run every 85 days on background processing node and only one associated node ran unexpectedly when moved to production and then ran continuously every few seconds on various nodes. Investigation showed the Next run time was older than current time, which was caused by a missed use case for handling the Job Scheduler being configured to run daily while the recurrence of a run was configured to happen sparsely. As a workaround, weekly or monthly recurrence patterns can be used. This has been resolved by updating the days and ms separately to avoid overstepping the maximum integer value. | System Administration |
INC-A437 | 804167 | Job Scheduler improvements | Issues were seen with job scheduler runs intermittently failing. This has been resolved with several improvements around locking, checks for whether the update date time of execution is after the current run time, and improved logging. | System Administration |
INC-A14087 | 829635 | Performance improvements for queue processor | Impactful queue processor latency was traced to queries involving PXSTREAMPOSITION, PXUPDATEDATETIME, PXQUEUEPROCESSORNAME, and PXSTREAMPARTITION. This has been resolved with an update to defer the SQL update of partitions until the commit of activity processing, along with ensuring partitions are initialized before item is processed | System Administration |
INC-A14087 | 829635 | Performance improvements for queue processor | Impactful queue processor latency was traced to queries involving PXSTREAMPOSITION, PXUPDATEDATETIME, PXQUEUEPROCESSORNAME, and PXSTREAMPARTITION. This has been resolved with an update to defer the SQL update of partitions until the commit of activity processing, along with ensuring partitions are initialized before item is processed. | System Administration |
User Experience
23.1 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-182477 | 663016 | Multiselect list does not show borders when empty in read-only mode | When using the Cosmos UI, the multiselect list control was displayed in the read-only view as a text input field with a border when empty. This has been resolved by updating the CSS to avoid borders for multiselect in read-only mode. | User Experience |
INC-189731 | 677121 | Corrected margin calculation for Cosmos tab layout group | When using Theme Cosmos, navigating a layout group with 15 to 16 tabs using the right arrow resulted in the arrow icon being disabled before reaching the last tab. Investigation traced this to a miscalculation of the margin which is used to check the number of tabs on the right, and this has been resolved with an update to consider outerwidth true for margin calculation in computeSafeNewMarginLeftForFirstTab. | User Experience |
INC-204349 | 766548 | Updated check for portal name with search | After update, using search from a Cosmos portal landing page launched the results in a new tab, and the logoff menu did not show which portal was being used. This has been resolved by updating the 'when' rule to check if pxThread.pxPortal contains the portal name rather that testing for equality. | User Experience |
INC-205769 | 751699 | Corrected nested section multi-select rendering | When using the multi-select control on a section inside a table, values were displaying above the table in another section when zoom was set to 100%. Values appeared in the correct place when the zoom less than 100%. This has been resolved by removing the condition of fixed header or footer from isPageViewScreenLayout under HarnessAssemblyStreamSupport.java file. | User Experience |
INC-220033 | 756898 | Session timer updated to ensure complete countdown | The pop-up timer with 5-minute countdown was intermittently not completing five minutes, instead expiring the session when there was still time remaining on the countdown. This has been resolved by adding code to trigger close() when the timer reaches 0s instead of relying on setTimeout. | User Experience |
INC-229562 | 731541 | Required Field icon made consistent | After adding a text field and and rich text editor field in the same section and setting both to required, the UI of the required field (red color asterisk) for the text field and rich text editor were visibly different. Investigation showed the fields were using different CSS classes for the UI, and this has been resolved. | User Experience |
INC-231096 | 775977 | Corrected inheritance section refresh / call data transform logic | When a button was pressed in the UI to refresh the section and apply the data transform RequestSignature, which exists in both the Work and Work-Signing class, the data transform resolved correctly to the one in Work-Signing class. However, when using the DX API PUT /assignments/{ID}/actions/{actionID}/refresh endpoint, RequestSignature from the Work class is invoked. This was traced to an error in the DX API code which caused the data transform to be called from the wrong class. To resolve this, the inheritance logic for DT/ACT for a refresh in an inherited section has been updated. | User Experience |
INC-231156 | 746331 | DSS added to configure separators in date control | The date control behaved abnormally when using the input method editor (IME) Japanese keyboard. After configuring a datetime control for a date property with the format set to 2001/01/01 and display value using read-only formatting enabled, using the Japanese format of "20220823" (year, month, day) was imported as "mm/dd/yyyy", so the input was treated as "02/02/2082" (02022082, final 3 is truncated). Upon clicking out of the field, the value was updated to display in the specified format and became "2082/02/02". To resolve this, the DSS "DisableAutoSeparatorForDate" has been added which will disable auto separators for the date when set to true. This will prevent the unwanted date format change for this scenario. Any value other than true will maintain the default behavior of using auto-separators for date-only fields. | User Experience |
INC-231365 | 748006 | Multiple error messages for a property displayed correctly | If a property had more than one validation error message, field values were not displaying the actual full verbiage. This was traced to the newline character handling in the getMessagesMap() API, and has been resolved. | User Experience |
INC-231605 | 745786 | Portal resize functions correctly when using MobileSnapStart | After configuring the application's default portal with an outer harness consisting of 4 panels where "User resizable" was checked for the left hand side menu panel so it can be resized or collapsed by the user, displaying the page using pyMobileSnapStart caused the left side menu to become fixed and it could not be resized or collapsed. This has been resolved by modifying the java code for the GenerateLayout--(ClipboardPage,ClipboardPage) function and pzAddPortalLayouts activity. | User Experience |
INC-231696 | 769654 | Added forceReconnect to address telephony error | While using telephony, a pop-up appeared intermittently indicating "Reconnecting" when an agent was on a call or idle for specific time (more than 30 mins). To address this, support has been added to use pega.u.MessagingManager.forceReconnect in handleWebSocketError. This API will be used by Pega Call to reconnect the websocket when pega.u.clientEvents.WS_ON_CLOSE is registered. | User Experience |
INC-232325 | 751721 | Added handling to avoid null pointer issue with LabelFormat | When using save as on sections with heavy use of dynamic layout to enhance them, the rule form was intermittently getting corrupted and the section rule was not displayed in dev studio even though it works correctly in run time. Investigation showed there was a null pointer exception caused by the clipboard data used to load this section missing the pyLabelFormat on a certain cell, and this has been resolved by adding defensive code in pzpega_ud_simplelayout.js to handle the potential null pointer issue with pyLabelFormat value. | User Experience |
INC-232515 | 747169 | Constellation portal permission errors enhanced | If a user performed an action that encountered a permission restriction, the error in the portal contained the standard text "An internal error occurred. Please contact your administrator." While the Error_Execution_Error message rule can be customized to change the default text, this is not able to address a specific error as the text would again be used any execution error. To resolve this, the error text has been enhanced to include more information about the permission issue. | User Experience |
INC-232517 | 746835 | Added check for editor.element | Attempting to add or remove a row from the grid generated the console error "Uncaught TypeError: Cannot read properties of undefined (reading '$') at window.CKEDITOR.window.CKEDITOR.dom.CKEDITOR.dom.document". This has ben resolved by adding a condition to check whether the CurrentEditor.element attribute exists or not. | User Experience |
INC-233768 | 748478 | Multi select dropdown options read by JAWS2022 | JAWS2022 was not reading out the available options when focus was set on a multi-select dropdown. Investigation showed that in Theme Cosmos pega.ctx.dom.getElementById was not able to find the element which contains the "multiSelectLiveRegion" ID because this element was present outside the harness. This has been resolved by using document.getElementById to get the correct element. | User Experience |
INC-233974 | 746845 | Focus stays on current layout tab after refresh | When working with a case using tabbed layouts, switching to tab2 and making changes that triggered a refresh of the whole section resulted in focus going back to tab1 instead of staying in tab2. This was caused by the layout group being generated on a nesting page list, which generated the same data-repeat-id for all layout groups which were present inside the repeating structure. This has been resolved by updating the logic to use the most recent index location. | User Experience |
INC-234202 | 763981 | Navigation items highlighted correctly when using render as single page | If "render as single page" was unchecked in the user portal, clicking on any navigation item or opening a work object from the left navigation panel caused the whole page to reload and the wrong item was highlighted in the navigation menu.This has been resolved by updating constructMetadataObject to consider context. | User Experience |
INC-234366 | 750073 | Special character handling added for TransformAndRun parameter | When export to Excel was configured an "Open URL in Window" action and a data transform with a parameter, pzTransformAndRun Step6 was throwing error if the parameter had any special characters. This was traced to pega_rules_string.isLiteral(value) returning false because it assumed the value was property reference. This has been resolved by adding StrungUtils.isPropertyReference(value) as an extra condition in the if block. | User Experience |
INC-235363 | 747219 | Corrected erroneous highlighting in lightweight rich text editor | When using table grid configured as a Master-detail grid with expandable rows that contained sections with 3 or 4 rich text fields, entering text into the rich text editor field and applying rich text features like bold, underline or color automatically added a grey thick border to the expanded section. Once the border appeared, attempting to select any text from any of the rich text fields using the mouse or doing a CTRL+A did not show that the text was selected because the entire background looked like all text was already selected. This issue was related to the rich text editor control's lightweight mode when used inside table/grid, where the highlight on text inside editor was getting lost and highlighting the complete row when any operation like Bold etc was performed. This has been resolved by adding an explicit selection reset. | User Experience |
INC-235693 | 747110 | Greensock library updated | The greensock js animation library has been updated. | User Experience |
INC-235733 | 770104 | Radio button support added for Nuance Dragon | To improve accessibility, support has been added for using Nuance Dragon to activate radio buttons by adding the necessary CSS styles to the radio button inputs. | User Experience |
INC-236492 | 756035 | Text area property in a data type shows full content | When using a Message Routing Rule data type with a column of control type pxTextArea (which can hold text up to 1000 characters), the full cell value was properly visible in Dev Studio, but displayed inconsistently in in App Studio or when used as a delegated data type in user portals. This was traced to the PegaFSFI ruleset which had a column format in the table set to "display a textarea with expanding capability" in DataTableEditorReport which was defaulting textarea formats when creating new data types. This has been resolved with an update to setStyle properly. | User Experience |
INC-236549 | 753735 | Theme Cosmos browser refresh correctly clears GridMetadata clipboard | System slowness was seen on a site with a large number of users. Analyzing the clipboard showed a very high number of passivated or active clipboard pages when using optimized tables in the home page. The GridMetadata clipboard was repeatedly added to the Requestors list of clipboard pages and the number of pages for requestors was exceedingly high. This was traced to browser refresh of a Theme Cosmos application end user portal not correctly cleaning up the GridMetadata clipboard pages, and has been corrected. | User Experience |
INC-236779 INC-233763 |
747923 751653 |
Report filter popup displays in the expected place | Previous work done on the popover js to correct the filter popup placement has been further updated to display the filter popup in the expected position in reports. | User Experience |
INC-236819 | 758651 | Corrected table cell focus issue | When using a legacy grid with an expand row details configuration, the focus jumped to the top when there was a click inside the details section. This has been resolved. | User Experience |
INC-237214 | 758807 | Attachment drag and drop working correctly for Google Chrome | When dragging and dropping an attachment on Google Chrome, a refresh forced after the attachment was added removed the attachment before saving. This has been corrected. | User Experience |
INC-237562 | 750264 | Section design correctly displays circumstanced by date | When circumstancing a section that used design templates (.pyIsUsingDesignTemplate = true) by Date, the section design became blank if a date in the past was used. The issue did not occur when circumstancing by Property. Investigation showed that the part of the section setup for the design time preview responsible for clearing out any circumstance properties currently set on the section did not clear properties involved with circumstance by date, and this has been resolved by updating the pzLiveDesignPreview activity to have pyRuleStarts and pyRuleEnds property values removed with the other circumstance properties when launching the live design preview. | User Experience |
INC-237881 | 750062 | Validation message shows on date field with custom validation | After configuring a text property with custom "use validate" on a Date control with onchange-Post value action, when user enters an incomplete date at runtime and tabs out, the input field was highlighted red but the error message was missing. On entering a valid date, the red highlight was not removed. This was traced to a missing parentNode.appendChild(errorDiv) in controls_postvalue, which has been added. | User Experience |
INC-237999 | 761908 | Layout renders with combined visibility and expand conditions | Visibility expressions were not working and that particular layout was not rendering when there was a combination of a visibility expression and expand layout. Either condition rendered correctly when alone, but not in combination. This was traced to the expandParam containing ".", which generated an exception when using non-template mode, and has been resolved. | User Experience |
INC-238369 | 746254 | Improved accessibility for form containing field error | When submitting a form, the focus state remained on the submit button if a field was filled incorrectly. This has been resolved. | User Experience |
INC-238432 | 752226 | BusyIndicator description announced by JAWS | When the busy/loading indicator displayed onscreen, the status was not announced to screen reader users. This has been corrected. | User Experience |
INC-238533 | 755034 | Corrected issue with loading local actions | The Case -> Actions menu was inconsistently loading the local actions, such as selecting the action Withdraw/Cancel causing the system to load the Send to consultant action. Upon investigation and tracing, the issue was found to be a typo error that misspelled NewTaskStatus, causing the activity Work-pxSetActionProperties to fail as it checked for the value of NewTaskStatus. This has been corrected. | User Experience |
INC-238721 | 752539 | Added check for emptied required field | If a field that required a decimal precision on the control and had a required field validation was left blank by backspacing over the input, the required validation message disappeared. This has been resolved by adding an 'isValRequired' check for restricting return if event.keyCode === 8 (the backspace key) when validation type is required. | User Experience |
INC-238781 | 760854 | iOS scroll in mashup resolved | When using mashup, scrolling to the bottom of the page on an iOS phones caused it to automatically scroll upwards again. This was traced to an iframe scroll issue and has been resolved. | User Experience |
INC-238830 | 750470 | Context handling updated for error in dynamic layout | A "when" condition to hide an empty tab in a dynamic layout was causing the screen to freeze if validation failed. Investigation traced this to the "when" condition prohibiting the validation error from being displayed because the DLP for the empty temp value itself was hidden within the element. If an element is not rendered to the UI, validation can not be applied and the case can not progress to the next step/stage until this process has occurred. This has been resolved by updating the context handling for the endVisibleWhen in the contextStack if the UI is non-templated. | User Experience |
INC-238865 | 751048 | Updates made to close harness actions after load failure | When there was an error in opening a case, the Failed to Load Harness screen (x) close button was not allowing users to close the screen. This has been corrected by adding the cancel action for dynamic containers, and if it is loaded in the newtab thread the harness action will also load the home page. If the close button renders in the preview panel, runscript will close the side panel. All actions are added with proper conditions, and the section has been made available to allow changing the loading of harness from home to other harness. | User Experience |
INC-238941 | 752708 | Added BAC registration for Activity URLs | After update, a section configured to call a run script action on click of a link which triggered the "downloadfile" function to download an attached file failed with an unregistered request error for the activity. This has been resolved by adding a call to the pega.u.d.convertToRunActivityAction to make activity URLs suitable for BAC registration. | User Experience |
INC-239154 | 746266 | Updated accessibility for Autocomplete control role='combobox' | The additional attribute aria-expanded='false' on collapsed and aria-expanded="true" when expanded has been added to the Autocomplete control role='combobox'. | User Experience |
INC-239347 | 751932 | Accessibility improved for AppSearchText | Accessibility Inspector highlighted the need to provide an associated label in pyAppSearchText which belongs to the pzMyApps section final rule. This has been added. | User Experience |
INC-239409 | 756799 | Improved security for ReloadSection and ReloadHarness calls | A validation check has been added for pre- activities and data transforms passing with reload section/harness actions. | User Experience |
INC-239979 | 773393 | Currency code works in embeded data list | The currency code was not displayed correctly when the property value was in an embedded data list. This was traced to the context metadata not being generated for all properties referenced in the configuration object of the children in a multi-record case, and has been resolved with an update that ensures the context metadata is generated accordingly when a condition exists for a field. | User Experience |
INC-240105 | 755980 | Grid refreshes on adding a row in Constellation | When using a list view which referred to a data page in the Constellation portal, clicking the Add button to add a new record In the list view did not show the new record in the table until a manual refresh occurred. This has been resolved by adding a createStageDoneEvent to handle the refresh for this scenario. | User Experience |
INC-240298 | 766840 | Corrected harness refresh in Ajax container | Harness refresh was not working in Ajax container tabs. Investigation showed "main" was undefined due to the system not creating the form element when there was only one fieldset in the container, and this has been resolved by updating the submitWhenFail method in pzpega_ui_doc_submit. | User Experience |
INC-240416 | 760975 | Performance improvement for getworkstyle activity | Some performance slowness was seen due to the GetWorkStyle activity opening the skin ruleform on each run to conditionally set appWorkStyle and workStyle. Because this obj open step is only needed when the inStandardsMode parameter is false, an update has been made to skip the obj open step when inStandardsMode is true. | User Experience |
INC-240651 | 756152 | Bullet numbering corrected for paragraph rule in optimized table | A paragraph was not showing bullet/numbering points in an optimized table. This has been resolved by adding the necessary CSS. | User Experience |
INC-240654 | 785804 | Added handling for harness open error | After update, attempting to open assignments resulted in an error indicating "The flow this assignment corresponds to is no longer at this task." This was caused by a failed openWorkByHandle call. To resolve this, a check has been added to handle the NoID harness error in pz-cosmos-ui-portal .js file. | User Experience |
INC-240736 | 752729 | Accessible table traverse shortcut works for autocomplete/multiselect | The shortcut to traverse into a table using T + down arrow to go through columns and table contents was not working in accessible mode if a section had any autocomplete or multiselect fields. This has been resolved by removing the role attribute from the body on blur. | User Experience |
INC-240757 | 754426 | Localization check added for sourced dropdown values | When dropdown values were sourced from a data page using a report definition, the values were always localized even if the localize box was unchecked. This was due to the values being stored in Data Type when the localize checkbox controlled labels and read only text. This has been resolved by adding a check for bLocalize in Context Processor. | User Experience |
INC-240897 | 757774 | Explicit reset added for clearing custom date format | After selecting a custom formatter for a date field with "/" as the date separator for a legacy table with a date control inside one of the table cells, selecting the standard formatter for date (using "-" as the date separator) did not switch the separator and the "/" continued to be used. This was traced to the customDateTime value not being empty even though the format had been changed back to the default, and has been resolved by setting customDateTime to null in the pxFormatDateTime Rule-Utility-Function when the selected format is not Custom. | User Experience |
INC-241196 | 753094 | Table sort resets for default view | When the personalized view was changed to "default" from any other view that had sorting, the default order was not returned. This was a missed use case: the data page instance was sorted by passing the sort criteria on the view change, but for the default view there was no "default" sort criteria to use. This has been resolved for tables sourced from a datapage. | User Experience |
INC-241380 | 758403 | Application switch works properly in Theme-Cosmos | The error "NullPointerException in SafeURL.put(key,value) {Location}, {undefined}" was appearing in the UI when attempting to change from one application to the other application. Investigation traced this to pzMyApps missing the necessary Theme-Cosmos version of pzEncryptAppSwitch, and this has been resolved. In addition, the pzDeferLoadApplicationLogo control has been withdrawn as it is no longer needed. | User Experience |
INC-241418 | 756871 | System lock details display as expected | Hovering the mouse over system lock details to get the SmartInfo with operator ID resulted in the error message "Loading HTML failed". This has been resolved by adding a condition to check the server proxy before accessing it in the isOnline function under the statetracking file. | User Experience |
INC-241515 | 810006 | Skin issue corrected for child case in Mashup | After creating and configuring a new channel in the pre-production environment to be integrated with the Salesforce platform, including the Mashup code in Salesforce only displayed a blank page and some sections disappeared from the child case.This was due to a missing skin name parameter for the iframe src URL when action within Mashup is launched, and has been resolved. | User Experience |
INC-241738 | 779646 | Corrected memory leak for offline mobile app using maps | Attempting to navigate to a worklist and open a case on an offline mobile app displayed a white screen after application refresh. This has been resolved by addressing memory leaks related to the canvas element created for map and signature controls by removing references and by removing unneeded listeners. Because map object creation can consume extra memory, support has been added to reuse the map object in the refreshsection case. To reuse the map object in the refereshsection case, configure the data-test-id. | User Experience |
INC-241801 | 754225 | Corrected styling for expandable sub menu items |
Attempting to show cases in the Theme Cosmos sub menu category simply refreshed on click and did not allow selecting sub menu items. This has been resolved by correcting the styling for an expandable menu item in the create menu. | User Experience |
INC-241805 | 756271 | Tab layout uses template mode when using defer load | When using defer load, the multiselect dropdown was rendered in readonly mode. Investigation showed that when the defer load checkbox was checked for section include of tab group layout, it generated non-template markup. This has been resolved with an update which will render the tab layout in template mode when using defer load. | User Experience |
INC-242439 | 778584 | Screen display correct after iPad orientation change | When switched from landscape to portrait, the screen in the iPad mobile app only used half of the display space. This was traced to the modal resize logic not updating correctly, and has been resolved by executing the resize logic after the orientation change event. | User Experience |
INC-242855 | 768285 | Documentation updated to include validateHiddenField DSS setting | Documentation has been updated to note that the validateHiddenField DSS setting for Theme Cosmos and other section-based applications will control whether the application validates fields that are hidden through visibility rules. By default, validateHiddenField is set to true, which means that the application fields are validated for completeness even if they are not displayed in the form. This functionality can be switched off by changing the setting value to false. | User Experience |
INC-242971 | 758585 | Display harness updated with portal name for improved backwards compatibility | After updating from Pega 8.4 to Pega 8.7, actions which triggered SECU0019 such as opening a case from correspondence were blocked despite the identified actions and URLs being registered. This has been resolved by adding the portal name to the display harness action with target as new document. | User Experience |
INC-242985 | 757458 | Icon helper text read by JAWS | Tooltips were read by JAWS when the helper text was configured on an input but not when the text was configured on an image. This has been resolved with an update which will announce the helper text value when focus is brought to an icon in browse mode. | User Experience |
INC-243080 | 806333 | Updated handling of custom authentication login failover | While testing a simulated authentication server crash, users were presented with a login screen to choose their authentication method instead of being automatically redirected to using SSO. This was traced to the handling of custom authentication login: when the session ended the system was not able to remember the URL and redirected to the Pega standard login screen instead of using local storage. To resolve this, the custom authentication URL will be stored in local storage and a check has been added for this so the system will redirect to the expected login screen. | User Experience |
INC-243277 | 756362 | Display of navigation link label corrected | The label of the screen flow's navigation link was intermittently displayed in an incorrect location when steps in a multi-step form in a stage were configured with a decision shape and steps were routed based on the decision result. This has been corrected. | User Experience |
INC-243664 | 756366 | operty default label correctly displayed | At design time, the custom label was shown when selecting to use the property default label. This was traced to pzlivedesignbasiccontrol setting pyUseLabelDesc to false, and has been corrected. | User Experience |
INC-243874 | 757155 | All columns viewable when there are no records | The table's horizontal scroll bar was missing when there were no records in the table. The table could only be scrolled by keeping the cursor on the table columns. This was traced to the "No records found" div having position as absolute, hiding the scroll bar. To resolve this, the position of the empty container has been moved to pContainer, which has specified width. | User Experience |
INC-243935 | 769201 | Minimize button working in Rich Text field | When using a section containing a repeating dynamic layout with drag and drop capability enabled on a Rich Text Editor, all of the buttons on the edit bar were disabled after using maximize. If the "Enable drag to reorder items" checkbox was unchecked, the minimize and maximize worked correctly. Investigation showed the sortable library injects event handles when the maximize icon is clicked, and these handles are added to the document element. Upon clicking of minimize, the correct target was not picked for the action because of the additional event handlers attached. To resolve this, a condition has been added for the Rich Text Editor in the sortable.js file to handle minimizing the rich text field. | User Experience |
INC-243995 | 759020 | Corrected tab focus after using group-by | When interacting with grid operations such as creating groups and hiding columns using only the tab key, tabbing again once the actions were complete refreshed and focused on the beginning browser bar instead of the table as expected. Investigation showed that the button from which the popover was launched was no longer present in the screen once the grouping was completed, causing the focus to move to the browser. This has been resolved by overriding focus to a visible group-by button when the toolbar is refreshed or a button is changed due to an action in the popover invoked by the group-by button. | User Experience |
INC-244016 | 760979 | Accessibility improved for hidden screenflow breadcrumb links | Users who navigated a form with JAWS were unable to execute or hear non-current breadcrumb links, both on mouse over and on focus. Instead, JAWS was reading out the last stage chevron and 'link' when focused on a non-current breadcrumb. This has been resolved by adding the necessary handling for a visually hidden screenflow. | User Experience |
INC-244057 | 761665 | Session timeout modal window properly aligned | When a modal was present on the screen, opening a workflow resulted in the session timeout popup being displayed in the top left corner of the screen instead of center. This has been resolved by passing isCenterOverlay as 'true' to align it properly. | User Experience |
INC-244408 | 761564 | Active breadcrumbs showing once | When question pages were embedded in a screen flow, running the case caused the active question page's label to be shown twice on the screen and both the breadcrumbs were clickable. This occurred when the checkbox "Subprocess has navigation links" was used, and has been resolved by hiding the subprocess steps for an embedded question page. | User Experience |
INC-244936 | 805938 | Removed case sensitivity for parser check | The javascript check for JsoupParserUtility has been made case-insensitive. | User Experience |
INC-245431 INC-246531 |
764785 778034 |
Mashup loads correctly with setAuthenticationHeaders | Mashup was not loading correctly when using the pega.web.api.setAuthenticationHeaders function to set an authorization header. This has been corrected. | User Experience |
INC-245567 | 762502 | Corrected error message handling for on-change | If there was a validation error message on a field generated by on-change of some other field, the validation message went away when the field was clicked even though there was no data change. The error message persisted on the clipboard, but was removed from the UI. This has been resolved by changing the order of the condition check for calculate expression. | User Experience |
INC-245664 | 766611 | Adjusted display of "Case created by" to handle long name value | After creation of a case through the email listener, the "Case created by" detail was spanning out of the tile. This was caused by a long value for pxCreateOpName, and has been resolved by allowing it to break for the display. | User Experience |
INC-245819 | 766347 | Updated visibility condition logic | After update, a visibility condition that contained references to D_CaseAssignments that was set to any stage-wide local action made all local actions not visible in the Actions menu. This was traced to the condition returning as false during runtime, and has been resolved by updating the logic in the pzPopulateAssignments activity. | User Experience |
INC-246072 | 771092 | Corrected notification count placement on access group change | After adding a flow action which allows changing the default access group, the notification gadget's count number (red circle) was displayed over the operator's image. Resetting it required refreshing the entire browser tab. Investigation showed that because the notification counter position was set with positionNotificationCounter method, the position was lost during the navigation section refresh and the method was not called to set it again. To resolve this, an update has been made to call positionNotificationCounter on the notification gadget section render. | User Experience |
INC-246093 | 759995 | Create Menu is consistent between Portals in Cosmos | When switching between two portals in a Theme Cosmos application, the Create case menu was not updating for the respective portals and showed the wrong cases. To resolve this, ShowSelectedPortal has been updated to call pzClearStartingFlows to clear the data pages involved with create menu. | User Experience |
INC-246171 | 774007 | Tooltips localized | Localization has been added to the Pega breadcrumbs browser tooltips. | User Experience |
INC-246207 | 765048 | Corrected tab focus for iframe | The interaction driver on the add task and close button was missing tab focus. This was traced to a missing tabindex for iframe, and has been resolved with an update which will check if the content has iframe; if so, tabindex will set to iframe else the existing flow will continue. | User Experience |
INC-246814 | 766262 | JAWS correctly reads case preview inputs | When opening the case preview panel and navigating Details with JAWS, some of the information was presented audibly in blocks of data and not as the equivalent of the visual presentation. This was traced to multiple text inputs being grouped together into one focus when tabbing into the case preview, and has been corrected by adding the necessary label descriptors. | User Experience |
INC-246980 | 765283 | Null checks added to resolve null deference alerts | Null dereference is low risk in general in Java applications because no memory corruption can occur. Pega rules or variables will not be null at runtime during rule execution and thus a null pointer exception will not be thrown. However, the initialization of these may be detected by a scan which documents the theoretical possibility of not being initialized at runtime. To resolve these scan reports, null checks have been added to some identified areas related to dropdowns and checkboxes. | User Experience |
INC-247329 | 762600 | Spell Checker correctly clears error indication on save or refresh | After entering data, the rich text editor was highlighting an entire line as misspelt on save and refresh of the harness. In addition, the underline was not clearing after correcting an error in Dev Studio. To resolve this, the onSubmit regex expression has been updated to remove the spell checker underline on save or submit. | User Experience |
INC-247813 | 775157 | New window opens correctly from global search bar | No content was displayed when a new window was opened from the global search bar in the user portal application header. This was traced to a mismatch in parameters for the harness action, and has been resolved. | User Experience |
INC-247967 | 764664 | Expanded Create menu item will not take submenu color | Changing submenu item colors for the "Create case menu" menu format caused the expanded Create item to take this color as well. This has been resolved by hardcoding the color styling. | User Experience |
INC-248044 | 768775 | UI action from Mashup Screen corrected | After upgrade from Pega 8.3 to 8.7, a BAC/SECU0019 error was reported when launching harness in Mashup. This was traced to the use of a dynamic container with multi-document mode, which is an unsupported configuration for Mashup due to the BAC features introduced in Pega 8.5. Switching to a dynamic container with single document mode resolved the security issue, but using the close / cancel button on a work object in Mashup was not returning to the home page and there were resize issues due to Mashup not having extensive support for a dynamic container with single document mode. This has been resolved. | User Experience |
INC-248452 | 766595 | Corrected rounding precision issue | A rounding error appeared during multiplication of some numbers. This was traced to precision settings for the fields and has been resolved by using toFixed in specific circumstances when the actual decimal precision is less than configured. | User Experience |
INC-248692 | 765251 | Number controls honor custom width | After update, decimal properties with integer control were ignoring all custom width settings. Investigation showed the generated style was ' 'width instead of just width, and this has been resolved by modifying the style from "''" to '"" in order to fix the custom width issue for number controls. | User Experience |
INC-248981 | 764955 | Screen reader correctly announces accordion button status | When a layout group(accordion) was overridden in the application skin and the checkbox was checked for "Collapse all panes on load", the panes were collapsed on load but the screen reader was announcing the state of a button as expanded even though it was collapsed. This was traced to the aria-attribute handling, and has been resolved by adding a multi-accordion identifier and updating the logic in layout group js to toggle multi-expand accordion independently. | User Experience |
INC-249197 | 775841 | Added special handling for Asia/Jakarta dates | For timezone 'Asia/Jakarta', when the date '01/01/1964' is selected, the date is changed to 1 day less (31/12/1963) . This is an issue particular to this locale, caused by a time zone change from GMT+7:30 to GMT+7 at the end of 1963-12-31(GMT+7.30). This means the moment 1964-01-01T00:00:00 in GMT+7.30 is also 1963-12-31T23:30:00 in GMT+7. To resolve this, an update has been made which will convert using Date.UTC before applying the timezone for the dates in question. | User Experience |
INC-249417 | 764838 | Updated regex for button labels in case creation screen | After upgrade, adding “&” before the letter in a button label no longer worked to create a keyboard shortcut for the button, for example using “Submit & E&mail” in Fieldvalue (pyButtonLabel) resulted in “Submit & E&mail” rather than the expected “Submit & Email”. This was caused by the system restricting two ‘&’ symbols in template mode, and has been resolved by replacing double backslash (\d) with single backslash (\d) in the regex. | User Experience |
INC-249703 | 768021 | Main navigation submenu icons display correctly | After adding two or three sub child Menus to the "pyCreateCaseMenu" with different Icons, selecting the child menu caused the menu name to get padding on the left and the icon for the child was stacked on top of the main icon at the top. This has been resolved by modifying pzPega_menu_item_icon_template.js and pz-cosmos-ui-portal.js so the items are displayed correctly. | User Experience |
INC-249749 | 777857 | Screen reader focus correct when error icon displayed | The NVDA Screen reader focus was not correct after clicking submit when validation was not met. This was a missed usecase for an error icon on top of the field which prevented the focus moving to the first invalid element in the modal. This has been resolved by updating the focusToFirstInvalidField function in pzpega_ui_doc_focus to correctly handle this scenario. | User Experience |
INC-250022 | 766728 | Loading text made available for customization or localization | When the dashboard of a user portal was being loaded, a hardcoded "loading.." string in English appeared and disappeared. This was coming from the final rule PegaCompositeGadgetMgr[Final] and was hardcoded and not localized. This rule has been modified to accommodate the localization or removal of the loading string completely by using the field value for "Loading". | User Experience |
INC-250184 | 793403 | Modal close button correctly announced by screen reader | The modal close button was not being announced correctly with the screen reader, announcing the button as "button" instead of "close". This has been resolved by updating the aria-label attribute. | User Experience |
INC-250392 | 792643 | Identity type column filters work for mobile view | Filters for the identity type column were not working in mobile view for an optimized table. This has been corrected. | User Experience |
INC-250615 | 777279 | Tab name handling updated to support symbols | After upgrade, creating a case in a user portal that used an AJAX container resulted in symbols like '(' and ')' in the tab name being replaced with junk characters. This has been resolved by modifying the setTabName function in pzpega_ui_mdc_tabs.js. | User Experience |
INC-250619 | 781029 | Updated special character handling for AJAX tabs | After creating a new case that opened in a new tab, going to Worklist and opening the same case from step 1 opened the case again in another tab. This occurred when the AJAX container was configured with T-(), and has been resolved by adding handling for special characters in an AJAX container tab name. | User Experience |
INC-251168 | 775045 | Updated breakout encryption for offline mobile app | After implementing BAC security and setting the when rule pyBlockUnregisteredRequests to 'true', any offline mobile AJAX calls with Executebreakoutcall failed. Investigation showed the pzOSCOBreakoutWrapper dispatcher itself was throwing an unregistered error.This has been resolved by encrypting the OSCOBreakout activity. | User Experience |
INC-251305 | 769041 | Focus preserved on initial load | When a work object was opened via Open Assignment, the focus moved right to the top of the Layout Group If any control within these sections had a OnChange->Refresh this Section configured. This was due to the total work area being covered via Perform harness instead of a Review harness, and has been resolved with an update which will prevent focus being stolen on the initial load. | User Experience |
INC-251538 | 786915 | More informative error message shown on report definition timeout | An "Insufficient privilege" error message was intermittently displayed after opening a datatype, passivating it, and then opening the same datatype again. This error message was hard-coded in the "UIActionFailHeader" section, and updates have been made to the pxOpenLandingPage and UIActionFailHeader to show the error message that is coming from the report definition instead of showing the insufficient privilege error message. | User Experience |
INC-252009 | 776210 | Corrected PST datetime converting to GMT and then to CST | When a user in the PST time zone selected the current PST time for a submission, the value was being converting to GMT in the CST server time zone instead of PST user time zone, causing a validation failure that the date cannot be in the future. This has been resolved by updating pega_ui_calendar and pega_ui_formatdatetime handle this scenario. | User Experience |
INC-252723 | 772301 | Able to select localized date values | Logging in using the French locale and selecting the date was generating an error. This was traced to a localization issue with strings having single or double quotes and has been resolved by adding handling for escaping single and doubles quotes in the Smart Tip message rule field generation. | User Experience |
INC-252879 INC-249816 INC-250977 INC-256362 |
771302 773132 778745 785345 |
PD4ML updated | Issues with formatting PDFs have been resolved by updating the PD4ML jar. | User Experience |
INC-252957 | 780598 | Correct buttons displayed for local action in screen flow | After creating a case type which included a screenflow in the case lifecycle along with case-wide actions, progressing the case to step 2+ in the screenflow and selecting a case-wide action displayed the Back button instead of Cancel. This was an issue with pyCaseActionAreaButtons when using a case-wide action while the case is in a screen flow, and has been resolved by adding a new visibility condition for Cancel/Back buttons which will avoid showing screen flow buttons in case-wide actions. | User Experience |
INC-253043 | 770868 | Tab key focus added to Operator icon | To improve accessibility, styles have been added to the user/operator icon to support keyboard tab focus. | User Experience |
INC-253092 | 771592 | Corrected highlight persistence | When using a field with control Currency, entering a value into the field and highlighting it using the keyboard input ctrl + a / cmd +a added the highlight, but when the ctrl +a / cmd +a was released the highlight was removed. This has been resolved by adding an additional check for selection. | User Experience |
INC-253692 | 773876 | AJAX container correctly shows busy indicator | The busy indicator was not appearing during a long finish assignment processing wait when using an AJAX container. This was caused by the condition to display the busy indicator only checking for document.forms.length (DC), whereas in case of an AjaxContainer, elements will present in fieldset instead of form. This has been resolved by updating the check to work for both DC and AJAC containers. | User Experience |
INC-253866 | 776447 | Added handling for missing InstanceID | Based on a search, data from 8-10 different case types was fetched and displayed in 5 different hierarchical tables. One of the tables had a retry link column; on click, a local action opened which could be submitted. When there were a large number of records, the submission took a long time but no busy icon appeared. Investigation showed this only happened with hierarchical tables and not with optimized tables. The intanceID was not getting generated for the hierarchical table, due to which the grid object was stored with an undefined key by replacing the existing grid object and storing the last table object details in the metadata. To resolve this, pyInstanceID will be set on the componentInfo object to get the correct IDs for the treegrid during registration. | User Experience |
INC-253871 | 803853 | Updated mobile browser mashup cookie handling | Every time a mashup website was opened from mobile browser a request to enable cookies was shown. Giving permission for cookie consent resulted in asking the user to refresh to load the mashup. This issue was due to incorrect URL filtering which resulted in an encrypted URL, and has been resolved. | User Experience |
INC-253940 | 775006 | Currency Control alignment corrected | The currency symbol position was not calculated properly and was misaligned when placed on the left side of the span element. This has been resolved by changing styles to support height change so the currency symbol is displayed as expected. | User Experience |
INC-253992 | 775254 | Filter pop up displays correctly for absolute position | The filter pop up was not displayed properly in reports when the parent container position was absolute. This was due to a missing condition check, and has been resolved. | User Experience |
INC-254668 | 773109 | Handling added to correct Moment DST offset for dates after 2037 | When a datetime of greater than 2038/01/01 00:00:00GMT was read from the clipboard In certain timezones, 1 hour was incorrectly removed as a DST offset by the third-party Moment JS. In cases where the time was set to midnight, this resulted in the displayed date being 1 day early. This issue only affected datetime values and can be avoided by using a date value instead. To resolve this, handling has been added for correctly returning the moment object if the year is greater than 2037 for a datetime control with date property. | User Experience |
INC-254768 | 780717 | Corrected class search that caused RuleNotFoundException for teams | Clicking on the teams menu item on the user portal home screen resulted in a blank screen. The error "RuleNotFoundException:Failed to find a 'RULE-OBJ-ACTIVITY' with the name 'PZINITIALIZETEAMDASHBOARD' that applies to 'Data-Admin-WorkGroup' " was logged. Investigation showed this was caused by the PZINITIALIZETEAMDASHBOARD activity being searched for in the wrong class, and this has been resolved. | User Experience |
INC-254875 | 781150 | Smoothed resize on change of assignment view | When a new assignment was opened, the assignment frame resized and jumped before displaying the expected content. This has been resolved by enforcing the min-height of the editor during the initial render cycle so that TinyMCE does not override it with a larger value, thus preventing the jumping of content. | User Experience |
INC-255063 | 783580 | Tabbing out of multiselect correctly closes the item | When using the keyboard to navigate to a drop down pill box and select an item, tabbing out of the field caused an additional item to be selected. Investigation showed that on tab the system was incorrectly calling the createCapsule method for selecting an item instead of closing the multiselect popup, and this has been resolved. | User Experience |
INC-255216 | 776250 | Corrected decimal formatting display | Issues with formatting a decimal value were seen after update. The error '<Number>' is not a valid decimal value was traced to the system enclosing quotes in a decimal input property after submit. This has been resolved by correcting the value formatting if the last character is a separator. An issue with the "$" value not being visible when an error message is displayed has been resolved by allowing updating of the date-value for backspace and delete. | User Experience |
INC-255461 | 794659 | Check added to handle integer with comma on mobile | After entering an integer value on mobile which was presented as a comma-separated value, the case was submitted but the particular integer field was highlighted in red. Subsequently attempting to reopen the work object on desktop generated the error that the particular integer was not a valid integer. This was traced to the value being saved as a comma value on the backend but the desktop only saving the number without the comma. To resolve this, a check has been added in getFormJSON in the ui_property.js file. | User Experience |
INC-255734 | 807225 | Security improved for desktop actions | Cross-site scripting protections have been improved by wrapping desktop actions using the crossScriptingFilter function. | User Experience |
INC-256041 | 810910 | Session timer corrected to ensure complete countdown | Work done on the pop-up timer to trigger close() when the timer reaches 0s has been further updated to remove an additional extra space on the pop up and ensure the timer is accurate for the closure. | User Experience |
INC-256304 | 778346 | Layout header property read by screen reader | After adding "Include icon or value" to a layout header, a property or constant was not being read by the screen reader in browse mode with arrow keys. This was caused by the aria-label that was being applied to the button element overriding the constant text property and causing it not to be read by screen readers, and has been resolved by removing the aria-label from layout_header_content for a collapsible dynamic layout. | User Experience |
INC-256426 | 793592 | Corrected "Unregistered request" errors | After a security update, repeated errors regarding "Unregistered request encountered with params pyActivity" were seen. This was traced to the PreDataTransform parameter which was added for ReloadHarness when the pre-activity is SaveAndContinue, but which was missed during the cleanup of the DoSave map. This has been corrected. | User Experience |
INC-256835 | 779127 | Check added for dynamic pre-activity parameters in dropdown | After configuring a drop down with options loaded on hover sourced by a clipboard page using a pre-activity accepting parameters, an "Invalid clipboard stream detected in module (unspecified)" error was generated by pzGetDropdownOptions indicating invalid JSON. Thereafter the pre-activity was called without any parameters, static or dynamic. This was happened only when static parameters were passed in the pre-activity for loading dropdown options, and has been resolved by adding a check for dynamic parameters in the pre-activity. | User Experience |
INC-257175 | 779943 | Selections not cleared on adding search filter | After performing a search, applying filters caused the selection to be cleared. This has been resolved by removing filterexpression and search from the dependency of clearSelectedRows. | User Experience |
INC-257485 | 808743 | JAWS reads Inline errors on multi-select controls | JAWS was not announcing an inline error displayed under the control when the user tabbed away from a multi-select control marked as required. This has been resolved by setting aria described for the error div. | User Experience |
INC-257940 | 782699 | Filter pop-up anchored correctly during horizontal scroll | When applying filters in the last few columns of a delegated table, the pop-up was not sticking to its respective column but instead scrolling horizontally with the screen. The pop-up location worked as expected for a non-delegated table. This was traced to an eventListener not firing as expected in harnessMainRegion for scroll event, and has been resolved. | User Experience |
INC-258008 | 780661 | JAWS reads radio control client side errors consistently | Radio controls marked as required were triggering client side validation messages, but JAWS was not reading these messages consistently. This has been resolved by adding the needed roles alert to read out an error message when focus is changed using the tab key. | User Experience |
INC-258056 INC-249243 |
781058 765689 |
Corrected keyboard focus in modal window | When a flow action was configured to hide the default action button sections and then launched in a modal window, using the tab key moved the focus out of the modal window and into the background sections. This has been resolved. | User Experience |
INC-258097 | 784249 | Theme Cosmos event type check updated | An error seen when the Theme Cosmos harness refreshes and the case screen becomes unresponsive or some sections do not fully render was traced to the event type being unknown. This has been resolved by modifying the event type check condition from unknown to undefined if strreloadtype case is a section in the reload function. | User Experience |
INC-258212 | 781549 | Corrected Expand-Collapse icon accessibility | When an optimized table is configured with grouping enabled, Pega renders group headings with a button that can expand or collapse a particular group. After update, the top-most button (expand/collapse all) was not accessible using keyboard navigation when using Microsoft Edge. This has been corrected. | User Experience |
INC-258271 | 781010 | Improved reports browser table accessible navigation | When accessing the report browser in list mode, the accessible navigation was not always applied to the grid, resulting in inconsistent keyboard navigation which required a browser refresh. This has been resolved by adding a check for the grid element in the DOM. | User Experience |
INC-258272 | 781643 | Improved accessibility for multiselect in reports navigation | In the All Reports section of Reports navigation, JAWS announced the incorrect role “tab” when navigating to the “search by..” text box and “Category” combo box. This was caused by the role application being added to the body during multiselect focus, and has been resolved by removing the setting of the role application for the body in the multiselect updateMSLiveRegion API. | User Experience |
INC-258275 | 781099 | Improved checkbox accessibility for repeating dynamic layout | Table filter checkboxes did not have the correct label and state for an accessibility reader to read-out, causing the state of the checkbox and the context of the checkbox to not be announced. This has been resolved by changing the repeating dynamic layout navigation mode to "Use form navigation (by tab)". | User Experience |
INC-258314 | 791481 | Custom date format correctly applied to Mail template | After creating a custom date time control with DateTime format set to custom, the format was not applied when a property with this custom control as the format was embedded in a correspondence rule. If the same control was used in a section, the format was displayed correctly. This has been corrected. | User Experience |
INC-258427 | 780418 | Corrected typo in toLowerCase function | The processHarnessType.toLowerCase function in the ui_doc file has been updated to correct a misspelling in the code. | User Experience |
INC-259790 | 783652 | Check added to set time zone for Calendar Picker | Calendar Picker was taking System time zone by default regardless of Operator time zone. Investigation showed that when the timeOfDay property type was used to represent a time-only property, the flag "hasDays" was false and the computation of a time string and a date string from input date string was not being done and the input date string was itself treated as time string. This has been resolved by adding a check which will compute the time string from the input date if hasDays is false. | User Experience |
INC-260644 | 788444 | Updated handling for configuring embedded view in data class | The error "TypeError: Cannot read properties of undefined (reading 'split')" appeared when attempting to open the embedded view configurations and set the visibility condition. Custom forms created in Data Object authoring have viewType set as "embeddeddata" to determine if a regular view reference property panel or embeddeddata property panel is shown. When these custom forms were included in other forms of the Data Object without context, the system generated an error or opened the wrong property panel. To resolve this, the code in useConfigureDialog has been updated to only open the Embedded data property panel for complex fields. | User Experience |
INC-260796 | 790720 | Subcase assignments correctly refreshed/removed | Assignments from the sub-cases remained visible on the UI after sub-cases were closed. This was caused by the add_container_item holding the old data, and has been resolved by calling Delete_Case_summary to delete childcases from app/primary_1. | User Experience |
INC-261160 | 807036 | Resolved SECU0001 error on wrapup | Wrapping up an interaction was generating a SECU0001 error. This has been resolved by registering the ClientParameters for the pzActionCancel Rule-Utility-Function. | User Experience |
INC-261275 | 787909 | Grid search works with boolean property | Attempting to search in the grid generated an error if there was any column present in the grid with boolean entries. This has been resolved by adding a check for boolean without displayAs in the DefaultViewMeta.js. | User Experience |
INC-261466 | 788125 | Corrected tab layout group scrolling | When using a Layout Group – Tab with Header->Spacing between tabs, the right navigation button was becoming disabled before reaching the last tab. This was traced to the spacing between tab headers not being considered when calculating the whole tab headers width, and has been resolved. | User Experience |
INC-261897 | 789848 | Calendar correctly sets "Today" | Selecting "Today" on the calendar showed yesterday's date. This was caused by the date property not considering the operator's time zone for the date, and has been resolved by modifying the code for setToday in the ui_calendar function for DateTime Control with date property. | User Experience |
INC-261950 | 794642 | Updated focus so JAWS doesn't read out DOM | When an edit modal was launched from within a grid / table context, JAWS was reading a lot of unnecessary context information before reading the contents of the modal. When the modal is launched, the original button that the menu was introduced from receives momentary focus prior to the popup appearing. When a slow network is introduced into this scenario, it had the result of JAWS reading the entire DOM into the table because the menu populated from the button is appended to the end of the DOM. When focus returned to the button element, JAWS was positioned to think that it has gone from the end of the HTML tree into multiple layers to the table so it read everything to get to the table, then read the modal that appeared. To resolve this, an update has been made such that if the menu item target parent is from template grid and if its opening a modal, don't focus on the showMenuTarget. | User Experience |
INC-262094 | 791631 | Time zone will be assigned by serverTimeZone if TimeZone is not available | Two different timezone formats were displayed in two places of the application: Operator Timezone was set as America/Los_Angeles so the date time control displayed the operator time zone as PST, but for pxTimeCreated it was showing as UTC. This occurred when the pxTimeCreated property used in the case history table was configured to display format as Operator Time Zone, and was caused by the pega.u.d.serverTimezone not being considered while converting from PST to moment-supported timezones in the ui_formatDateTime text rule. To resolve this, code has been added to assign the timezone if pega.u.d.TimeZone is not available and pega.u.d.serverTimeZone is available. | User Experience |
INC-262337 | 800800 | Required field and help test designations both appear | The required field asterisk and the help text question mark were not showing at the same time. This has been resolved with a CSS update. | User Experience |
INC-262442 | 793132 | Handling updated for interrupted required attachment upload | When a form submit was clicked to close an assignment before a required attachment upload was complete, the required validation did not allow proceeding. The submit button was disabled, and after the upload was finished the button stayed disabled so the assignment could not be finished. Investigation showed handleDeferredActionCompletion was throwing an INVALID_CONTEXT_DETAILS error, and this has been resolved by updating the handling for the action sequencer validation in Finish Assignment. | User Experience |
INC-262506 | 788606 | Corrected autofocus for non-mobile devices | Focus was not retained in the address field, instead jumping to another icon on top of the screen. This was traced to the setFocusToInput function in the pzpega_control_autocompleteag.js file checking for a touchable device. If it is touchable, the condition will not execute and focus will not be removed, but this condition leads to failure in touchscreen laptops/devices. The condition has been modified with a check for mobile to resolve this issue. | User Experience |
INC-262558 INC-A5003 INC-258050 |
789210 811833 786532 |
List control correctly populates values in Mashup | After update, multi-select list functionality was not populating the values when using Mashup. This was traced to the parent.document in the popover file causing a cross-origin issue when used in Mashup, and has been resolved. | User Experience |
INC-262564 | 789080 | Corrected Pega Call widget labels | The Buttons on the Pega Call widget were not labelled correctly. This has been resolved by adding the aria-hidden="true" attribute on the icon/image markup inside the Button/Link. | User Experience |
INC-262864 | 795758 | SessionTimer modal header correctly set | The title of the standard modal dialog (launched from script using "showModalDialog") was not referencing the title from an embedded HTML rule. This was caused by the function "pzDisplayModalDialogLoaderOnLoad" passing _isOverlay as a string instead of boolean, and this has been resolved. | User Experience |
INC-262877 | 802495 | Corrected empty space in mashup after deleting table rows | Empty space was visible on the screen after the grid rows were added and deleted from a mashup. This was due to the mashup iframe height not being resized correctly after removing elements, and has been resolved. | User Experience |
INC-263025 | 797148 | Case Preview button highlighted when focused with keyboard | The Case Preview button did not change color when it received focus while navigating a grid via keyboard. This has been corrected. | User Experience |
INC-263037 | 794214 | Improved accessibility for repeating dynamic layouts | A number of accessibility challenges were seen when using keyboard navigation for repeating dynamic layouts. In order to improve accessible navigation, the new DSS property "pyRDLNAVIGATIONTYPE" has been added in the repeating dynamic layout configuration to allow specifying whether the tab key or arrow keys should be used by default for the system. If the DSS is not set or is undefined, the individual repeating dynamic layout configuration is honored. | User Experience |
INC-263322 | 794694 | Default value displayed in mobile responsive dynamic layout dropdown | In mobile responsive view the dynamic layout group was displayed as a dropdown list but the default selected value was not displayed. This has been corrected. | User Experience |
INC-263366 | 791085 | Breadcrumb will be refreshed upon changing stage | Changing a stage was not refreshing the breadcrumb bar to the currently changed stage view. Investigation showed this occurred when visiting a completed stage using change stage and moving forward using finish-assignment(Submit button), and was caused by data.caseInfo.stages not having any updated data because visited_status was already set to completed from active when the stage was completed. In order to ensure proper rendering, an additional property stageID has been added to the STAGES component. | User Experience |
INC-263718 | 813412 |
Corrected unexpected appearance of dirty check modal | The unsaved changes modal appeared when there were no changes done, and the modal appeared twice, once from the browser and another time from the application, when there were actual unsaved changes. This has been resolved. | User Experience |
INC-263833 | 807208 | Updated parameter handling to avoid special character issue | After update, attempting to launch a new window failed when a property contained a special character (') on a page. This was traced to the harness action configured to open in a pop-up window having a data transform whose parameter value contained a single quote character “'” in it, causing a javascript error ‘Uncaught SyntaxError: missing ) after argument list’. To resolve this, an update has been made which will use paremKey instead of parmValue while checking the identifiers. | User Experience |
INC-263870 | 792376 | Corrected handling for numbers added to formatted number field | After creating a number field (Decimal/Currency) with auto-format enabled, typing in a value and clicking outside the field formatted the value as expected, but then clicking inside the field to add values at the start of the existing formatted number resulted in the newly typed numbers not being placed at the correct positions. For example, typing in 34 and then having it formatted, then adding 12 before the 34 resulted in 1324 instead of the expected 1234. This has been corrected. | User Experience |
INC-263931 | 790558 | Able to embed sections with tables/repeating dynamic layouts in Templatized sections | A section from Sales Automation for Financial Services could not be saved into the section ContactPrimaryDetails that was in the implementation class of Contact. This scenario called rules that exist in two different rulesets that embed a same section, so as a result during the view generation process there was issue where the process was trying to loop infinitely to call the same section rule, causing it to throw a Stackoverflow exception. This was a missed use case for repeating dynamic layouts with an embedded section from a different target class, and has been resolved using the embedded section's class and not the parent class while creating the views for section. | User Experience |
INC-264014 | 804046 | Browser refresh from local action opens correct target | When a local action performed a browser refresh, pending task opened instead even if the task was not assigned to the current user. This was traced to the local action target being an ACPrimary (AJAX container) call instead of popup, and has been resolved by adding the NewTaskStatus and TaskIndex parameters to the payload for the ACPrimary call to ensure the local action is opened as expected. | User Experience |
INC-264131 | 789674 | Datepicker correctly updates values in mobile view | When accessing a Constellation application from a mobile device, selecting a new date value and submitting while the focus was on the value did not change the original value. If the data field was de-focused before submitting the screen, the new value was accepted. This was traced to the blur event from Date and the click event from button not firing one after another as expected, and has been resolved. | User Experience |
INC-264150 | 794426 | Corrected Row 1 being added automatically for field group | When a page list was configured as field group, Row 1 was being added automatically without the user clicking on 'add'. Investigation showed the field group was adding an extra empty INSERT instruction from the server while inserting records due to the FieldGroupTemplate being rendered twice for referenceList.length == 0 . This has been resolved. | User Experience |
INC-264243 | 794573 | Accessibility added for stakeholder text control | The stakeholder name text is an actionable element that expands or collapses a popup card when bringing a mouse onto it. JAWS was reading out the text only as static text and not announcing the proper role such as button and current or updated state either expanded or collapsed. With this update, the Stakeholder(s) name in the Utilities panel is now a semantic button which can be interacted with via keyboard. The Stakeholder content is now provided within a dialog with the appropriate role and function of a dialog modal. | User Experience |
INC-264516 | 805714 | Create harness consistent across environments | A harness that was working in DEV and QA was not working in UAT. Investigation showed the circumstancing for the pzForCreateStage rule was not consistent in the different environments, and this has been resolved by modifying pzDefinitionForDesktopCreateStage to add a condition to not load for 'actertiary'. | User Experience |
INC-264642 | 789645 | DX attributes and symbols converted correctly in JSON | When invoking the DX API for dropdown and tooltip, the JSON was not parsed due to incorrect formatting. This has been resolved. | User Experience |
INC-264872 INC-273095 |
794633 809022 |
Handling updated for switching portals | After update, switching to an interaction portal from a primary portal resulted in a distorted portal which did not hold the right UI. Investigation showed the threads were not being properly cleared when the switch happened, and this has been resolved by adding a new parameter for the switchPortal use case where the pyPortal page has to be updated. | User Experience |
INC-264901 | 793176 | Updated validation for sourced report definition with class join | Values were not fetched as expected when using a report definition sourced in a section as a table with class join conditions. This was a missed use case and the needed logic has been added for the java step performing the validation. | User Experience |
INC-265481 | 801333 | Date picker error messages picked up by translation wizard | The date picker error messages "incorrect Date" and "incomplete Date" did not appear in the translation Excel. (Retranslate all layers selected). Manually adding the values in the Excel worked and after upload the values are translated, but the additions were missing when the translation file was downloaded again. This has been resolved by adding the keys for Incomplete Datetime and Incorrect Datetime in pyGenericFields. | User Experience |
INC-265558 | 807809 | Rich Text Editor displays asterisk for mandatory fields | After update, Rich Text Editor fields were not displaying an asterisk for mandatory fields. This has been resolved by adding the needed CSS selector to display '*' for required Rich Text Editor fields. | User Experience |
INC-265775 | 792089 | Display value using read-only formatting resets datepickervalue | When the checkbox "Display value using read-only formatting" was selected on the presentation tab of a date time control, the date was reset upon switching the page. Investigation showed that if there was a default value provided to date time property with "Display value using read-only formatting" checked, the data-value was already added onto the DOM with default. As the user selected the date from the date picker, the data-value was not updated to the latest selected value (update only happens on blur), causing the submit infrastructure to pick the old data-value and reset the date. This has been resolved by updating the handling for the data-value when it is non-empty. | User Experience |
INC-265995 | 793678 | Autocomplete in initialization screenflow announced by JAWS | When creating a case and tabbing through the fields in the Create Case modal, JAWS 2022 was not announcing an autocomplete field and instead read all the form fields from the top down. This was traced to an attribute being appended to the body element during tabbing that caused JAWS to read additional context and stop reading the autocomplete control in its entirety, and has been resolved by skipping the addition of the role attribute on focus. | User Experience |
INC-266208 | 795264 | Corrected focus issue when using hide column | Selecting "Hide field" from the ‘Open Menu’ for any column of an optimized table in a section in a case caused focus to shift to the browser top left. This has been corrected. | User Experience |
INC-266355 | 808203 | Improved accessibility for dialog name | When using Microsoft Edge and JAWS 2022, JAWS announced dialog as "View Dialog", instead of "Save As New View Dialog" or "Edit View Dialog". This has been corrected. | User Experience |
INC-266494 | 796872 | Focus handling updated for pre-filled date field | After update, changes were not retained when attempting to modify a pre-filled date value. This has been resolved by updating the focus handling on the text input for date time. | User Experience |
INC-266973 | 795322 | Multi-line warnings correctly localized | Single validation warning messages were correctly localized, but multiple warnings appeared in English only. This has been resolved by updating the code to handle localizing multiple errors associated with same field. | User Experience |
INC-267032 | 795671 | Focus will skip calendar icon if Datepicker is disabled | When Datepicker was disabled, the calendar icon had tab index as 0 and screen readers were reading the calendar icon on the tabs instead of skipping it. This has been resolved with an update which will avoid focusing on the calendar icon when the date field is disabled. | User Experience |
INC-268507 | 808746 | Left Navigation panel focus moved to back button for sub-menus | When opening the "My applications/notifications/recents" panel via keyboard, focus landed on the hidden search edit field on the “My Applications” panel instead of the Back button on the "My applications" panel as expected. In order to have the focus align with the implementations of the other buttons within the sidebar, focus will be brought to the back button when going into the sub-menus rather than the header. In addition, when selecting the back arrow from “My Applications” navigation item from the left hand navigation, the focus was set back up to the top level page of the screen rather than returning to the navigation button that launched the “My Applications” Section. This has been corrected. | User Experience |
INC-268618 | 766541 | Corrected last digit of date value being truncated | After creating a Date-only property and configuring a read-only date-time control formatted as 2001/01/01, creating a case and copying/pasting a date value in date field such as 20220802 caused the last digit to be truncated and an error was generated indicating it was not a valid datevalue. This occurred when using the UIKit, and was traced to miscalculated formatting based on the separators. This has been resolved with an update to auto-separate the date when a separator is present. | User Experience |
INC-268688 | 795167 | Moment library updated | An issue with date/time not updating to reflect Mexico's DST changes has been resolved by updating moment.js to version 0.5.43. | User Experience |
INC-269163 | 797586 | Browser 400 error handling updated to resolve intermittent loading issue | Custom components were intermittently not loading correctly. A status 400 event was recorded in the network trace, referencing the disk cache. The issue did not occur when using Google Chrome incognito mode. This has been resolved with an update which will add 'cache-control: no-store' on HTTP 400 response. | User Experience |
INC-269342 | 808740 | Dirty check warning added for Rich Text Editor textArea | The cancel button was not providing a dirty flag warning as expected, causing automation scripts to fail due to the different behaviors of the cancel button on different UIs. Investigation showed the Rich Text Editor control textArea was not being considered for the dirty check while performing the cancel action, and this has now been added. | User Experience |
INC-269535 | 799984 | Nested data pages supported for non-localized sections | When sending correspondence for review, the "Transfer To" drop down was empty and no operator names were listed. Investigation showed the dropdown display value was coming from a different class which was nested, but when localize check is not added in a section, the non-localized value is not extracted due to the property value being nested. This has been resolved with an update supporting the nested data page option for a non-localized section. | User Experience |
INC-269662 | 801153 | Query from parameterized data page correctly refreshed | Data was not being refreshed as expected for a table sourced from a query property which in turn was sourced from a parameterized data page where parameter value was set based on a property in the case. Changing the value of the property triggered a refresh but the values shown in the table were not updated. The PConnect is expected to be a single object across re-renders, not to be created on every re-render. To resolve this issue, the createPConnect logic has been moved to a useRef to hold the singular instance of it, and the raw parameters will be passed while creating PConnect for list view. | User Experience |
INC-269765 | 808221 | Assignment screen fully visible in embedded section | Only half of the assignment screen photo and text was visible in an embedded web section. Investigation showed that when the field was set to "(always) read-only", the Rich Text Editor created an iframe which could not stretch once the img was loaded because the img load was done outside of the loading the iframe. This has been resolved. | User Experience |
INC-270106 | 810019 | Menu items accessible in Mashup | Accessing a menu with Enter key worked fine if launching the portal in a regular scenario, but the Enter key did not work in Mashup. This was due to missing event listeners for keydown in the use case of directly launching a case in this scenario, and has been resolved by moving the event listeners registration code to top of the function for Mashup. | User Experience |
INC-270551 INC-256869 |
805498 781458 |
Attachment requirement validation check updated | When an attachment upload field was set to required, the requirement was active the first time through the screenflow. However, navigating back to the assignment and deleting the attachment did not generate an error when saving and closing the assignment without uploading a new file. This was due to the method used for the validation condition check, and has been resolved by adding separate keys by property name under the attachment list key. | User Experience |
INC-270947 | 803426 | BAC registration added for generateActionFrame activity | Attempting to access assignments generated the message "Error 403 Forbidden Request You are not authorized to perform this action." This has been resolved by adding BAC checks in the generateActionFrame activity. | User Experience |
INC-270992 | 814730 | Separator present in Interaction portal | After update, some Menu items were missing the separator line in the Interaction portal. This has been resolved with an update which will use the current page parameter instead of a new parameter page. | User Experience |
INC-271073 | 802555 | Rich Text Editor control updated | Security around using the Rich Text Editor control has been updated. | User Experience |
INC-271214 | 800808 | Rowheader support for optimized table added | Attempting to configure a read-only table layout with both column and row level headers where a particular column was designated as row header did not result in JAWS reading out the column header association as expected. This has been resolved by adding rowheader support for optimized table based on the column importance. Within the Table Column Properties configuration, setting the column’s importance to Primary will allow for that column to be designated as a row header for the table. It is strongly recommended to flag the first data column in your table as the Primary for best screen reader experience. Also, it is important to only set one column to Primary. | User Experience |
INC-271611 | 818959 | Smoothed UI on change of assignment view | Opening a new assignment caused the assignment frame to resize and jump before displaying the expected content. This has been resolved by stabilizing the height of Editor on initial render. | User Experience |
INC-271641 | 799910 | Improved accessibility for initialization screenflow autocomplete | After creating a case and tabbing through the fields in the Create Case modal to reach an autocomplete field, JAWS 2022 did not announce the field and instead started reading all the form fields from the top down. This has been resolved by adding the needed role attribute on the results popover container. | User Experience |
INC-272343 | 788401 | Tab key works as expected in Repeating Dynamic Layouts | After opening a case type that has repeating sections, attempting to tab through the fields in the section resulted in the focus moving out of the section and to the adjacent section heading instead of to the next field. This has been corrected. | User Experience |
INC-272346 INC-195858 |
716528 | Validation messages appear as expected for datetime dropdown | When two different date properties using the dropdown list control (rather than the default date time picker) were configured on the same page with client side validation, the error messages were only displayed on the first property and not on the second property. This has been resolved by making the necessary changes to show required validation messages for datetime dropdowns. | User Experience |
INC-272495 | 808219 | Improved accessibility for Case Action menu display | The entire Case Actions menu was presented in one line or string for several applications, impacting accessibility. This has been resolved by updating the aria labels to correct the JAWS field form list issue. | User Experience |
INC-272675 | 801562 | Submit button correctly persists upon listview row action | In an assignment level list view, when a row level action was submitted for a single record the main flow action submit button disappeared. The submit button reappeared if the case was closed and reopened. This issue was caused by the second case type information being merged/updated in the first case type's work area, resulting in the non-availability of buttons.To resolve this, an update has been made to only merge the if parentContainerData and currentContainerData are equal. | User Experience |
INC-273313 | 800153 | Customized error message works for Rich Text Editor | Customizing the Required fields error message was not working as expected for Rich Text Editor.This has been resolved by updating the findLabelFor function to get the Rich Text Editor label. |
User Experience |
INC-273315 | 803837 | Corrected accessibility for attach content error | Attach content error messages were not being read by JAWS immediately after being triggered, and focus was going to the background. Investigation showed the error section did not have the proper role set, which has now been resolved. | User Experience |
INC-273465 | 808208 | Improved accessibility for optimized grid pagination | The rule pzGridActivePage was not setting the aria-label properly for optimized tables and an incorrect page count was read out. This has been corrected. In order to promote an accessible pagination format that is convenient to navigate with a mouse or a keyboard, the DSS NewPaginationForOptimisedGrid has been added. Set this to 'true' to enable the accessible pagination format. | User Experience |
INC-273587 | 805538 | Improved Case Preview accessibility | JAWS was setting the focus on the close button and announcing it without giving any information about the purpose of the Case Preview and heading. This has been resolved by adding a section and field value 'PreviewPanelA11y' to support accessibility in the preview panel close icon. | User Experience |
INC-273641 | 805983 | Corrected attachment size validation rounding error | When the max size for attachment was set to 5 MB, a 4.6MB could not be uploaded. This was traced to the base64 encoded attachment stream data size logic used to calculate the attachment size, which resulted in a size higher than actual size of the uploaded file. This has been resolved by modifying the logic in the pzUploadAndSaveFile activity. | User Experience |
INC-A1779 INC-270106 |
807217 810019 |
JAWS correctly reads caption and table instructions | When a table had a caption configured, its narration was blocked when it was located within a layout with a header configured. The caption narration was also blocked if the table had a header configured. The grid caption values were also not read by JAWS. To resolve this, an update has been made such that the aria-labelledby information will be updated with caption + table instructions when the grid has caption configured. If there is no caption but the title is configured, then aria-labelledby will be title + table instructions. In the case of no caption and no title, then aria-labelledby will be the table instructions. | User Experience |
INC-A1928 | 808239 | Cell identification updated for column locking | After applying a lock on columns in a grid display sourced from a data page, the first column lock was not reflected after saving the selected columns into a new view or default view. The remaining column locks were correct. Investigation showed this could occur when there are cells which do not have proper labels, and to resolve this the cell index will also be used to identify cells with no proper labels, allowing the system to uniquely identify columns based on the initial column order. | User Experience |
INC-A2171 | 807998 | File type and icon match after deletion | When using the File Upload Component within a View Rule, uploading several valid files that have different file types such as png and pdf and then deleting a file (not the first or the last one), caused the preceding file to be labeled with the icon of the deleted file type. The file and the icon no longer match together, such as deleting a pdf file and the preceding png file is then labeled with the icon of the deleted pdf file. Investigation showed that when a file was deleted and the elements were moved over to the next slot, the icons were skipped in that process with the result of a mismatch between file type and icon. This has been resolved by adding an ID property to the element to keep the type and icon aligned. | User Experience |
INC-A3115 | 809617 | Edit button works with case that has more than one assignment | The case details edit button stopped working when there were multiple open assignments in a case. The button uses the activity GetFlowIndex to try to find the pyLocalActionsList property on the workpage level. This property is populated by the activity pyWorkActionsPopulate, which has two different scenarios depending on whether there is only a single open assignment or multiple open assignments. In this case when there were multiple open assignments, each assignment had its own pyLocalActionsList property and the values on the work level were left empty. As a result, GetFlowIndex could not find pyLocalActionsList. This has been resolved by modifying GetFlowIndex to add a check for the multiple assignments scenario. | User Experience |
INC-A361 | 805536 | Improved accessibility for left navigation menu items | Accessible navigation of the main left menu has been improved for a more consistent navigation experience for keyboard users. | User Experience |
INC-A4203 | 814759 | Section Repeating dynamic layout uses correct page context | After update when a table was defined on pagelist B and within each table row there was a section that had a repeating dynamic layout defined on pagelist C with section embedded in it, the section and controls defined on the repeating dynamic layout of Pagelist C were getting the context of Pagelist B instead of C when the sections were rendered. This caused the controls to not work. This occurred when using a pagelist pyWorkPage.A.B(n).C(n), where B and C are pagelist properties which both refer to the same page definition class, and has been resolved by ensuring the correct context for the triggered event. | User Experience |
INC-A4362 | 808969 | JAWS Focus set on title of new harness | The initial focus for JAWS was set on the left navigation or the next actionable item on the page instead of on the title as expected. This has been corrected to set focus on the header text when harnesses are launched. | User Experience |
INC-A5046 | 814374 | Corrected JAWS reading My Apps name twice in left menu | When navigating My Apps left navigation with arrows the application name was announced twice by JAWS. This has been resolved. | |
INC-A5795 | 814848 | Added null handling for dynamic container lite | An intermittent null pointer exception was generated when loading the portal. This has been resolved by adding a null check in the dynamiccontainer_lite file. | User Experience |
INC-A5884 | 815289 | Support added to use dynamic class name for Portal harness | After creating a custom landing page and adding it as a default page, clicking the Pega Logo generated the error message "Failed to load harness: Failed to find instance Data-Portal.TestLandingPage of type Rule-HTML-Harness". This was traced to pyPortalNavigationHeader having the class name hard-coded, and has been resolved by replacing the hardcoded class name with the dynamic value D_pzDynamicNavigationPages.pxResults(1).pyClassName. | User Experience |
INC-A6107 | 818120 | Restyled Google Chrome selection box to make text readable | When searching for a case using the left search panel in user portal, using the feature provided by the browser to select one of the cases previously searched resulted in Google Chrome's autocomplete suggestion selection creating a white text over white background which made the text unreadable. This has been resolved by changing the autofilled search input background color while retaining the proper focus styling. | User Experience |
INC-A720 | 803658 | Corrected UI edit focus handling | UI Edit item actions were not showing the updated values. Investigation showed that the edit activities correctly focused on the grid element, but after adding the data in the row, clicking outside and firing the submit action changed the focus to the main element instead of the grid. This resulted in the submit action happening on another thread due to the focus on main element, causing the grid to become unresponsive. This has been corrected. | User Experience |
INC-A786 | 811720 | ViewPDF activity withdrawn | The pyViewPDF rule has been withdrawn. Functions previously performed by this rule can be handled by adding the Rule-File-Binary to the offline configuration. More information on this is available in the documentation for "Making custom resources available in offline mode". | User Experience |
INC-A9803 | 811168 | Method header runtime check added | Attempting to save a section which had a reference to a property with an index other than 1 generated the exception "Save failed - Exception thrown by generated.pega_processengine_dxapifua.pzSectionDXAPIMethodHeader". This has been resolved by adding an isRuntime check to the FUA method header for both sections and harnesses so it will not be run at save time. | User Experience |