Pega Infinity™ includes an industry-standard patch release process to simplify and maintain high-quality releases. Several cumulative patches are released a year for each release stream. The Resolved Issues page contains information about client-reported issues that have been addressed for the specific release.
For a complete set of the Resolved Issues for this release, download the PDF attachment at the bottom of this page. (Note that you must be logged in to access the attachment.)
Low-code Application Development
Case Management
8.4.4 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-138348 | 599772 | Added parameter skipPropertyEvaluation to handle CSS in email HTML | While sending an email with custom HTML appended to the email body, a "+" sign in the body was causing the correspondence generation to fail. Investigation showed that if there were CSS classes with braces in the message body, the braces were being removed and replaced via "+" symbol in step 21 of CorrCreate activity. To resolve this, a new Boolean parameter skipPropertyEvaluation has been added in the CorrCreate activity to handle the decision to either evaluate the logic or not, and the pre-requisite will be to resolve all the property references before calling this activity so custom CSS braces { } will be honored when the message body is sent. | Case Management |
INC-140266 | 602076 | Search made consistent across environments | Search was behaving differently based on whether the user was launching the search by clicking the search icon or hitting enter directly. The search icon passed the classes list and fetched cases based on that, whereas hitting enter performed the search without the classes list unless it was a multi-tenant environment. This has been resolved by updating the pyWorkIDSearch activity to pass application classes list in any environment. | Case Management |
INC-143025 | 600611 | API performance improvements | Performance improvements have been made for running the get assignment action details API. | Case Management |
INC-144265 | 609287 | Updated timestamp handling for duplicate key issue with PyCompleteAutomation | Occasionally a robot failed to complete a case due to a duplicate key exception. This was an issue with the History record creation due to duplicate key erlated to the timestamp, and has been resolved by updating the timestamp handling so that the REST API will use 'getCurrentTimeStampUnique' and for other cases 'pxGetCurrentTimeStampThreadUnique' will be used. | Case Management |
INC-144358 | 601014 | Localization added for "Automatically" and "Manually" field values | The Dutch translation of "Child case [Case_type] [Case_id] has been [Instantiation_mode] instantiated" used the hard-coded English expression "manually". This has been resolved by adding the "Automatically" and "Manually" field values to localization. | Case Management |
INC-146174 | 602868 | Chevron vs Back button in screen flow made consistent | When using the TabbedScreenFLow7 harness with the "Enable navigation Link" and "Only allow navigating back to step" settings for the flow along with client-side validations, the validations were ignored when using the back button but using the chevron displayed a validation error. Investigation showed that the case action area buttons and bread crumb navigation were out of sync during the back button operation. This has been resolved by updating the ProcessStep function in BreadCrumbTrial library to pass skipValidations while calling gotoprevioustask. |
Case Management |
INC-146339 | 600745 | ViewID parameter passed as part of DX API response payload for level 5 applications | Recent work to not consider production level and always pass 'viewID' parameter as part of DX API response payload was not working for cases where the APIProductionLevel was 5. This was a missed use case based on a condition that remained on the ViewID parameter, and the condition has now been removed. | Case Management |
INC-146780 | 602025 | Updated ArchivedCaseHistory visibility | After enabling case archiving on Pega Cloud, it was possible to search the cases from case manager studio, but the audit details were missing. Previously Audit History was directly displayed based on whether archival was enabled or not. As part of Field Level Audit, a new property called pyHistoryViewType was introduced which is a prompt list with ALL and FIELD as its values. This property checks whether FLA is enabled or not, and based on that value ALL is set. In this case, because FLA was not enabled, the pyHistoryViewType property was empty and the HISTORY tab was not shown. To resolve this, the pyArchivedCaseHistory section table 2 visibility condition has been updated. | Case Management |
INC-147658 | 604686 | Handling added for Top and Primary page references in flow action | After upgrade, if a flow action had a class of the section which was different from the class of the flow action, the DXAPI code retrieved the section as the same class of the flow action and not the class defined in the flow action. In flow action, the section was configured be rendered in the context of page reference as Top, however, this was not handled so the section was resolved in the context of primary page. This has been resolved by adding the missing handling for Top and Primary page references in flow action. | Case Management |
INC-148747 | 613876 | Helper text set for radio buttons in DX API | The api/v1/assignments/{ID}/actions/{actionID} Service Rest was not rendering the tooltip into DXAPI converted JSON for Radio Button Helper Text. This was traced to a missing Tooltip check in the API Rule-Utility-Function for radio buttons, and has been resolved. | Case Management |
INC-148817 | 604971 | Added check for ABAC policy to getassignmentdetailsinternal | When an attribute based access control (ABAC) policy was defined on a particular class, the policy was properly applied when browsing instances of the class and directly opening the work object. However when an associated assignment was processed via the DXAPI (using the assignments service) the security was not applied and users who should not have access were able to progress the case. This has been resolved by adding a check in the pzgetassignmentdetailsinternal activity to check for work object opening security. | Case Management |
INC-149823 | 608354 | DX API returns properly referenced icon class for embedded page | When using the DX API to build an Angular JS UI, the response returned from the GET /cases/{ID}/actions/{actionID} api did not return the iconStyle for an icon class that uses a property reference when the flow is on an embedded page. This has been resolved by adding code to set the correct context for pzAPICreateJsonForModes and pzAPICreateJsonForField Rule-Utility-Function. | Case Management |
INC-150172 | 611774 | Updated class handling for View field security | When using a defined View which returned a page and its fields and used an inherited custom work party definition, trying to update the pyWorkParty(Customer) by calling the "post /assignments/{ID}/{actionID}" did not work as expected when Field Security was ON. This was traced to the field security relying on the design time page class information stored in the list/group property, and has been updated to resolve the view fields using actual class information from the work page. | Case Management |
INC-152442 | 616668 | Check added for Create Access to attachment | After restricting access for the attachments category in a CS application, the attachment was added without category and could not be opened. This was due to the Create Attachment access not being automatically created for all categories when privileges were added, and has been resolved by adding a step to check Create Access for attachments of the respective category. | Case Management |
INC-153688 | 616919 | Class name length limitation raised to 64 characters | In order to support field audits on very long class names, FLAudit Class has been modified to allow a class Name length of 64 characters instead of the previous limit of 56. | Case Management |
INC-154189 | 617247 | Harness used to determine read-only for button/text input | If a button/text input was configured to always be editable in a section by using the /v1/cases/{ID}/pages/{pageID} API (say i.e PageID as Review), the button/text input was always returned as readonly. This was due to the API being hardcoded to return readonly info, and has been resolved by updating pzGetPageDetails to not force read-only and let the harness configuration decide the behavior. | Case Management |
INC-154826 | 614818 | Enhanced handling for screen/non-screen/screen flow movement | When using a screen flow where the last screen had a link to launch a section, a cancel button in the section that was configured with a data transform and a 'Finish Assignment' intended to move back to the screen flow did not work as expected. If a browser refresh was performed and then the cancel button was clicked, the Finish Assignment / return was triggered as expected. Because this configuration navigated to a non-screen flow, the attachOnLoad function did not load the parameter needed for maintaining error messages. This has been resolved by updating the navigation to handle this use. | Case Management |
INC-155469 | 616912 | Attach Documents Control updated for busy indicator timing | When using the standard control - Attach content - to attach documents for processing in the application, selecting multiple files for upload and then clicking on the attach button before the busy indicator started resulted in not all files being uploaded. Investigation showed that the busy indicator was not set to display as soon as the attachments were added, giving an opportunity to click "Attach" before all the documents could be successfully added to the process. As part of the resolution for this issue, the busy indicator will be displayed immediately upon file selection. | Case Management |
Cloud Services
There were no Resolved Issues for Cloud Services in 8.4.4
Conversational Channels
8.4.4 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-142930 | 600770 | Email history will be stripped from case replies | When sending an email reply to a case, the entire email history (all previous emails in the email chain) was attached to the case as part of the reply. To resolve this, updates have been made so the system will strip history only when it's a follow-up mail. In addition, an issue with duplicate attachments has been corrected, and attachments from trailing mail will not be copied to a new post. |
Conversational Channels |
INC-143320 | 602282 | Support added for email addresses with hyphen in domain name | When attempting to enter a email with a hyphen '-' in the domain part of an email ID (test_ab@ test-email.com), the reply button was getting disabled. This was caused by the regex validation implemented in the "pzValidateEmailAddress" (Work-Channel-Triage-Email) standard activity not covering all the possible cases. To resolve this, regex has been changed to instead use a platform-provided rule to ValidateEmailAddress. | Conversational Channels |
INC-145425 | 600774 | New email template added to include full message history | Whenever a reply was sent from the email triage case, the outbound email sent only the actual reply along with the original email and latest reply only, skipping all remaining replies from email. For example, if there were 5 replies from case, replying 5th time generated an outbound email that contained only 5th reply (actual / current), original reply (which created the service case) and the latest reply (reply 4 in this case) and skipped reply 1 and reply 2. To resolve this, a new Outlook-style template has been added for use in replies that will include all of the previous exchanges. | Conversational Channels |
INC-146544 | 604495 | Updated handling for unexpected character set in non-UTF-8 email | After upgrade, the listener properly created a case from an email, but the space character was being replaced by ? in the inbound emails. Investigation showed the messages did not appear properly in the UI if the email was sent using any encoding other than Unicode (UTF-8) and it had a special character set. To resolve this, the system will remove the attachment type which includes the charset. | Conversational Channels |
INC-149667 | 610053 | Email Triage properly maps attachments to case | Attachments from emails coming in via the Email channel were not being attached as expected to both the Email Triage case and the case generated from that. Instead, attachments were only being added to the triage case. This was traced to the pyAttachments property not being properly updated for attachment to the generated case, and has been resolved. | Conversational Channels |
INC-150367 | 606030 | Double quotes escaped in entity mapping | A usecase where the BOTS created the triage cases from the emails and pushed it to the Workgroup had an intermittent problem where the screen would freeze and no actions could be performed. perform any action on the same. Investigation showed this occurred when the entity text contained double quotes which is caused JSON to break on the client side. This generated an exception during rendering, and other onload scripts failed on load and blocked the entire thread. To resolve this, the system will now avoid the JSON break by escaping double quotes in entity mapping. | Conversational Channels |
Data Integration
8.4.4 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-122112 | 599795 | Updated SLA table clearance | After cases were resolved, SLA entries were not getting cleared from the SLA table. This caused the SLA table to have a huge number of Overall SLA and PendFlow details present for cases that were resolved or moved to the next state, which impacted case processing via SLA Agent. This was traced to SLA queue-items not being removed by delete-deferred as expected, and has been resolved by invalidating the deferred operations and scheduling item removal. | Data Integration |
INC-125200 | 572134 | Documentation updated for binary REST response | The online help documentation has been updated to clarify the instructions for REST endpoints that return binary data. In some cases, the data is returned in a MIME multipart structure. It can also be returned as the response body. In the latter case, mapping the message body to a java object property will cause the binary data to be mapped as a java byte array value. Mapping the message body to a single value text property will cause the binary data to be mapped as a Base64 encoded text value. | Data Integration |
INC-125633 | 589575 | Oracle performance improvement | Poor performance was seen when importing a RAP with schemas using Oracle. To resolve this, an update has been made which will set the Oracle tuning parameter at the session level by altering the setting "_OPTIMIZER_PUSH_PRED_COST_BASED"=false before the SMA query involving all_constraints. The setting will be returned to true after the execution of the SMA query. This is controlled through the prconfig setting '"database/performance/smaqueryperformanceenabled" which defaults to true so the setting and unsetting of the Oracle parameter is automatic. | Data Integration |
INC-132088 | 603086 | Updated Tracer for cluster events | When running the tracer from the Admin Studio Listener management landing page, Tracer was always fetching data from one node only even though events were generated on another node. This was due to the specific node where the Listener was running being passed to the concern activity while launching the tracer; the Tracer Client node did not have data to check if the event was being populated on another node, and the result was to always fetch data from one node only even though events were generated on another node. To resolve this, the web node ID where the event is running will be passed. | Data Integration |
INC-134188 | 576731 | XML Parse handles dates with time zone correctly | Due to a difference in data mapping behavior for Date values, the Parse XML new assembler implementation was incorrectly applying the DateTime type of processing for Date inputs when using timezones and silently ignored the exceptions reported. This has been resolved. | Data Integration |
INC-137882 | 599140 | Hazelcast will be used to determine node presence | When calling logoff from the end user portal, sporadic PresenceStandardLifeCycleListener exceptions were seen during high load periods. This was traced to changes made in the Service Discovery behavior: when there is an issue with the node and heartbeats are missed, the node goes to Safe Mode. This caused the topology to change and trigger clearing off presence sessions, but the node still received service requests and this issue was seen. To resolve this, an updated has been made so the system will rely on the Hazelcast listener instead of service discovery to determine whether a node has left. | Data Integration |
INC-138253 | 597569 | Handling added to ensure proper Data-Admin-DB-Table name records | As part of property optimization, After exposing the property "SolutionName" using the wizard, the value was not visible in a new column for existing records after the completion of the column population job. This was traced to an issue with DBSchemaDDLExecutor expecting lowercase Data-Admin-DB-Table names, and the wizard has been updated to ensure Data-Admin-DB-Table name records are all lowercase. | Data Integration |
INC-138743 | 602446 | Updated LegacyPageAdapter with forward links | After upgrade, attempting to submit an assignment from an existing case type did not work, and the message "There was an error processing the 'ValidateTechnicalData' step [(no task)]: java.lang.ClassCastException: com.pega.platform.clipboard.adapters.internal.LegacyPageAdapter cannot be cast to com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl" appeared on screen. Investigation showed that a reference forward link was unexpectedly referring to a LegacyPageAdapter. This has been resolved by implementing get/setNamedPageReferenceForwardLinks in LegacyPageAdapter so LegacyPageAdapter can be cast to a ClipboardPageAPI. | Data Integration |
INC-138840 | 599980 | Data-Summary reports default will not use the rule resolved setting | An intermittent issue was seen where a query could become stuck for ~2 hours in the database. This has been resolved by setting the default for Data-Summary reports to not use the rule resolved setting. | Data Integration |
INC-139297 | 601422 | JSON content type update | An update has been made to ensure the content_type is set to application/json for JSON response. | Data Integration |
INC-142188 | 600331 | Resolved parent lock sending child item to broken queue | If the ServiceLevelEvents agent tried to process the queue item for a child case but encountered a lock error because the parent case was locked, the queue item was immediately going to the Broken-Process status instead of re-queueing the item to try again in 15 minutes. If the property was set to 'Copy data from a data page', the item was re-queued. To resolve this, the unwind and forward chain calls have been reversed. A dynamic system setting is available to reset the change. | Data Integration |
INC-142569 | 597897 | CORS headers added for Health check URL | Pega Health Check URLs were throwing CORS error when invoked for application Health checks. This has been resolved by adding CORS headers for pingService responses. | Data Integration |
INC-142831 | 605476 | Corrected Outlook web inline image handling | Outlook web was not able to render inline images and instead added them as external attachments. Investigation showed inline images were not being rendered properly in Outlook web due to the disposition not being set. This has been corrected. | Data Integration |
INC-143195 | 596846 | BLOB utility modified for better memory usage | An out of memory error was encountered when running the utility for handling corrupted BLOBs. This has been resolved by modifying the utility to get the rows in batches. | Data Integration |
INC-143376 | 604531 | Adding handling for property without parent page | Filtering was not working for a DateTime control in an optimized grid with embedded property which was a function alias defined in a report definition referenced by a Data Page. This was traced to the system assuming that every property has a parent page, which this use case did not. To resolve this, an update has been made that will return null for the parentGroupOrListProp if one does not exist. | Data Integration |
INC-143865 | 602198 | Handling added for empty back link in BLOB | A DirectStreamContainerV7 Exception (BLOB Corruption) was seen when opening a work object that expanded a certain property. This was traced to an empty back link present in the BLOB: during deserialization, the exception was thrown while trying to parse that empty back link. To resolved this, an update has been made which will parse the empty back link information properly. | Data Integration |
INC-143908 | 606551 | Data Page Save correct in batch mode | After configuring a List type savable Data Page with save activity in Code-Pega-List, the save data page was triggered from utility of flow from the queue processor to handle queueing 10k data items and creating 10k work objects. When this was run, a field dpClassName was being changed by different threads in DataPageSaverImpl.java. This has been resolved by making the class DataPageSaverImpl.java stateless to ensure thread safety. | Data Integration |
INC-143972 | 600522 | Added handling to avoid class cast exception | The error "doMaintain errorjava.lang.ClassCastException: java.util.HashMap cannot be cast to com.pega.pegarules.priv.factory.SequencedEntry" appeared in production numerous times per day, leading to exceptions. Investigation showed this was being triggered from the activity Show-harness, and was traced to the ConcurrentMostRecentlyUsedMap eviction method casting entries to Sequenced entries. There is no such check while putting entries. To resolve this, a wrapper has been added over the ConcurrentMostRecentlyUsedMap object to avoid a class cast exception. | Data Integration |
INC-144387 | 605342 | Support added for allow list for LaxRedirectStrategy | When using Connect REST with POST to access a third-party service deployed on multiple nodes, the load balancer sometimes replied 302 with Location header. The ability to allow the REST connector to automatically follow these redirects even in the case of POST messages is supported by Apache http client via LaxRedirectStrategy, but REST Connectors need both rule and engine enhancements to allow for this. To support this use, an allow list has been implemted for hostnames. This will allow the connector to be configured to follow the LaxRedirectStrategy only when the hostname of the redirect location is in the allow list. The default will continue to block the redirect. | Data Integration |
INC-144601 | 602425 | Empty addresses removed from email | After upgrade, an issue was seen when sending email to multiple 'To' addresses generated an exception if any 'To' address had an empty value. To resolve this, a check has been added that will remove any empty address from the recipientTo address list. | Data Integration |
INC-144917 | 598201 | Healthcheck will only initialize after successful node startup | Nodes were not starting up, but because the Healthcheck service was initialized even though the node was not started properly, errors related to that were overriding the actual exception causing the node startup to fail and it was not possible to diagnose the startup issue. To resolve this, an update has been made that will ensure the Healthcheck service is only initialized when the node is initialized successfully. | Data Integration |
INC-145540 | 601591 | Added handling for email folder close exception | EmailListeners were marking messages as ERROR when it encountered a FolderClosedException when retrieving message detail from the inbox. This has been resolved by adding handling for the folder closed exception in getMessagebyMessageId method so that the message will be marked as initial and retried. | Data Integration |
INC-146030 | 602606 | Added queue process tracer cleanup on node restart | If a node restart occurred while a queue process trace was in progress, some entries in the tracer distributed map were not cleared properly and a subsequent tracer failure was encountered indicating a current trace by a requestor on same operator Id was already running. This has been resolved by clearing the tracer distributed map on node startup for stale entries associated with this node. | Data Integration |
INC-146610 | 614422 | MimeTypeHandler added for cloud downloads on mobile | When using the Pega cloud storage repository (Application -> Integration -> Content Storage) with the Google Chrome browser on an android device, it was possible to upload attachments but re-downloading the attachments failed. Investigation showed that this was due to the content-type appearing as application/* so Google Chrome on mobile was not able to identify the file type. This was a missed use-case for returnFileForDownload(), and has been resolved by setting the system to use MimeTypeHandler for getting the content type. | Data Integration |
INC-146752 | 602935 | File Listener made more resilient | When file listener encountered a FileNotFoundException as a consequence of sporadic AmazonS3Exceptions, the listener was disabled and no retries were made. In order to make the file listener more resilient, FileMatchConcentrator has been updated. While file listener is running and trying to get the next set of files, if the isDirectory() method returns false due to a non-existent directory or some other intermittent issues, instead of throwing an exception and shutting down the file listener, the system will now log the exception and continue. | Data Integration |
INC-147140 | 604371 | Email listener update for Microsoft Exchange server | After upgrade, TooManyObjectsOpenedException/MapiExceptionSessionLimit errors were seen when starting the email listener. Investigation showed that when the listener was started, two sessions were getting opened and then not closed properly. This was a method originally intended to allow the system to re-use the session to minimize performance overhead, but it is not well-suited for use with Microsoft exchange server as the Exchange server is unable to cleanup idle sessions. As a result, too many MAPI sessions were opened and led to an authentication exception while opening additional sessions. To resolve this, an update has been made so the system will close the session while the listener sleeps. This stop, restart and graceful shutdown scenario for single threaded email listener scenarios will create a new session every time and close it properly. | Data Integration |
INC-147669 | 614883 | Enhanced logging added to REDUX query references | Diagnostic logging has been added to REDUX query references which will capture information about exceptions that cause the system to fallback to generating legacy references. | Data Integration |
INC-147873 | 610864 | Custom header character encoding for Subject added | Case correspondence that contained a Subject with accent characters such as "Invitation à être" was being rejected by MailJet on the basis of encoding issues on the "Thread-Topic" when using custom headers. The error "BAD HEADER SECTION, Non-encoded non-ASCII data (and not UTF-8)" was generated. This was traced to the Send Email Smart Shape handling when using custom headers, and has been resolved by encoding the Subject before appending it to the Thread-topic header while adding custom headers. | Data Integration |
INC-149375 | 607831 | Adjusted email listener behavior for authentication failures | After upgrade, email listeners were not staying up during connection outages. This was traced to the handling of authentication failures when trying to reconnect, and has been resolved by changing the disconnected listener state to sleeping and raising an alert for authentication failures. | Data Integration |
INC-150038 | 614828 | Data Type local data storage snapshot history updated | When a History Class Data object was created, two snapshots were made - one with value and another with no value. This was traced to a 'when' condition that evaluated whether to add history when deleting a record from records editor, and this issue has been addressed by removing the condition as the history-add step takes care of checking if there is a dedicated table or not. | Data Integration |
INC-150151 | 613412 | Stream REST endpoint CORS support added | CORS support has been added to the Stream REST endpoint. If a request contains an "Origin" header, the "Access-Control-Allow-Origin" header with the origin value (*.companyname.com) will be added to the response for Stream tier (/stream/view & /stream/click) calls. | Data Integration |
INC-150689 | 607157 | Format specifier error resolved | Errors were registered in PDC and stack for an Email Listener "Format specifier '%s" Exception. This was traced to a formatting error, and has been resolved. | Data Integration |
INC-150704 | 613439 | Azure Repository connection updated | Attempting to connect to Azure blob storage using SDK v8.6.4. SDK was not working. Investigation showed that the x-ms-version:2013-08-15 was set by default; the issue has been resolved by setting the x-ms-version to 2018-03-28, and Pega will be working with Microsoft support to understand what has changed at the Azure Storage end that introduced the issue. | Data Integration |
INC-150809 | 611855 | Loading timing updated for openAPI content | Open API content loading was taking too much time and interfering with working on other REST rule configurations. To resolve this, the loading of openAPI contents has been removed from the opening or saving of REST rule and shifted to lazy loading. Clicking on the openAPI tab will load the contents, and any modification in REST rule or service package rule will update the contents of openAPI when "Action->Refresh" is clicked. | Data Integration |
INC-151228 | 620601 | Kafka updated | Stream node errors were seen in the log file indicating "Invalid configuration. Undefined stream provider end point." This has been resolved by updating Kafka to v1.1.0.5, which was released to address this issue in WIndows environments. | Data Integration |
INC-151418 | 610235 | Authentication updated for legacy activities | Authentication updates have been made for several legacy activities invoked via URL by custom HTML. | Data Integration |
INC-152435 | 612996 | Hardcoded cluster password deprecated | An unneeded hardcoded cluster group password has been removed in 3.8 version of Hazelcast as this use has been deprecated. | Data Integration |
INC-153173 | 612903 | Assembly error self-healing enhancement added | A StartOperation error was seen due to a declare trigger getting fired before the engine was fully up, indicating "UnresolvedAssemblyError: Error occurred trying to parse the expression and augmenting the code: java.lang.NullPointerException". This has been resolved by adding an enhancement that handles "self healing" for assembly errors. | Data Integration |
INC-153877 | 612370 | Enhanced socket timeout logging | In order to assist with diagnosing issues with socket timeouts such as a Data Flow Daily Run failing, logging to print the SocketTimeout value has been added when case info is enabled. | Data Integration |
INC-158159 | 622628 | JobScheduler initialization timing adjusted | DDS nodes were ending up in a deadlock condition on restart, preventing them from joining the cluster. This has been resolved by ensuring the JobScheduler initialization task waits for Search to start up. | Data Integration |
INC-125972 INC-137775 |
604083 583783 |
Improved resolved rules cache | When Rule resolution iterated over a candidate list to fetch a candidate, performance issues were seen on very large sites. To resolve this, an enhancement has been added that will cache the resolved virtual table entries to optimize performance in high demand use cases like DSM. | Data Integration |
INC-131938 INC-141838 |
598479 601680 |
Locking and classmap improvements | Threads were getting stuck inside classMap and tableInformationMap, causing nodes to go down. This was traced to issues with classmap performance and locking, and has been resolved by replacing the lock library with a newer version and refactoring the tableInformationMapImpl class to use a concurrent hashmap instead. | Data Integration |
INC-143461 INC-144978 |
601842 600591 |
Updated JSON DT nested page property handling | In a JSON data transform, when using an "Update page" step on a single-page property, as a child step of an "Append and map to" step where a pagelist property is given, the pagelist was populated with only one result but the single-page property was treated like a pagelist and received multiple results. This has been resolved by updating the ClipboardJSONDeserializer implementation and downstream abstractions to support "clipboard only" relations as properties in nested PageLists. | Data Integration |
INC-145756 INC-149370 |
619293 619990 |
Logging for MultiNodeSynchronize lock attempts changed from error to warn | The File Listener was logging numerous errors stating "Unable to establish MultiNodeSynchronize lock while trying to determine if listener is enabled for this node". Handling has been previously established for error cases when the Listener is unable to establish a MultiNodeSynchronize lock, but this condition continued to be logged as an error even though it was not related to any failures in functionality. To resolve the logging issue, the logger level has been changed from ERROR to WARN. | Data Integration |
INC-146057 INC-149517 |
599809 609475 |
Secure access for Activities | Authentication requirements have been added to Standard activities. | Data Integration |
INC-148414 INC-154605 |
615594 615661 |
Date field correctly extracted for IMAP inbound email | After upgrade, email-sourced cases were not being created correctly. Tracer showed the date field was blank, causing an error which was traced to the getReceivedDate being returned as null for the JavaMail AP even though the IMAP protocol was being used. This was an unintended side effect of work done to handle a throttling exception in the IMAP inbound email flow, and has been resolved by updating the system so that if the getReceivedDate is null, the date will be extracted from the mail header while processing dates in EmailMessageInfo class. | Data Integration |
INC-148944 INC-152647 |
604102 609604 |
Email Listener auto-reply evaluation updated | After upgrade, messages were being read but not getting processed for a specific Email listener (RCEmailListerner). The error "Email flagged as an autoreply email and will not be processed" appeared in the logs. Previously, an email was not considered to be an auto-reply only when the 'auto-submitted' header didn't exist or existed with value 'no'. This caused issues with auto-forward or auto-redirect emails where 'auto-submitted:auto-generated' could be in the header. Due to this, email was marked as auto-reply and email listener stopped processing it. To resolve this, the system has been modified to mark the message as auto-reply if it finds 'auto-submitted: auto-replied' in the header, but not 'auto-submitted:auto-generated'. | Data Integration |
INC-150633 INC-150861 |
614512 611864 |
Optimizing helper class enhanced to handle external databases | Running a BIX extract that included a manifest for a target database was resulting in a null pointer exception for the manifest extraction. Attempting to generate the DDL for the manifest table also failed. This was traced to an issue with the helper class using a hardcoded default database for forming the queries, causing it to ignore the database config/DADN/prconfig for the Oracle database and form a query using the PegaRules' database credentials. This only occurred when trying to do external database operations on a different database platform; Oracle PegaRules worked as expected with an Oracle external database and Postgres Pegarules worked with a Postgres external database, but mixing Postgres PegaRules and an Oracle external database would result in the Null pointer exception. To resolve this, the helper class has been enhanced to work with external databases by passing the database name as a parameter so it will properly calculate the query based on the type of target. An error in the name of the class has also been corrected, and is now available as PerformanceHelper rather than the previous "PerformaneHelper". | Data Integration |
SR-D96430 | 561525 | Updated visibility condition expression handling for decimal values | After upgrade, any visibility condition expression failed to evaluate decimal values that used precision. When 0 (zero) was entered as a value in the input field, a button that was configured to show was visible as expected. When the value was entered as 0.0, the input failed and the button did not show. The problem did not happen "Run visibility condition on client" was enabled. Investigation showed this was an issue with how the When expression was evaluated and calculated within JspWhenEvaluate, and has been resolved. | Data Integration |
Decision Management
8.4.4 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-138501 | 592286 | Added VBD support for CSRF token setting | Attempting to open any VBD reports in the marketing portal for a simulation test caused the user to be logged out. Investigation showed that this happened when CSRF token check was enabled in System > Settings > Cross-Site Request Forgery, and was caused by the planner not passing the CSRF tokens in its Ajax calls. To resolve this, handling for the CSRF tokens has been added to the necessary Ajax calls. | Decision Management |
INC-139574 | 606143 | Exception handling added for dataflow rule assembly | A Blue Screen error was coming up in the Customer Service Web Chat Application after an agent accepted the incoming chat request and sent messages in the chatbox in the Interaction portal. This has been resolved by adding handling for exceptions that occur when inlining templates during dataflow rule assembly, when inlining templates, we weren't handling exceptions properly. | Decision Management |
INC-140821 | 600750 | Resolved Intermittent Access Group Issue for GetBundleEventDecisionDetails | When using a REST service that calls the GetBundleEventDecisionDetails activity and dataflow to send the treatment in multiple channels, intermittent access issue related errors appeared while running the activity in logs for multiple customers. This was traced to a missed use case for authentication, and has been resolved. | Decision Management |
INC-142084 | 599877 | Support added for expression in strategy scorecards | When invoking REST against a dataflow that had a strategy containing a scorecard that used an expression and the "Include model explanations option" was enabled in the Strategy configuration, the system failed with the error "PropertyValueInvalid .pxMaxScore Cannot cast the value (unknown) to double". This was traced to the Scorecard explanations failing during serialization when an expression was used, and has been corrected. | Decision Management |
INC-143121 | 610734 | Timeout for loading predictors made configurable | When using an extremely large number of predictors, the Report definition pzADMPredictorsFilter was suffering timeouts due to the time for loading predictors from the database exceeding the time threshold allowed. This has been resolved by marking the rule as editable to allow custom setting of the threshold according to need. | Decision Management |
INC-143441 | 608898 | Strategy Simulation Runs made more resilient | Intermittently, a decision funnel simulation would fail with particular strategy logic or a particular StrategyTracker would not contain the results for all components so the system would not be able to calculate input SRs. Handling has now been added to make the simulations more resilient so they will not fail with a null pointer error due to incomplete strategy inputs. | Decision Management |
INC-144864 | 599147 | Unneeded AUC error percentage calculation removed for better system performance | When generating snapshots of the ADM models, an inefficiency in the metric calculation for the AUC error percentage caused an excessive amount of memory to be allocated which could cause slowdown or require a system reboot. This has been resolved by removing the problematic AUC error percentage calculation as it is not used in the UI. | Decision Management |
INC-148006 | 605583 | Enhancements added for very heavy use of strategy decision logic | Recent updates were made to improve memory performance for scenarios where a single request primary page had tens of thousands of pages under an embedded pagelist property and the decision logic involved a strategy running on all the pages in that page list. To further improve performance, the array iterator has been modified and a DSS has been added that makes the threshold (50) in SSAExecutionContextIteratorFactory tunable. | Decision Management |
INC-148899 | 615703 | Adaptive models update correctly | Some models had the recorded responses column updated, but the models (number of Positive, Negative and Processed Responses) were not updated. Investigation showed that deleting the modelRuleConfiguration through the stateManager/client did not delete modelFactories related to the configuration. If a new configuration came in with a different algorithm, the update issue occurred. This has been resolved by reseting the configuration according to its factory in that specific case. | Decision Management |
INC-151037 | 609625 | Enhanced ADM diagnostic logging | Diagnostic logging enhancements have been added in order to better identify issues related to ADM models not being created or where learning is impacted. | Decision Management |
INC-153223 | 613703 | DSS added to set Cassandra query page size limit | When a site with a large number of nodes captured responses to the commit log, it was possible for nodes run out of heap space and cause system instability. This was due to the Cassandra query not having a specified page size, so the cluster-wide default setting of 5000 created an issue for large sites which could have over 150 nodes capturing responses. This has been resolved by specifying the page size on the Cassandra query that used to read responses from the commit log. This value will be set dynamically with a DSS to not read more than n responses from all shards combined in a single batch. | Decision Management |
INC-154128 | 614295 | High thread contention in StrategySSAProgram resolved | While Running inbound campaigns during peak times, high contention was observed around "threadSafeWrite" and "threadSafeRead". To resolve this and improve performance, the code around handling write locks has been updated. | Decision Management |
INC-154889 | 617191 | Corrected export of zero value as '0E-9' | File Data Set was exporting properties such as pxPriority and pyPropensity as '0E-9' if the value was 0.00000 . This has been corrected. | Decision Management |
INC-155822 | 618268 | Locking added to avoid Null pointer exception for auto-populate property | After configuring the auto populate property "OrgProduct" which referred to a data page, the system experiencing heavy load led to the property not getting properly initialized. This resulted in a WrongModeException and NullPointerException. To resolve this, the system has been updated to lock the requestor when Queue Processors execute their activity. This will prevent race conditions and concurrent modifications if other threads are accessing the same requestor. | Decision Management |
INC-157097 | 619995 | REGEX In Expression Builder matches runtime values | An expression builder statement was evaluating differently at runtime vs at testing. This was traced to a difference in escape character handling between old legacy code and the new strategy runtime engine, and has been resolved by ensuring the strategy runtime engine is supporting escape character use cases. | Decision Management |
INC-157194 | 620152 | CheckRevisionDeployment requires authentication | Authentication has been added to the CheckRevisionDeployment service package. | Decision Management |
Low-Code Application Development
8.4.4 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-132590 | 590491 | Exported Excel from Decision Table wraps correctly | After upgrade, entries were displayed in a single line on exporting a decision table to Excel despite WrapText cell formatting being set. This was traced to the WrapText cell formatting set under the UpdateGridCells() function being overridden inside an addDataFormat() function callas part of DecisionTableWorkBookConverter.java. This has been resolved by adding the new function "setWorkAreaCellStyles" and calling it after generateWorkbook() function call of super class (AbstractWorkBookConverter.java). | Low-code app development |
INC-140789 | 597799 | Added handling for validation after inactivity | A Validate rule was configured to add an error to a field if MyPageList had any page where MyProperty was not empty. The rule worked correctly if there was no pause in using the UI, but if the UI was left for a few minutes and then the field was changed, the Validate rule always evaluated the expression to true. This has been resolved by adding a null check in Utilities.countInPageList() function. | Low-code app development |
INC-141895 | 601985 | Options not cached by default for picker controls | Properties created in the data model of the case type were not showing in the drop down of custom conditions in a decision step. The property did not appear on the left hand side 'when' rule of the case designer in App Studio or Dev Studio, but did appear on the right hand side of the same 'when' rule. The issue temporarily resolved when the context class parameter was hardcoded with the class name. This was traced to the properties being cached by pzInnerEmbedConditions, and has been resolved by unchecking "Enable caching of options" for any picker control. | Low-code app development |
INC-142223 | 598648 | Handling added for new case type using reuse case life cycle | Creating a new Case Type in a branch ruleset using the 'Reuse case life cycle' option was not working, and the error "branch rulseset not a candidate" was generated. pxCreateCaseDataPages that are called as part of creating a case rely on Param.RuleSetName; generally this parameter is set in the param page when other assets are created. When Reuse case life cycle was selected, other assets were not created and param.RuleSetname was not set. This affected pxCreateCaseDataPages when branch parameter was provided. This was a missed use case, and has been resolved by setting param.RuleSetName from param.ruleset to fix the issue. | Low-code app development |
INC-143193 | 595938 | Handling added for UI overlap issue | Elements of the window "Test Case Record Configuration" were shifted into one another when the Application name was too long that it overlapped with the other UI Elements. This has been resolved by adding a style sheet with overflow hidden. | Low-code app development |
INC-143820 | 603639 | Handling added for App Studio Null pointer exception | After adding a property as a relevant record so that it can be used in App Studio development, not all of the properties appeared in App studio. This was traced to an unhandled null pointed exception, and has been resolved. | Low-code app development |
INC-146424 | 602898 | Keyboard users can select DSS records with enter key | Keyboard accessible users were not able to select DSS records using the keyboard. This has been resolved by adding the action "Open selected item to the Enter event for the section pzViewInstances. | Low-code app development |
INC-148440 | 607335 | Guardrails Compliance Score correctly excludes test case rulesets | When calculating the compliance score of the Application with the "Ignore test rulesets when calculating Guardrails score" option selected, the test case ruleset was still included in the Guardrail score calculation. This was traced to updates made to the pzGetTestRuleSetsList activity used to get the test rulesets for any application, and was due to the returned data not being correctly updated from a named page back to the primary page. This has been corrected. | Low-code app development |
INC-148853 | 609318 | Corrected password comparison handling for CopyMerge Ruleset Wizard | When running the CopyMerge Ruleset Wizard, entering the password failed with the error "pyPassword: Invalid Password for" <Temp:01-01-01> for each ruleset. Investigation showed that the system was calling an activity which encrypted the user input, causing the comparison with the stored password of the system to fail the match. This has been resolved by removing the extra encryption so the call to the comparison evaluates correctly. | Low-code app development |
INC-149728 | 608107 | Application wizard security updated | A user having PegaRULES:User1 role only was able to run the Create Application wizard until an authorization block was reached, yet some rules were created. No operator records were created as part of this process. This was traced to code left in place after the creation of pxAppConfig and pzAppConfig portals, and has been resolved. The New Application wizard UI will display a message to a user when they lack access to build a new application, and an error will be displayed for any attempt to create a new application directly via pzCreateNewApplication to address a scenario where a user might be trying to call the activity without the front end. | Low-code app development |
INC-150039 | 608044 | Adjusted validation of literal value of a parameter | When mapping a parameterized when rule to the proposition filter, parameters passed from the proposition filter page were not getting flown to the when rule. This was caused by special character validation for a literal value of a parameter which necessitated putting the parameter value within quotes and which resulted in a parameter value mismatch at run time. To support this use, this validation has been disabled as parameter values would not get included within quotes. This change does not have any impact on when rule or proposition filter rules java generation. | Low-code app development |
INC-150845 | 606354 | OpenRule logic updated for GetRuleInfo | The exception "InsufficientPrivileges:RuleExecutionDenied RULE-OBJ-ACTIVITY @BASECLASS PZGETRULEINFO" was thrown for some access groups when attempting to view a section from the end-user perspective on the Opportunity screen. Investigation showed this happened when a section had a table in which "Optimize code" was unchecked. If "Optimize code" was checked, then the exception was not thrown. This was traced to recent security changes in pzGetRuleInfo which affected the BAC registration process, and has been resolved by updating the way the openRule action registration logic invokes the activity. | Low-code app development |
INC-151669 | 618042 | Formulas corrected for GenerateExcelFile | After upgrade, using pxGenerateExcelFile to generate an Excel file resulted in some formulas and values not displaying. This scenario used an Excel template with two tabs - one showing direct page values and the second displaying the calculated values of first sheet. In the exported file, the formula was not getting evaluated unless and until the cell was activated with the enter key. This is a known limitation, and a temporary solution has been made here to add parameters that force the formula evaluations on the saved Excel document when editing is turned on. A more complete solution will be included in the next patch release. | Low-code app development |
INC-143136 INC-151102 |
604017 615015 |
Cross-site scripting update | Cross-site scripting protections have been updated in Designer Studio. | Low-code app development |
Mobile
8.4.4 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-135015 | 591980 | Handling added for overriding questions rules | After overriding questions rules and then upgrading/validating Question Groups, questions were not shown. It was necessary to manually edit, save, and refresh for the questions to appear, affecting mainly Rule-PegaQ-QuestionGroup rules. This was traced to missing handling for this usecase. The commit was added in Revalidate and Save, which was committing different data because the upgraded data was not copied back to step page being used. Due to this, the commit in BulkValidateSave was overriding the changes done in the pzUpgradeSurveyInstance activity, and the survey upgrade was failing. To support this use, Page-Copy has been added to pzUpgradeSurveyInstance after the pzSaveSurveyInstance call step to copy the updated data to the step page which will later be committed by BulkValidateSave during revalidate and save. | Mobile |
INC-136202 | 603905 | Needed offline mobile resource added for upgraded channels | The error "Mobile login issue - "Resource missing. See client logs" appeared after upgrading the platform and updating the mobile channel interface. A logout button appeared, and clicking it generated a popup with "Cancel" and "Log off" buttons. Clicking Cancel returned the user to the default UI in the mobile screen. This was traced to py-avatar.css not being present, which is a resource needed for the offline application with the current platform, and this has now been added. | Mobile |
INC-136410 | 591890 | Check for mobile added | While performing external assignment in the Designer Studio, the console error "Uncaught TypeError: Cannot read property 'isMultiWebViewOfflinePegaMobileClient' of undefined" was generated. Investigation showed that this was caused by the pega_desktop_api checking pega.mobile.isMultiWebViewOfflinePegaMobileClient, which was undefined while not working on mobile. To resolve this, a check for mobile has been added. | Mobile |
INC-137809 | 586467 | Offline setting support documentation updated | Offline settings has been removed from access group and case type. To make the app offline enabled, offline needs to be enabled in mobile channel and case types that should be accessible offline need to be added. The support article about clearing cache (and therefore forcing full sync) has been updated and is available at https://community.pega.com/knowledgebase/articles/mobile/84/propagating… | Mobile |
INC-142223 | 600456 | Mobile List rule correctly removed when case type creation fails | When trying to create a new case type, a "Branch ruleset not candidate" error occurred. During this error process, the Mobile List rule that was created did not get removed. As a result, an InstanceAlreadyExists error occurred once the first issue was addressed and the attempt was made to create the case type again. Investigation showed that Mobile related views are created in pxCreateNativeListPageForCase activity but on failure during case type creation they were not rolled back in pzRollbackAndDeleteCasetypeAssets activity. This has been corrected. | Mobile |
INC-143036 | 599192 | SurveyPage loads when ruleset is locked | When the ruleset containing the survey rules was locked D_pzSurveyPage did not load and errors were generated. Investigation showed that if the flow was in a locked version, the PopulateShapeNodesFromFlowData activity did not call EvaluateConnectorState, causing the mapping of the transitions for connectors to fail in the activity MapBranchShapeConnectors. This has been resolved. | Mobile |
INC-143845 | 603220 | Signature support added for external repositories | On Accepting the signature for a repository, saving the case cleared the signature from the control, even though the signature was saved into the data repository. This was a missed use case, and support for signature has been added to external repository use. | Mobile |
INC-144311 | 601110 | Updates for nested "Append And Map To" | Nested actions "Append And Map To" in Data Transforms were producing incorrect results when offline. This was traced to all operations being performed on the Page List which was on first level of nesting, which was caused by changing the Data Transform into JavaScript form for offline use. The JavaScript form of DataTransform uses variable the "targetListObj" to represent the Page List, and this same name was reused regardless of the "Append And Map To" nesting. An additional problem was seen with the "Update Page" Data Transform action when used with conjunction with a nested "Append And Map To" action: the action assumes that top level Pages exists, but "Update Page" did not create them. This caused the "Append And Map To" action to fail. To resolve this, the "Append And Map To" action will use suffixed variable names to reference nested PageLists, and "Update Page" will create the Page if it doesn't exist. | Mobile |
INC-144566 | 600858 | User lookup list correctly populated when using # tag | When typing '#ANewTag @' in Pulse, the user lookup list was not shown. Using '#ExistingTag @' worked as expected. This was a missed use case in work done to improve the performance of pzJquerymentionsInput by restricting REST calls, and has been resolved. | Mobile |
INC-144948 | 602276 | Resolved JBoss memory leak | JBoss logs indicated connection leaks. This has been resolved by limiting the scope of instance of ActionProvider, DataSyncRequestParser to a try-with-resources block which ensures that all resources are released. | Mobile |
INC-146114 | 604414 | Create Survey routes case correctly | The Create Survey utility was not routing the case to the user who initiated the case, but instead was routing it to the user who checked-in the case. This was traced to an error related to pxRequestor.pxUserIdentifier in the data transform pzpopulate survey params which is called when the survey utility is used, and has been corrected. | Mobile |
INC-146676 | 601943 | Field Service app localizations updated | Localization has been added to the 'getDirections' alert and other popup alerts in the Field Service app. | Mobile |
INC-148392 | 610669 | File type handling added for cloud downloads on mobile app | When using the Pega cloud storage repository (Application -> Integration -> Content Storage) with the mobile app, it was possible to upload attachments but re-downloading the attachments failed. Investigation showed that this was due to the content-type appearing as application/* so the file type was not able to be identified. This was a missed use-case for returnFileForDownload(), and has been resolved. | Mobile |
INC-148657 | 607572 | Check added for invalid operatorID set by autopopulate | When an SLA rule attached email reminders, the Link-Attachment table saved the creating operator as System. Upon opening the case perform in Cosmos, all attachments were shown in the utility area and the system tried to show the user name using the pyUserDetails linked property, causing the assignment system to generate a "System is not valid operator" error and the case open failed. To resolve this, the system has been updated to avoid setting the error message on Datapage if an invalid operatorid is passed. | Mobile |
INC-150578 | 607479 | rich text editor control handling updated for survey display text | After upgrade, Display text in the survey was missing for the question rules which used Rich Text Editor control. This has been resolved by updating the system to copy DisplayText and QuestionText into DisplayTextWrapper. | Mobile |
INC-151446 | 614446 | #resolvedissues note: HTML tags removed for Survey Question tooltips |
After upgrade from Pega 7.1 to Pega 8.4, question rules with rich text along with styles and answer mode as dropdown were not loading in the survey UI and the error " Exception Occurred in Rule-HTML-Section for question QuestionName" was generated. This was traced to the use of HTML tags in the "pytooltip" property. To resolve this, HTML tags will be removed using a regex and the property will be correctly handled from there. | Mobile |
INC-151998 | 616319 | Offline mobile RDL attach updated | It was not possible to attach any file using the attach content control while the mobile app was configured as offline and property reference was used for the file name in the attachment control. No issues were seen if a static file name was used. This has been resolved by updating the RDL Attach content handling. | Mobile |
INC-153133 | 612727 | Updated encryption and decryption handling for non-auto control | After encrypting the pyMessage from PegaSocial-Message, the message was displayed in Pulse in the encrypted form. This was caused by a difference in handling between auto and non-auto controls, where the decryption was only handled automatically in the auto controls. To resolve this, explicit encryption and decryption handling has been added to the non-auto control. | Mobile |
INC-153423 | 615666 | Timing update for Signature Capture Control | A signature could be lost when using the signature capture control if a signature was drawn then the Accept and Submit links were clicked in quick succession. The problem occurred more frequently (although was not limited to) when there were multiple signature capture controls on the screen. This issue was due to transaction mismatch error for few pzAttachSignatureWrapper requests (signature post requests) caused by triggering the next accept request before completing the previous accept request. To resolve this, an update has been made to display busy indicator immediately when the first accept button is clicked. | Mobile |
INC-154290 | 613471 | Signature capture exception resolved | The signature capture control was throwing a JSON parse exception when the value was set and section was refreshed. This was caused by the signature for PIMC passing incorrect data which Preview could not parse, and has been resolved by ensuring the correct data for PIMC local store. | Mobile |
INC-154495 | 613700 | Null check added to DT set action | Attempting to open row item details in a repeating dynamic layout in which a data transform was called on click action resulted in the error "Failed to run data transform error ". This has been resolved by adding a null check in Set action. | Mobile |
INC-155214 | 617007 | GetBinaryFilesRef updated for resolving wildcard | After upgrading from Pega 8.2 to Pega 8.4, errors related to "Unable to serve file java.lang.IllegalArgumentException: Illegal characters detected in the path" appeared numerous times during full syncs, either on first time login or after cache clear. This was traced to normalizeRelativePath failing, and was caused by a resource declaration in pzGetBinaryFilesRef that encountered an issue where wilcarded URLs were not automatically resolved while packaging Static resources. This has been resolved. | Mobile |
INC-156211 | 620192 | Verbose comments removed from wrapper | Comments with references to external links have been removed from some harness wrappers. | Mobile |
INC-136091 INC-142632 INC-143134 INC-152217 |
598908 598170 598580 613928 |
Activity updated for Mobile attachment access | Preview and download were not working for attachments stored in Pega Cloud Storage repository for mobile devices. Attempting to open an email attachment to preview or download resulted in a console error and the tracer showed the message 'Class pxLinkedRefTo does not exist'. This has been resolved by updating "pzpega_control_attachutil" to use the activity "GetAttachmentReference" for interactions with the attachments from any storage type. | Mobile |
INC-143961 INC-144970 |
607609 604954 |
Tags correctly displaying after Pega 8 Upgrade | The context class for Tags was consistently picking up from the Access group but not consistently from the work class. This caused previously created tags in Pega 7 to not show up in Pega 8, and tags created through the Case Management->Social->Tag configuration were not showing up for user details. This was traced to several differences in the logic between the versions, and updates have been made to resolve this. | Mobile |
INC-150249 INC-155971 |
609023 616031 |
Handling added for missing data transform in offline mode | A "data synchronization failed" error appeared when trying to login to a Mobile App that had offline mode enabled. The login worked when offline mode was not enabled. Investigation showed that when the pyDataTransformWhitelistForOffline application rule contained an entry for a data transform that did not exist, DataTransformPackager.canProcess() was throwing a null pointer error trying to access it. This has been resolved by adding a null check. | Mobile |
Project Delivery
There were no Resolved Issues for Project Delivery in 8.4.4
Reporting
8.4.4 Resolved Issues for Reporting
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-127102 | 602699 | Synchronized BatchStatus email available for multi-node | An enhancement has been added which will handle synchronization between BatchStatus used in different events on different nodes and send email notifications. | Reporting |
INC-133482 | 605004 | Corrected isExternal flag not resetting | If an extraction referred to external tables, an isExternal flag that was set to true during the Extraction process did not get reset to false for the tables which were not referring to external. This has been corrected. | Reporting |
INC-140110 | 600400 | Large filter values accepted in Report Definition edit | Report definition edit filter values were not accepting large comma separated values properly. This has been resolved by modifying the logic in RRFilters_Logic to use ReportFilter.getReportFilters. | Reporting |
INC-143191 | 596467 | Scheduled tasks landing page shows all tasks | Due to pzGetScheduledTasks listview having a hardcoded limitation of 500 records to be fetched, not all scheduled tasks were being shown in the scheduled tasks landing page. This has been resolved by modifying the pyCreateSummary activity to use a newly created Report Definition to fetch data instead of list view. | Reporting |
INC-144756 | 602725 | Security improved for searches | Authentication requirements have been added to activities associated with searching. | Reporting |
INC-145810 | 599466 | BIX log shows correct corrupted BLOB pzInskey | An update has ben made to ensure the correct inskey is shown in the BIX logs for a corrupted BLOB. | Reporting |
INC-147166 | 601801 | AvailableProperties cleanup added after save | The Report filter value auto-complete was displaying an incorrect list of values. This was traced to pyAvailableProperties not being cleaned up after being created and used in a prior process, and has been resolved by ensuring pyAvailableProperties is removed on save so it can be cleanly built when needed. | Reporting |
INC-147643 | 605388 | Corrected filtering logic for Report Definition with declarative join | When using a report definition with declarative join enabled, running the report produced the correct results, but filtering on any other column resulted in all values being shown. This has been resolved by modifying the logic used for pzGetGridColUniqueValues. | Reporting |
INC-147856 | 607134 | Description input for new reports restricted to 64 characters | After saving a report with a description containing more than 64 characters, trying to delete the same report generated error messages saying the report description exceeds 64 characters. There was no maximum character limit set on the description input when creating/editing/save as a report. The delete modal shows any page-level warnings, so the guard rail warnings show up at that time. This has been resolved by disallowing the creation of a description greater than 64 characters in length. | Reporting |
INC-149143 | 613141 | Report category error messages made accessible | In order to improve accessibility while creating new reports, labels have been added to the error messages on the category name field. | Reporting |
INC-150193 | 613914 | Corrected page counts for 'save-as' reports | The total pages count and last page icon were not displaying when the Preview button was clicked after a save-as of a report in the Report Browser. Investigation tracked this to a visible when condition on those fields that was being changed to the default of false during the save-as, and this has been resolved. | Reporting |
INC-151568 | 610221 | Handling added for comma value in FusionCharts XML | After creating a Summary Report through the report browser and adding that report to the Dashboard, clicking on the report to drill down generated the error "Can't open the rule with the specified keys". Investigation showed that if a category or series in a Report Definition chart contained a comma, the drilldown would not work because of an incorrect pyclassname being passed. This was traced to the use of XML to configure the chart: the FusionCharts third-party library parses the link XML incorrectly and splits JS arguments at any comma. This was a missed use case for having a comma in the name, and has been resolved by adding encoding for the comma value in pzMultiSeriesData FusionCharts XML rule. Then this will be decoded in the drilldown JS APIs pzPega_chart_legacydrilldown and pega_report_summary. | Reporting |
INC-152800 | 611749 | Reports filtering made accessible | In order to ensure accessibility, titles and helper texts have been added to the text fields and checkboxes that appear in the Edit Filter non-modal window after a 'Filtered By' value is selected on the My Reports page. | Reporting |
INC-153692 | 620243 | Added accessibility to Report view context menu | When on the My Reports screen and a Summary report is selected, the Report Viewer displays a Summarized Reports table with a column header that opens a command menu upon right-click of the mouse. This functionality is enabled in the Report Definition rule by selecting the checkbox Enable column command menu under the Report Viewer tab. Although keyboard users can open the menu via Shift+F10, keyboard users who cannot see the screen were not informed that this functionality is available as the screen reader did not announce this. This has been resolved. | Reporting |
INC-144103 INC-147621 |
599682 604284 |
Updated filter logic for filtering on a DateTime column | When a class join was used in a report definition, the error "The Filter Logic used in the report is invalid" appeared while filtering rows of a report definition results on a DateTime column. This was a missed use case, and has been resolved by modifying pzGridSortPaginate to convert the data type value into the proper casing. | Reporting |
Security
8.4.4 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-140224 | 604006 | Corrected SAML SSO error | After opening a case from the Pega-FCM portal or after logging in from SSO, closing the Pega window and opening it again resulted in the error "Unable to process the SAML WebSSO request : Violation of PRIMARY KEY constraint %27pr_data_saml_requestor_PK%27. Cannot insert duplicate key in object". This was a missed use case that happens only under the old SAML configuration, and has been resolved by removing a when condition that checks for stepstatus fail for the pySAMLwebSSOAuthentication activity. | Security |
INC-141595 | 602715 | CSRF and Browser fingerprint tokens added for testing custom scripts | After upgrade, the test window appeared blank when attempting to test Decision Table rules. This was traced to there not being CSRF token and Browser fingerprint handling in the custom script used to show a prompt screen to the user. Because the CSRF token validation was missing, the request failed. To resolve this, CSRF and Browser fingerprint tokens have been added as hidden fields. | Security |
INC-141940 | 601543 | Revoke Access Token check removed from OAuth Client Registration | When client credentials were implemented, the OAuth 2.0 Client Registration form was designed such that once the instance was created and a token issued, the access tokens were deleted on save. Process changes now indicate that it should be possible to save the form because it may only have History Description/Usage changes made to it and Revoke Token and Regenerate Secret buttons are already available. To address this, the Revoke Access Token check has been removed from the validate activity of Client Registration. | Security |
INC-144591 | 601611 | Oauth and beanutils jars upgraded | The third party Oauth2 jars and commons-beanutils jar have been updated to the latest versions. | Security |
INC-144597 | 598307 | Updated handling for MT query of pr_data_admin table | When using a multi-tenant environment with Oracle, as the number of users in the environment increased, the number of queries of the pr_data_admin table "WHERE pyEnableAuthService" increased exponentially and causes system slowness. This was traced to missed handling for the @ character in the authentication service cache while requesting, and has been resolved by updating authservicecache.java. | Security |
INC-145033 | 599482 | ForgotPassword responses made consistent | To prevent possible exposure of valid usernames, the ForgotPassword logic has been updated so that it will show the same messages and set of screens to both valid and invalid users if a lost password request is made. | Security |
INC-146434 | 602740 | Accessibility added to Security Event Configuration headers | Labels for the headers in the Security Event Configuration screen have been converted to dynamic layout headers so they will be detected by JAWS screen reader. | Security |
INC-154627 | 619570 | Re-enabled users are able to log in | When disabled operators were re-enabled through operator management, the forced password change on next login was manually unchecked but the operators were unable to login because the change password screen was displayed without any password entry fields. This was a missed use case for handling the change password flag on a requestor , and has been resolved by having the system skip setting the change password on next login flag for disabled users. | Security |
INC-137874 INC-146921 |
599131 601638 |
Cross-site scripting update for Dev Studio | Cross Site Scripting (XSS) protections have been added to Developer Studio. | Security |
System Administration
8.4.4 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-140279 | 597756 | JMX logging added to upgrade diagnostics | In order to improve diagnostic information, infoForced loggers have been added for debugging upgrade issues related to JMX calls to enable and disable rules creation. | System Administration |
INC-144555 | 603071 | Changelog cleanup added for de-optimized properties | Unwanted optimization was automatically added to properties for the Application-Work-Casetype class created using the wizard in the App Studio. Attempts to remove the optimization did not work: the property advance tab was showing the optimized classes details even after deleting and recreating the property. When a property is optimized the system adds entries to pr_changelog for the list of classes it has optimized. When the property was deleted, the pr_changelog was not cleared. This was a missed usecase, and has been resolved by overriding the Cleanup activity at Rule-Obj-Property class to delete the pr_changelog entry associated with that if it is present. | System Administration |
INC-144869 | 606617 | Improved ScalarPropertiesWriter logging | In order to improve diagnostics, debug loggers have been added to ScalarPropertiesWriter.java to print column name in the logs while creating map between column names and their values from clipboard page. | System Administration |
INC-146595 | 604791 | Initialized entryName for light weight inventory instance | When running deployment on a new pipeline created for the next minor version, once the deployment process got to the point of showing aged updates, the “view aged updates” came back as blank screen. Viewing the logs showed the aged update elements come back but were missing the pyName associated with them. Investigation showed that the system did not have support for setting the mEntryName for LightweightInventoryInstance objects. This has been resolved by adding a junit to ensure that getEntryName() doesn't return as null and should be equal to pzInsKey. | System Administration |
INC-148154 | 602922 | Hot Fix Manager updated to use installation order for schema import | Schema changes were not being imported during the hot fix manager DL import process. Investigation showed this was due to hotfixes in the DL being iterated over from newest to oldest, causing older hotfixes to replace the value added to a map by the newer. To resolve this, the system has been updated to use hotfix install order, which considers selected and dependent hotfixes, rather than ordering newest to oldest. This ensures that newer table representations will override older rather than the other way around. | System Administration |
User Experience
8.4.4 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-132500 | 602634 | Updated class name resolution for runtime with after-screen render load | Rule Resolution was not working as expected with the dropdown property “.ErrorType”, if the load behavior was configured as “After screen renders”. This was traced to the Class name resolution not happening at runtime, and has been resolved by moving the code related to class names to runtime. | User Experience |
INC-133951 | 584147 | Try catch added for templated refresh when | After configuring a refresh when condition on a dynamic layout triggered by changes on D_worklist.pxResults, a component stack mismatch error was generated if client side UI template is enabled. Without templatization it worked as expected. This has been resolved by adding a try catch block to DynamicLayoutGenerator.java. | User Experience |
INC-136188 | 604864 | Icon focus indication made more consistent | The focus on some main icons across the header in Designer Studio was inconsistent when tabbing through the header. Some icons showed a dotted border, for others the icon opacity changed on focus, and others had no focus style at all. An update has been made to ensure consistent dotted outlines on all header and footer icons on focus. The dotted outlines have also been added for all tabs on the application landing page for Dev Studio for icons such as the delete/ gear on all Repeating Dynamic Layout rows. | User Experience |
INC-137100 | 604060 | Added predictive text handler for Japanese on iOS | The autocomplete function was not working well in MobileView when using Japanese IME on iOS. This has been resolved by adding a new input handler for IOS mobile, which will be triggered when predictive text is selected in mobile. | User Experience |
INC-137757 | 600491 | Primary page setting updated for micro DC container | In Cosmos, a "Cannot Render Section" error displayed on submit of modal dialogue. This was caused by a primary page calculation error for the micro DC container, and has been corrected. | User Experience |
INC-137875 | 608104 | Update for special characters in operator name | Handling has been added for encoding an operator full name field which contains special characters. | User Experience |
INC-137915 | 604618 | App Studio compliance tool shows category results | After upgrade, results were not displayed categorically while running the app studio compliance tool: only the number of total issues was available. Investigation showed that pzLPApplicationGuardRailsInnerTable was not resolved correctly, and since there was no object class defaulted there was an issue in creating the results in the correct class. This has been resolved. | User Experience |
INC-137966 | 597738 | Embed-ReportFilter supports pyDateproperties | After creating a report definition with Date time filter values where the 'from' date and 'to' date are input and propagated as “pyStartDateTime” and “pyEndDateTime” in the clipboard, opening the pyDate properties from clipboard resulted in a 'rule not found' exception. No properties of other data types generated the error. This has been resolved by creating the pyStartDateTime,pyEndDateTime and pyDisplayTimeperiod properties in Embed-ReportFilter to support this use. | User Experience |
INC-139054 | 598151 | PD4ML library updated | When generating a PDF, lines were broken up for the content boxes. This was an issue with the included version of PD4ML, and has been resolved by updating the version from 4.0.6 to 4.0.9fx1. | User Experience |
INC-139086 | 597144 | "Show next error" correctly displayed on user portal | In the Case Worker user portal, the Show Next Error link was not shown when the layout group had a validate rule in the flow action. The same configuration worked as expected in Case Manager. This was a missed use case, and has been resolved. | User Experience |
INC-139966 | 606844 | JAWS announces popup error message | When a form is submitted without giving value to required field, a browser pop up appears. The expected behavior is that the screen reader (JAWS) should move the focus to the field that has error and read the error message However, JAWS was not announcing the error "Value cannot be blank". This was traced to a scenario where if pega.u.d.fieldErrorType === "ERRORTEXT" is true, the class on the span within the error div will be set to "inputSpans", and this resulted in the return of an empty array for document.querySelectorAll("span.iconError.dynamic-icon-error"). To resolve this, support has been added for the "inputSpans" class. | User Experience |
INC-141302 | 614993 | UI automation script documentation update | To provide a more consistent experience, explanatory comments in the code for UI automation scripts have been removed. Please refer to online documentation for instructions on using these functions. | User Experience |
INC-141387 | 612826 | Autocomplete/autopopulate in table works properly with keyboard | When two autocompletes in a table (two separate columns) were sourced by different properties within the same data-page, clicking to select a “reason-code” in the first autocomplete column correctly populated the corresponding “reason description” in the second column autocomplete. However, when using configured keyboard presses on the auto complete with post value and data transform actions (enter-key, tab-key, and on change), selecting from the auto-complete list and pressing enter or tab to select the item populated the second column as expected but the first column auto-complete showed the selected code for a moment and then was cleared. This as traced to the associated property set value executing after all associated properties setvalue actions were completed, and has been resolved. | User Experience |
INC-141451 | 601141 | Radio button helper text is localized | The localized value from content was not being served for helper text in a radio button group. This has been resolved by adding the necessary localization support to the button template. | User Experience |
INC-142066 | 600046 | Dirty confirmation alert added for standalone Ajax container | In the Pega CS interaction portal, an interaction could be launched to create a service in the Ajax container. If the same service was opened from the search results or the worklist, however, it was not prompted with the dirty popup message to save or discard the changes. This was a missed use case for a standalone Ajax Container, and has been resolved by adding a check to evaluate whether the document has an Ajax Container so the proper dirty state handling will be called. | User Experience |
INC-142214 | 601790 | Null Checks added for Null Dereference | Null checks have been added to CSSAsJson and to the activeValue variable, which is used for the checked attribute generation. | User Experience |
INC-142564 | 598698 | Resolved issue with opening case in review mode | After upgrade, using the Open in Review button from the Dashboard to view a case that the user did not have work entitlements on opened the case as expected, but the screen then immediately refreshed and redirected to the home screen. This was traced to the button configuration having an incorrect action set, with cancel action and then OpenWorkByHandle, and h as been resolved by updating the open in review button to remove the cancel action. | User Experience |
INC-143310 | 601206 | Added scrolling for fixed size modal with buttons offscreen | After upgrade, the modal format "Large Fixed" for the Modal Dialog in a local action was not working as expected when the screen was reduced in size. It as not possible to scroll down the modal dialog, and the "cancel" and "submit" buttons were no longer available. In standard modal, the cancel and submit buttons are always shown in the view port. When the modal is fixed format, the width and height of the modal are set to a fixed size. In that case, if the window is resized it is not possible to navigate to cancel and submit buttons that are offscreen. To resolve this, scroll has been added to allow accessing the cancel and submit buttons in case of fixed size modal that does not fit the window. | User Experience |
INC-143363 | 604365 | Added handling for maintaining on-change event descriptor | The multiselect control was not reliably posting the values to the configured page list property if the change actions were performed very quickly. Multiselect calls triggerCustomEvents, which handles the schedule for an event: when change actions are entered in a paced way they are not added to a queue, but when performing on-change very fast events are added to a queue and processed later. In this case, the queuing caused the correct event descriptor to be lost because the original event flows were not followed. This has been resolved by adding custom handling which will maintain the event descriptor. | User Experience |
INC-143531 | 598645 | Dirty Flag reset updated | After opening a case in Cosmos, making updates, and then navigating away without saving, the dirty flag message appeared as expected and offered the option to save, discard, or cancel. After clicking on save and opening the next case, performing the same steps did not cause the dirty flag to display when navigating away. This has been resolved by updating the reset of the isDirtyDialogOpen inside the hide API of a modal close. | User Experience |
INC-143599 | 598772 | Non-template RDL time value handling updated | The Time value displayed on clipboard and data designer differed from the value shown on user work form when using a categorized repeating dynamic layer rendered in non-template mode with the Datetime control configured inside the RDL. This was traced to the Time string being considered as a date when using this configuration and calling the engine API, and has been resolved by ensuring this configuration will call the correct Time API instead so that the timeofday property value will be formatted correctly. | User Experience |
INC-144301 | 604408 | Revised character escaping for Tooltip | Hover text/Tooltip on the Collapsible layout was showing the content in ASCII format if the input string contained special characters like "&" (which was getting printed as "&"). This has been resolved by unescaping the title string and letting handlebars do the work of escaping it. | User Experience |
INC-144399 | 599716 | Custom dropdown controls updated for classnames | After upgrade, a customized format for Dropdowns was not picked up. This was due to recent changes made to Class name attributes to ensure they are populated for all controls, and was caused by the CSS selector not picking the necessary DOM element. This has been resolved. | User Experience |
INC-144462 | 601370 | Added logoff check for requestors | After upgrade, the error "java.lang.InterruptedException. Requester has been destroyed" was appearing in the logs. Investigation showed this was related to unregister requests being submitted after logoff, and has been resolved by updating the system to check for logout before sending unregister requests. | User Experience |
INC-144522 | 612322 | Portal primarythread copied to workprocessing thread to establish proper class | Attempting to add a new item/row in a table configured in a modal dialog in the home page of the Cosmos portal was not working, and the error "Section 'TestSection' execution error on page 'pyWorkPage' of class 'CosmosApp-Work-TestCaseType'. : For input string: "" appeared. This was a missed use case for pyPortalHarness, and was caused by the primarypage not getting copied to the workprocessing thread which led to some actions failing as classless. This has been resolved. | User Experience |
INC-144543 | 600086 | Keyboard accessibility added to Cosmos buttons | Focus states were missing on the standard and icon buttons in Cosmos. These have been added to facilitate keyboard navigation. | User Experience |
INC-144572 | 600758 | Corrected mobile tab layout highlighting | When switching between three tabs in a layout group (Other – Mobile Tabs) in a section, the highlight was appearing on the active tab and the inactive tabs. This has been resolved by updating the CSS generation to not consider hover styles for touchable devices. | User Experience |
INC-144709 | 608797 | Removed unnecessary decoding from GetDropdownOptions | When using a dropdown sourced by a data page with parameters in the section, passing multiple values as the parameters of the data page resulted in the error "pzGetDropdownOptions:Invalid JSON Stream for data page params" and the parameter values were not resolving at runtime. This was traced to unnecessary decoding in the process, and has been resolved. | User Experience |
INC-144851 | 604482 | Date Time picker works with locale es_US | When an Operator had the locale es_US (Spanish) set on the Profile, the Date Picker on the application was throwing validation errors when a date or time was chosen from the out-of-the-box Date Time Control. Investigation showed the date-time format for locale es_US was not supported, and the getDateTimeFormat API has been updated to support this format (11:00 a.m.). | User Experience |
INC-144888 | 603618 | Custom rich text editor plugin support updated | At runtime, two rich text editors were used in the same harness under two different sections, one regular and one hidden till clicked. A custom plugin was implemented for rich text editor at the harness level. After upgrade, the custom plugin was not getting displayed in the hidden rich text editor. Investigation showed that if plugins were added to pega.ctx.customrich text editorPlugins, then the plugin manager discarded plugins from pega.u.d.customrich text editorPlugins. To resolve this, the rich text editor plugin manager has been modified to merge the plugins from pega.ctx.customrich text editorPlugins and pega.u.d.customrich text editorPlugins. | User Experience |
INC-144924 | 614769 | System improvements related to ActiveDocumentType | Alerts were seen for unexpected properties in HTTP requests related to pyActiveDocumentType, and system slowness was seen when the request was trying to update the properties. This was traced to a condition where a page remove cleared property registration, and has been resolved. | User Experience |
INC-145119 | 601713 | Client side validation works with Reference page property | A reference page property in a 'when' rule was not evaluating properly for checking a Date field when client side validation or Client side template UI was checked on the Harness level. This was traced to pyRequired being boolean: the boolean being compared to a string false value yielded a wrong comparison, leading to the wrong validation type required. To resolve this, the system will use the === comparator to compare boolean false in datetime to remove the required validator. | User Experience |
INC-145263 | 600037 | Query logic modified for Anypicker | A search for results in the Anypicker control for the first time showed the results, but if the results were deleted and the search run again without focusing out from that field, no results were found for the second search. This has been resolved by using slice than splice in the query to avoid mutating the original array source. | User Experience |
INC-145535 | 600787 | Corrected layout group overlapping content | When an editable Table with Master Detail Edit has a section that contains a Layout group (Tab) inside the Master Detail Flow Action, if there are more layout group headings than that can be contained in the screen, a left and right arrow are displayed to toggle between headings in the layout group heading bar. However, timing issues sometimes caused the contents of the layout group to overlap on top of the content below the layout group and the screen was freezing with a loading icon. This was traced to console errors, and has been resolved by adding an 'undefined' check to prevent those errors. | User Experience |
INC-145939 | 606898 | Updated handling for ID value change during REST connection creation | When using the REST Connector Wizard to create a connector, if the ID was changed on the 4th (last) step of the Wizard and then the Create button was pressed, the screen would freeze and a display a javascript error. Investigation showed that when the ID was changed on the screen, the new value was not updated properly and subsequent function calls threw errors. This has been resolved. | User Experience |
INC-146223 | 604467 | Date column filter shows correct date/time for optimized code | Two issues were seen when filtering a table that had the "Optimize Code" checkbox checked: 1) While filtering the date values in the table, the table showed one day less than the actual date based on timezone differences. When both the operator and server timezones are the same, the issue did not occur. 2) The filter always showed the time value as 00.00 irrespective of the property timestamp value. These were traced to the pyModes being incorrect for embedded properties, which has been resolved. | User Experience |
INC-146237 | 608743 | Corrected popover scroll for AnyPicker | Using the AnyPicker control caused display problems. In the initial display of the selection list, the line of choices and the search field overlapped and they were displayed from the second line of choices which forced the user to scroll up to see the first line. After displaying the selection list, clicking outside the selection list without selecting anything to close the list and then displaying the selection again caused the options to be displayed from the 4th line, requiring a scroll up to see lines 1 to 3. This has been resolved to ensure the Scroll on Popover goes to the first element. | User Experience |
INC-146396 | 608826 | Upgraded pd4ml library to support Hindi text | Some Hindi letters were not displayed properly in PDF . This was caused by Hindi text being only partially supported with earlier versions of the pd4ml library. It is now fully supported with the 4.0.9fx3 version, and the system has been upgraded to 4.0.9fx3 jar for better rendering of Hindi characters. | User Experience |
INC-146429 | 602292 | Disabled control status made accessible to JAWS | When using the Security Event Configuration page (tab) within Pega Dev Studio, the link elements used for 'Select All', 'Clear', 'ON' and 'OFF' were not providing the current State of the element to JAWS. In template rendering of Link control with a 'disable when' condition (server-side evaluation), when the control is disabled it was still accessible and screen readers were not reading the link as disabled. This has been resolved by adding tabindex="-1" and aria-disabled="true" for disabled Link control. | User Experience |
INC-146572 | 603296 | iniGadgets updated to support jQuery with Mashup | Mashup gadgets were not loaded during browser refresh when the host page had a jQuery in it. This issue occurred while trying to find the gadget divs. There is an 'if' condition to check if $ is available in initGadgets method. In this scenario, this 'if' block was getting executed and mashup gadget divs were returned as empty. As a result. mashup was not getting loaded. This has been resolved by updating the iniGadgets method to check for jQuery instead of $. | User Experience |
INC-147757 | 620010 | RecordFieldValuesList page cleared | Investigation of web node crashes traced the issue to a condition where the RecordFieldValuesList page was not cleared. This has been resolved. | User Experience |
INC-148115 | 605423 | Autocomplete results list position scrolls inside a table | Given a row editable table with a fixed height and freeze grid header, when autocomplete was included in a row of a table and the down-arrow was pressed to get the list of options in dropdown, this drop-down popup was not moving along with the row during scrolling. This was due to scroll handler not being triggered for popover when inside a hierarchical table, and has been resolved. | User Experience |
INC-148237 | 605848 | Autocomplete markup handles control format style names with spaces | After creating the format 'Standard Gray Background' in the skin rule to change the back-ground color for an auto_complete field and using it in a presentation tab for Control-format input, the field was not updated with the background color as expected. This was due to the Autocomplete control only replacing the first space in the control format name with underscore ( _ ), causing the formatting to not be accepted. While there was a workaround of providing a name without spaces or using a name with only a single space, this has now been resolved by modifying the autocomplete markup generation so all the spaces in a control format style name are replaced instead of only the first space. | User Experience |
INC-148375 | 607798 | "Today" will set date-time in the respective operator timezone | When a Date was entered using the "Today" option in Datetime control, the Date set used the system date and Time was taken from Timezone specified for the operator. This created issues for a scenario such as operator being set to America/New_York/ EST while the application was accessed in another country such as India or Japan. This was a missed use case and has been resolved by adding code to get the date-time in the respective operator timezone and setting it on click of date-time controls. | User Experience |
INC-148552 | 607369 | Added ability to disable dirty form browser alerts | In order to add support for those who do not want to see a browser alert pop-up when cancelling a work item after making changes but do want the out-of-the-box Dirty popup to be displayed, an update has been made to add a configurable flag. If pega.u.d.bUseNativeDirtyConfirm is set to false, only Pega dirty dialogs will be shown. Setting it to true will show the Pega dirty dialog or else the browser dirty dialog for an event object. | User Experience |
INC-150188 | 608937 | Added API to ensure correct desktop window is found for test cases | In Dev Studio scenario-based testing, Test Suite and Test Case were not able to execute the "Complete Task" button on review screen and the "Submit" button on Case screen. This was traced to the desktop window not being correctly found due to recent changes in the way the App studio and Dev studio are rendered in the iframe, and has been resolved by adding the API 'getSTPortalWindow' in pega_desktop_support to identify the correct window. | User Experience |
INC-150188 | 613653 | Dirty dialog flag reset added for custom modals | When a discard button in a custom Cosmos modal dirty dialog was clicked, pega.u.d.isDirtyDialogOpen was not reset to false. This caused the modal dialog to not be shown the next time. This has been resolved by modifying pzpega_ui_doc_dirtyhandling to support this dirty handling discard use case. | User Experience |
INC-150222 | 612576 | Custom client-side future date validation works on mobile | After developing a custom client side validation based on documented examples that used jquery to locate two input fields (date pickers) and added an on-change function, the validation worked as expected on the desktop but gave a validation error for any future date when using the mobile app or browser. This was an issue with the name attribute handling on mobile, and has been resolved. | User Experience |
INC-150472 | 607394 | Sorting works after selecting a view on GRID | After configuring an optimized table with personalized view, saving a view and toggling to the new view, the sorting on the grid did not work anymore. Returning to the default view did not fix the problem, but sorting was reenabled after a browser refresh. This was traced to duplicate removeinstance calls of the grid which deleted the click event listeners for sort, and has been resolved. | User Experience |
INC-150872 | 613079 | JAWS reads the tab name and the close icon details seperately | By default, all currently opened Work Objects Close icons have the label "Close Tab", but when moving across tabs while using the JAWS screen reader, reaching a work object tab caused JAWS to read the entire tab header as "S-123 close tab". In order to improve accessibility, aria-labels will be added while setting label to the tab so the header and close icon will be read separately. | User Experience |
INC-150875 | 610717 | Date field filtering changes maintained after logoff/login | After hiding some date/time columns and logging off, when logging in again the filter overlay on the date/time columns were displayed differently. Initially the filter values were shown with the check boxes and a 'Choose Date' range drop down, but after the logoff and login search text was shown instead of the choose date range drop down. Investigation showed that the Datatype was not being captured correctly as part of ConstructGridHeaderMetaData function in GridUtilities.java file, which affected Date, DateTime, Integer & Decimal. This has been corrected. | User Experience |
INC-151050 | 610678 | Added check for empty string to custom Timeline Date Range | When using the Timeline control and selecting Date Range as a custom value, the loading icon (busy indicator) showed continuously on the screen and no other operations were possible. Selecting any Date Range other than the custom field value worked as expected. Investigation showed that the Timeline control was not working when the Date Range value was empty, which in this case was traced to a value being entered at design time and then cleared. In timeline options, the Date Range end option was checking for the value being undefined and did not consider the empty string (""); this has been resolved by adding a condition to check if the Date Range option end is an empty string. | User Experience |
INC-151401 | 615716 | Context set for progressive scroll load of dynamic layout | When setting pagination as 'Progressively load on scroll' for a repeating dynamic layout in a section with pagelist as the source, scrolling resulted in a null pointer exception and no further scrolling was possible. The issue was not seen when 'Progressively scroll on user action' was used. Investigation showed the activity Reload Section was failing because of the failure in the pre-processing activity, and this has been resolved by setting the correct context before making the pagination call. | User Experience |
INC-151716 | 618440 | Resolved Screenflow overflow | Screenflow bread crumbs were overflowing out of the action area when more than 10 assignments were configured. An error in the console indicated the navigation.navigate function was not defined. This behavior was observed in general when a screenflow was called from another screenflow and 'enable navigation links' was set on all assignments in the screenflows, and the issue has been resolved by updating the implementation. |
User Experience |
INC-151858 | 610351 | Updated currency decimal precision | Hungarian and Taiwanese currencies were previously hardcoded to use zero decimal precision. In order to be compliant with the current ISO-4217 standards, these currencies have been updated to be precise to two decimal places. | User Experience |
INC-152084 | 620951 | Handling added for cross-origin DOM exceptions | When an openURLWindow action was used to open any other domain, DOM exceptions were generated related to cross-origin iFrames communication and the UI became unresponsive. This has been resolved. | User Experience |
INC-152171 | 610974 | Unused query parameter cleaned up from harness | Recent testing showed a legacy 'encodedPassword=true' query parameter lingering after changes were made to convert harness actions. Although there was no security implication as no sensitive information was being sent, this unused query has been removed. | User Experience |
INC-152340 | 610910 | Scrollbar consistent on switching between grids in tabs | On switching between two grid tabs configured in a layout group of tabs, the scrollbars intermittently disappeared or doubled. This was traced to the initscrollbars function being called multiple times and adding hScrolldiv and vScrolldiv each time. To resolve this, the logic has been updated to recalculate the position style. | User Experience |
INC-153025 | 614693 | Updated table field Minimum Character validation | The Minimum Character validation for the Table field was not working due to minchars and validationtype attributes not being populated in the markup. This has been corrected. | User Experience |
INC-153108 | 614358 | Added check to maintain disabled textarea 'when' | The disabled text field became editable when the "Run required condition on client" checkbox was enabled. This has been resolved by adding a check for pyDisabled property to get the correct status for textarea control. | User Experience |
INC-153152 | 613685 | Privilege on table cells updated for non-template mode | When using a table sourced from a report definition where certain cells were hidden or shown based on privilege, the configuration worked as expected in regular tables but did not work correctly for optimized tables. This was traced to an issue with image control rendering in non-template mode related to privileges for the image, and has been resolved by updating the pzgenerateicon Rule-Utility-Function. | User Experience |
INC-153415 | 616711 | On click outside grid record will be saved | When a record was added by copying a previous record, the new record was not saved if there was a click outside the grid. This has been resolved. | User Experience |
INC-153537 | 614847 | Corrected popup placement for Microsoft Edge browser | Autocomplete, date control and SmartInfo pop-ups were not displayed correctly when using the Edge browser. This was due to Javascript behavior differences with that browser, and has been resolved by updating the system to ignore the scrolltop if browser is Microsoft Edge. | User Experience |
INC-153721 | 613661 | Visual natural labels exposed to JAWS in REST wizard | Get/Post/Put/Patch/Delete checkboxes were not properly read by the REST Integration Wizard when when tabbing through the checkboxes with JAWS enabled. When tabbing to each, “Tab – Select this method if it is supported at the endpoint” was read for each checkbox, and no information was given regarding what method each checkbox was for. When any helper text is configured, an aria-label attribute with helpertext message is generated. This aria-label will override any other native labeling mechanism (label - id mechanism), which is this case caused the control label to not be announced. To resolve this, the system will remove the aria-label attribute when helper text is configured and will add the helpertext div ID in aria-describedby for accessibility. | User Experience |
INC-154205 | 618735 | Corrected wrap text for Cosmos radio buttons | When using Cosmos, radio buttons with large labels were displayed with the text overlapping even when wrap text was enabled and the radio button placement was incorrect. This was traced to a height of 32px being set as the default, overriding the wrap text setting, and has been resolved by adding CSS to set the height as auto when wrap text on radio label is used. | User Experience |
INC-154458 | 620211 | Calendar picker placement corrected for Ajax container | When using inline edit and clicking date picker, the calendar popover was displayed in a blank space away from the position of the date picker. This was due to a popover inside a screenlayout having scrolltop and scrollleft values added to the popover position; in the case of an Ajax container these values resulted in incorrect position of a popover. To resolve this, adding the scrolltop and scrollleft will be bypassed if the element where the popover is attached is inside a Ajax Container. | User Experience |
INC-154564 | 617350 | JAWS reads the table header and filter options separately | When table headers for a non-optimized table with filter options received focus in Google Chrome, JAWS read the header, sort and filter options all run together. This was due to a difference in the way JAWS reads headers in Google Chrome from the way it reads them in IE, and has been resolved. | User Experience |
INC-154680 | 619027 | Moment timezone library update | In order to reflect updates such as Brazil discontinuing DST time, the moment timezone libraries have been updated to the latest available version. | User Experience |
INC-154855 | 616002 | Updated expression handling when not using client side validation | After upgrade, a declare expression used to calculate the end date when creating a schedule case was not populating the result. This was traced to a missed use case for evaluating expressions when 'Enable client side validation' is unchecked, and has been resolved. | User Experience |
INC-156992 | 619707 | Show-stream/html repaired for custom portals | After upgrade, show-stream/html in activity was not getting executed properly on custom portals. ShowDesktop was modified in 8.1 for AssociateRequestor implementation. As part of that, the custom portal step was moved to the new activity pzPopulateRequestor which is invoked from ShowDesktop. The JUMP condition in step is exiting the pzPopulateRequestor activity, but not ShowDesktop as was the case in the previous versions. To resolve this, the JUMP condition (.pyDesktopType=="Custom") has been added in ShowDesktop at the pzPopulateRequestor call step. | User Experience |
INC-136563 INC-139790 |
607420 607416 |
Tenant Switching updated | When working on new “tenant switching” implementations in a multi-tenant environment, the API itself seemed to be working as expected (case details from another tenant were shown correctly in review mode), but clicking on the assignment unexpectedly opened the case in a new window that contained the same review view of the case rather than the perform view. Clicking the assignment link again caused yet another review window to open with the same issue, over and over. This has been resolved by adding a UI-side update to send the requests on proper sub-domain URL instead of using the parent domain, and by ensuring the document threads are properly deleted for multitenant usecases. | User Experience |
INC-142557 INC-142557 |
600532 600529 |
Accessibility added to Recents | Under all recent items, the work object was not opened when using the keyboard and the focus was on the work object. Clicking with the mouse worked. Investigation showed that on pressing the enter key, actions were not triggered because the action string was not on the same SPAN tag (but in child node). This has been resolved with an update to add tabindex on the same span where action-string is added. In addition, accessibility was not enabled on the out-of-the-box Recents table because the work object elements in the table used a formatted text control; this has been updated to use a link control which will enable the accessibility feature while using keyboard navigation. | User Experience |
INC-145467 INC-150555 |
617216 620542 |
isDCSPA flag added to ensure correct harness after reload | When moving from a Process Flow to a Screenflow configured with tabbedscreenflow7, the first reload caused a switch to a Perform Harness that resulted in the error "Unable to open an instance using the given inputs", and footer buttons disappeared until multiple refreshes were done. This was an issue specific to the environment configuration at the site, but to avoid future issues a code update has been made that will add the isDCSPA flag if the value is not present in the parameter page. | User Experience |
INC-147245 INC-151952 |
612867 609339 |
Expand Pane icon responds to enter key when using JAWS | In an Operator ID rule in Dev Studio, pressing the Enter key when focused on an Access Group expand icon caused the focus on the page to move to the top of the Contact Information frame (top left corner of the Frame). The only way to use the enter key to expand the pane without the refocus was to tab to the arrow icon and then tab a second time before pressing enter. This was traced to the expand caret icon being focussed twice due to the tabIndex for both the TD and SPAN elements holding the caret icon: TD had a focus element for accessibility of the grid, and SPAN had it for the expand pane accessibility. This has been resolved by adding a check condition before adding tabIndex to the first cell in the Grid. | User Experience |
INC-148272 INC-149953 |
609000 613727 |
Increased specificity for collapsed DL | When using the collapsible header functionality of a container skin format, the styling was not being applied correctly to the header. This has been resolved by increasing the specificity for a collapsed dynamic layer. | User Experience |
INC-150407 INC-153109 INC-153555 |
605842 611354 612228 |
Validation error messages correctly cleared in nested markup | A UI Freeze issue was seen whenever mandatory input was missed and the form was submitted. Continuing was possible after browser refresh, but a new Next>> button appeared. This was an unintended side effect of work done to correctly clear validation messages when areas had captions, and has been resolved by modifying that work so it performs as expected on nested markup. | User Experience |
INC-153550 INC-153783 |
614989 612993 |
Cross-site scripting protection update | Cross-site scripting protections have been updated for labels. | User Experience |