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.8.1 Patch Resolved Issues for Case Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-231562 | 754435 | QuestionImportWizard draft mode corrected | When the bulk question setting was enabled, pxQuestionImportWizard was created in Draft mode which does not work in Production Level 1. This has been resolved by turning off Draft mode on the pxQuestionImportWizard flow. | Case Management |
INC-234225 | 748907 | Mashup parameters correctly passed | After embedding the Create Case mashup inside a Pega application, creating another case inside the mashup by using the Create Work action on the click of a Create Case button, the properties set on the action were not getting passed to the original case. This has been resolved with updates to the pega_desktop_support javascript file to get the parameters in Mashup when the create work action set is being used. | Case Management |
INC-235700 | 746635 | ShowSubFlowData registered to resolve navigation breadcrumb error | In a screen flow navigation utilizing the TreeNavigation7 Section rule, double clicking on any bubble /step in a navigation breadcrumb generated a "Modal Dialog: Ajax Call Failure!" error. This has been resolved by adding activity registration code to register the pxShowSubFlowData activity. | Case Management |
INC-236743 | 750763 | DiscoverCaseTypes requires authentication | The activity Rule-Obj-CaseType.pxDiscoverCaseTypes now defaults to Require Authentication to run. | Case Management |
INC-236754 | 748210 | Removed aria label for div without role | "Process Work Area" had an aria-label attribute used in conjunction with role=generic, creating an accessibility issue due to the aria-label attribute not being well supported on a div with no valid role attribute. This was traced to a role="main" which was previously removed from the div that the aria-label="Process Work Area" was present on, and the issue has been resolved by removing the lingering aria label for the div which doesn't have a role. | Case Management |
INC-240966 | 753402 | Corrected SFTP attachment URL format | When using an SFTP URL such as sftp://testurl.test/fillers for an attachment, the platform was removing the colon and showing the URL as sftp//testurl.test/fillers. This has been resolved by adding adding SFTP (!strURL.toUpperCase().startsWith("SFTP:")) to the conditions list in the 'DisplayAttachment' HTML rule to resolve the incorrect SFTP URL format. | Case Management |
INC-244281 | 758494 | Error message from AttachFile localized correctly | The error message "Failed To Save File" from the AttachFile activity was not localized accurately due to a formatting error. This has been corrected. | Case Management |
Cloud Services
8.8.1 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-241010 | 752129 | Increased pr_data_restore blob accommodation | Over time the various DB2 LUW Linux, UNIX, and Windows (LUW) blob sizes on different tables has drifted upward and created the need to handle larger instances. This update increases the size of the blob for pr_data_restore (which is used to hold hotfix rollback information) to accommodate the largest instances that can be stored in other tables. | Cloud Services |
INC-243588 | 762162 | Check added to clear outdated activity status for rollback | Response from the REST service indicated failure even though a rollback was successful. Investigation showed the API used to verify the existence and availability of the history table was setting the activity status on failure and the rollback feature was not clearing this status. As a result this status was promoted to the service page along with the corresponding rule message. This has been resolved by clearing processing statuses after checking isClassValid. | Cloud Services |
INC-245623 | 762197 | Performance improvement for import synchronization of non-rule instances | Synchronization performance was poor when importing a small number of non-rules into tables containing millions of rows of the same class. This was a missed use case caused by import synchronization iterating over every instance of a non-rule class (reading from the database) and not examining any of the data if the instance read from the database was not included in the archive, which is in contrast to rules where it is necessary to look at every rule for a given type to handle cases where rules are being deleted. This has been resolved by optimizing the query for the import synchronization process for non-rule instances so only the specific instances that are contained in the archive being imported are retrieved. | Cloud Services |
INC-245949 | 761566 | ServiceUtils log message retention updated to prevent out of memory condition | Running column population from ServiceUtils resulted in an out of memory error when handling an extremely large database table. This has been addressed by limiting the number of Log- messages that are retained to prevent unbounded growth. | Cloud Services |
Conversational Channels
8.8.1 Resolved Issues for Conversational Channels
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-236529 | 745697 | Updated regex logic to speed email parsing | Large emails with a thousands of blank rows were taking an excessively long time to parse. This has been addressed by removing ~* from the selector regex. | Conversational Channels |
INC-236531 | 750005 | Data page in FIlterProperties updated to not use paging | As a part of Channel configuration, Entity types were mapped with Case type properties => Suggested cases => Response configuration=> Entities extraction. However not all Case type properties were available in the dropdown. Investigation showed that the dropdown source data page was restricting the number of properties and hence not all properties are available. This was due to the report definition (ex: pzGetAllRelevantPropertiesForDataTypeNoAppFilter) which was called internally during source data page execution having "paging enabled" under the Report Viewer tab, leading to the report definition only retrieving 500 records. To resolve this, D_pzGetPropertiesForDataType in pyFilterProperties has been replaced with D_pzGetPropertiesForDataTypeNoPaging. | Conversational Channels |
INC-237536 | 751319 | Handling added for missing text analyzer null pointer | Opening correspondence cases which had email templates in any color or heading or images generated exceptions when there was no text analyzer for the channel. This has been resolved by replacing "getIfPresent()" with "getProperty()" in "pzMapStyleToEntity" to avoid null pointer errors. | Conversational Channels |
INC-239192 | 756824 | Filtering added to display email subject in brackets | If an email subject was contained in angle brackets, it was considered an HTML tag and was trimmed. This has been resolved by updating pyGetEmailMessageDetails to escape the subject for display on the UI and other places that were relying on pyMessageMetadata. | Conversational Channels |
INC-239792 | 762296 | Corrected creating a suggested email reply | When configuring an email channel in App Studio using the French locale, adding suggested replies to the Behavior tab was followed by the expected suggestion to create a new one. However, clicking on the Submit button of the popup to add another reply did not work. This was caused by the system failing to find an open Ruleset for the Citizen developer, and has been resolved by using pxCreateRecord instead of pxUpdateRecord. | Conversational Channels |
INC-243142 | 757488 | Additional validation added for MSGraph reply email | After switching the email account receiver to MSGraph, operators were able to send replies with an email address in an incorrect format. The email ID was highlighted in red indicating it was not in the correct format, but the Send button was not disabled. Clicking on send submitted the form but did not send the email. To resolve this, a new edit validate rule has been added to double validate an email address with a personal name included. | Conversational Channels |
Data Integration
8.8.1 Resolved Issues for Data Integration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-182984 | 665937 | Accessibility label added to delete column header of delegated data table | After delegating a data table, the header row of the delete column added to the grid was empty and JAWS was reading "HEADER". This has been resolved by adding a label for the delete column which will also be displayed in the delegated rules in the case manager portal. | Data Integration |
INC-213413 | 740706 | iText dependency now in Pega shaded jar | Secure PDF uploads were generating a ClassNotFound exception after update. This was due to an updated version of bouncy castle (1.66) not being compatible with the site-required version of iText (2.1.7). To resolve this, a "shaded jar" has been made available for iText 2.1.7 which contains iText and all iText dependencies, and the gradle files have been modified to reference the shaded Pega version of iText. | Data Integration |
INC-221078 | 746886 | Corrected error while creating client device | A null pointer error was generated while creating a client device. This has been resolved. | Data Integration |
INC-228145 | 746015 | Performance improvement for service package requestor pool | Slowness was seen on requestor pool for Services Packages like OAuth2 redirect or WebSSO AssertionConsumer. This has been resolved by adding the user access group to the ADP thread to avoid requestor context switching. | Data Integration |
INC-231195 | 748023 | Business Calendar functionality updated to clear instances | Campaign runs were failing when the Business Calendar functionality was used in Decision Strategies to limit communications after a threshold time. Investigation traced this to the single calendar being loaded more than once, and this has been resolved by adding a synchronized block in the checkCalendarCache function for thread safety along with modifying the updateCalendarCache function to remove old business calendar instances before adding new ones. | Data Integration |
INC-231961 | 740673 | Logic updated for locating attachments for archived items | Clicking on the attachment link for archived work items resulted in the message "Unable to open the attachment. You lack the required permissions." Investigation showed the system was trying to retrieve attachments from the default archived location even though cases were archived on the local file server, and this has been resolved by updating the retrieval logic. | Data Integration |
INC-235144 | 755879 | UrgencyWorkClass correctly set | pxUrgencyWorkClass should be set as 10 by default, but it was intermittently failing to be set and impacting the Get Next Assignment functionality. Analysis traced this to blank properties being created during the declare expression execution if the source property was not available on the page. This has been resolved by updating ScalarValueQueryExecutor.java so that the system will not create leaf (Scalar) properties if they are not present on the step page while executing the declare expression. | Data Integration |
INC-235943 | 746624 | Null check added to prevent PresenceLifeCycleEventManager loop | A null pointer exception was occurring in a loop and creating thousands of log entries. This was traced to the PresenceLifeCycleEventManager trying to set the presence state of a given requestor to Disconnected and not succeeding. To resolve this, a null check has been added to block the null pointer exception. | Data Integration |
INC-236172 INC-227095 |
759434 734908 |
Defragmentation step removed from ClusterAndDBCleaner | The nightly job pyClusterAnd DBCleaner failed to run, generating the exception "Job Scheduler [pyClusterAndDBCleaner] activity execution marked as failed with message [Exception while defragmenting Table]". This was traced to the step in pyClusterAndDBCleaner that performs defragmentation. As current usage has moved away from using this defragmentation step in favor of a locally-run utility such as DB2's REORG, the defragmentation step has been removed from the pzClusterAndDBCleaner activity. | Data Integration |
INC-236439 | 745285 | Corrected export of zero value being saved as '0E-9' | File Data Set was exporting some properties as '0E-9' if the value was 0.00000 . This has been corrected. | Data Integration |
INC-237464 | 745860 | en_SG locale added | Support for the locale “English (Singapore)” (en_SG) has been added. | Data Integration |
INC-238681 | 762329 | Enhancement to support Non-standard resolution status | Previously, Case Archival only supported resolution statuses that started with 'Resolved-' (with Camel case) and not with any other resolution status like resolved- or RESOLVED- or 'Resolved *'. An enhancement has been added which allows specifying a comma-separated list of viable pyStatusWork prefixes for archiving which will handle custom statuses. | Data Integration |
INC-238791 | 753719 | Localization updated for Decimal/Integer/currency values | In the UI section rule, using the local Vietnamese currency and decimal points displayed correctly in the UI, but after firing the validations the amounts were displayed as plain numbers without any decimal points. Ex : 36.492.000,00 đ was displayed in the UI, but in the validation it was showing 36492000 đ. This has been resolved by modifying the MessageEvaluator.java to format the Decimal/Integer/currency values based on locale. | Data Integration |
INC-240696 | 762671 | Parent and child case namespace collision resolved for archiving | If parent and child cases had overlapping names, the cases were not being archived. This was due to Archival using declarative indexes to determine if a case has been added to pr_metadata during the archival process. In this scenario, multiple layers of the case hierarchy had the same name on their declarative index. When the archival job attempted to add a case in the hierarchy to pr_metadata, there was a namespace collision on the indexes and the engine determined that the hierarchy item was already added. Later, during archiving proper, all cases in the hierarchy were not present in metadata, so the item failed. This has been resolved. |
Data Integration |
INC-241275 | 754584 | Records Editor search icon made accessible | To improve accessibility, helper text has been added for the search icon in the Records Editor with the message "Click to search records." | Data Integration |
INC-242283 | 755025 | Support added for bulk case delete with Case Archival utility | Through this enhancement, clients can configure Case Archival utility to perform the Purge operation directly while skipping the Copy operation. This allows the clearing of very large amounts of data without copying the cases to an external repository first. | Data Integration |
INC-242943 | 756572 | Handling added for missing MSGraph charset | Some emails were not processed by the email bot when using MSGraph. This was traced to the HTML meta content missing the necessary charset, leading to an exception. While there is a workaround of using IMAP, this has been resolved by adding handling that will fall back to using the default charset UTF-8 if the system is unable to derive charset from the HTML meta tag. | Data Integration |
INC-243285 | 761201 | Handling added for MSGraph extracting attachments in a signed email | When using MSGraph with the email listener, the attachments could not be stored in Pega if the email included a digital certificate. This has been resolved by adding handling to ensure attachments are properly extracted when the listener reads a signed email. | Data Integration |
INC-243566 | 763260 | Explicit close stream added to InvokeAxis2 | An "Unreleased Resource: Streams" issue was seen in the InvokeAxis2 activity. This has been resolved by explicitly closing the input stream at the end of step 17 in InvokeAxis2. | Data Integration |
INC-245096 | 762170 | Authentication handling updated for SOAP using OAuth2 | SOAP Connectors with OAuth2 authentication configured were incorrectly attempting traditional authentication in the Axis2 library. The error "IllegalArgumentException: Username may not be null" appeared. This was traced to a flag that was not being set correctly in the OAuth2 case, and this has been resolved by adding the "auth=null" flag to the OAuth2 case in step 8 of InvokeAxis2 to prevent the client from attempting basic authentication when the SOAP Connector is using an OAuth2 auth profile. | Data Integration |
Decision Management
8.8.1 Resolved Issues for Decision Management
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-219445 | 736808 | Performance improvements for text analysis | When the content size was very large, slowness was seen when progressing an article from creation > approval stage. This was traced to the data transform “KMClearRejectionNote”, where a loop was iterating more than required due to an incorrect parameter passed to pzGetCurrentContextTagsWrapper, and the activity pxRunTextAnalyzer was taking an excessive amount of time to run. To improve performance, the logic has been updated and modifications have been made to the chunker and the sentence level analysis used in the Twitter parts of speech (POS) function. | Decision Management |
INC-223522 | 748137 | Revision Manager landing page updated and DSS made available | In order to address slowness in the load part of revision manager, a lightweight version of the landing page has been created, and the DSS OptimizeRMLP has been introduced in the Pega-DecisionManager ruleset. If the value is true, the load will rely on the pyRevisionRecords page list instead of the pyDMRulesOverview page group. | Decision Management |
INC-224816 | 748305 | Notifications list will be rebuilt after passivation | Trying to load the notifications by clicking on the bell after returning to a passivated session resulted in a blank page.This was traced to a null pointer for the pyEnableChannel in pyGetNotificationDefinitionsPerClass, and has been resolved with an update which will remove and rebuild the NotificationsList page in the pyGetNotificationDefinitionsPerClass activity in case of session timeout. | Decision Management |
INC-226718 | 734888 | Handling added for illegal character in filename exception | The exception "Illegal characters detected in the path "Notifications_01_06_2022_05:00:32AM.csv". You may not use the following characters: [", ?, ASTERISK, <, >, |, :]" was appearing regularly in all environments. This was traced to the activity pzGenerateMailAttachment, which explicitly formatted attachment name with : and then threw the exception while validating the same in pyFormatAttachmentName. While this exception did not have any functional impact and was triggered once a day, code has been added to remove the special characters from the filename. | Decision Management |
INC-230776 | 757397 | Rule-File-Binary update propagates correctly | The Model update was not reflecting from the Prediction Build. Investigation showed the Rule-File-Binary update was not reflecting across nodes. This has been resolved by adding a validate on the binary file to refresh the binary file cache across nodes. |
Decision Management |
INC-235060 | 757833 | ADM Factory migration process made configurable | In order to address an issue with data migration pipeline timeouts when processing large models, the controls of the ADM Factory migration process have been exposed through a set of dynamic system settings. |
Decision Management |
INC-236831 | 748738 | Confidence score saved for entity, topic | Confidence score for topic has been added in the Natural Language Processing (NLP) report details. | Decision Management |
INC-237215 | 761468 | Updated handling to avoid copy alert | An alert was generated from VirtualListCopy with the message "Light weight list has been copied in rule 'CODE-PEGA-LIST PZGETREFERENCEDDOCUMENTS". This has been resolved by passing the primary page to the report definition instead of the named page to avoid copying results. | Decision Management |
INC-238262 | 747909 | Revision screen shows correct proposition count | After creating a new revision and a change request with decision data, the total number of Propositions included was not updated for each decision data rule in the refine selection step. Clicking and selecting different decision data rules was also not properly reflected in the numbers of selected/total propositions. This has been resolved by ensuring the pyAvailablePropsCount and pySelectedPropsCount properties are properly populated on pyWorkPage. | Decision Management |
INC-238403 | 746488 | Decision Data Store (DDS) browse handles empty property | When using a DataFlow with a Compose shape which had a primary source data set of type Database Table and a secondary source data set of type DDS, a Data Subscriber exception was generated if the property from a primary source was empty and that property was configured under a Compose When condition. This has been resolved by updating the Decision Data Store (DDS) service SDK version to one that verifies whether partition key parts are empty or not. | Decision Management |
INC-238427 | 746850 | Attachment pagination handling added for custom simulation reports | The Pega Marketing simulation process migrated as case type has an option in the Pending-Review stage for each report to attach the report outcome to the case, but the system was loading only 50 records when pagination was enabled. This was a missed use case for custom reports with pagination enabled. The API used in the custom report to convert the results to CSV used a Report content page which had limited results due to pagination while standard simulation reports do not have pagination enabled. To resolve this, an extension has been added to override the report parameters for custom simulation reports and disable the paging parameter. An extension point was also added in the Simulation report category so it can be enabled for report viewer. | Decision Management |
INC-239342 | 758669 | Partitioning keys added to Snapshots to improve performance | When using a data flow that reads from PR_DATA_DM_ADMMART_PRED table using a database table dataset and writes the results to a file repository, the ADM Predictor Dataset export within the dataflow was taking too long to browse the table. Investigation showed the dataset "pzADMPredictorSnapshots" did not have a partition key, causing the data flow to execute in a single thread. To resolve this, partitioning keys have been added. pyModelSnapshots and pzModelSnapshots contains the .pzInsKey as the partitioning key. pyADMPredictorSnapshots and pzADMPredictorSnapshots contains the .pyModelID as the partitioning key. |
Decision Management |
INC-240208 | 749896 | Offer flow opens when adaptive model exists | After creating and enabling an offer in two inbound channels, the offer was then enabled in an outbound channel. After that, an error was generated when opening the offer flow and tracer showed a type conversion error on one of the predictors while the system was trying to load the ADM data. This has been resolved by updating ADM Monitoring to address a getBinLabelDisplay parse error. | Decision Management |
INC-241874 | 752366 | Special characters handling added for keyword entity type | Entity extraction was not working if the text contained a dash character, "-". This has been resolved by modifying the tokenization logic to handle special characters when building the keyword based model. | Decision Management |
INC-242670 INC-243025 |
753018 753286 |
Pre-aggregation calculation logic updated | When using custom interaction history summaries in which some of the aggregates were configured with a window of "All time", the summary was aggregating data only for the last 365 days. This has been resolved with an update to the calculation of the pre-aggregation start date when a summary dataset contains both all-time and non all-time aggregates. | Decision Management |
INC-243344 | 754452 | Enhancements to Voice AI Model | In order to address an issue where entity model accuracies with voice transcripts were lower in certain instances where the entity was in the beginning of the sentence or towards the end of the sentence, a feature set has been added for entity models built for voice usecases. This is controlled through the new DSS "decision/textanalytics/entitymodel/isvoiceenabled" which is set to false by default. If set to true, this new feature set will be used and entity models built after setting this DSS to true will be better suited for voice AI usecases. | Decision Management |
INC-244249 | 762754 | Improved backwards compatibility for Model and Topic | After update, testing Model and Topic with an associated data decision rule was throwing an error. This was traced to refactoring work on a Natural Language Processing (NLP) function that generated an illegal argument exception when given a "-" in the key passed to the ParameterPage.put(String key, String value) method. In this case, the identifier of the decision data contained a hyphen. In order to improve backwards compatibility, the logic has been updated to use a HashStringMap and then set this map in the parameterPage with key as the constant "modelDetails". This ensures the model identifier will be set in the map and the parameterPage key will not have characters such as hyphen, etc. | Decision Management |
INC-245335 | 760101 | Migration of adaptive model and prediction monitoring data made optional | In order to allow greater control of the Data Migration pipeline from Production to Simulation, granular controls have been added to toggle the data migration for adaptive model and prediction monitoring data such that the ADM factory is always migrated, but the monitoring data can be opted-in or out. This has been implemented through the use of "when" rules to make the ADM and Predictor datamart export and import optional. | Decision Management |
INC-246780 | 761798 | Special characters removed from Interaction History to prevent exceptions | Production utility nodes were requiring restarts due to out of memory errors. Investigation traced this to Interaction History dataset records containing unexpected special characters in the key such as "\" or "$" or "^" that generated exceptions when writing the records to the HDS. This has been resolved by removing the special characters from the keys while writing them to the HDS. | Decision Management |
Low-Code Application Development
8.8.1 Resolved Issues for Low-Code Application Development
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-227438 | 745437 | Updated D_DataType references to preserve template parameters | When using a Citizen Development Platform with data transforms based upon a template automatically copied to the correct class, the data transform changed the parameter's data type from Page Name to String and then failed. This has been resolved by changing the way D_DataType is referenced, as extra parameters caused a separate data page address to be populated and change the data type. | Low-code App Development |
INC-229661 | 761837 | ShouldExtensionBeLoaded when rule updated | In order to support filtering based on the extension point when rule pyShouldExtensionBeLoaded, the java step that called the when rule has been updated to use Obj-Filter. |
Low-code App Development |
INC-232852 | 747811 | Handling added for modifying Administration default date settings at run time | If a user tried to override the default date of the configuration in the 'Administration' page for configuration sets at run time, the date reset to the default value. This was due to the value being stored in pyDynaUIPropertyReferenceDate instead of the pyDynaUIPropertyReference field, and has been resolved by adding the necessary extra processing on the save button to handle date settings in the administration landing page. | Low-code App Development |
INC-240679 | 758008 | Rule resolution updated for AttachCategories API | The withdrawn rule exclusion was not working for the AttachCategories API. This has been resolved by updating the rule resolution logic in the pzGetAttachmentCategoriesImpl activity. | Low-code App Development |
INC-241349 | 752280 | Added handling for null pointer exception in PushDailyUsersData | The PushDailyUsersData agent in the PegaAESRemote agent schedule was crashing on a daily basis. The error did not occur when running the agent manually from admin studio after a restart. Investigation showed this error was caused by the system attempting to set a value to primary page; as primary page will not be there for agents, a null pointer exception was generated. This has been resolved. | Low-code App Development |
INC-247501 | 762371 | Resolved thread dump after saving large decision tables | After update from Pega 8.4 to Pega 8.6, saving and checking in rules for a large table was resulting in a thread dump. This has been resolved by enabling the "when" condition for step 3 in the checkForWarnings activity of Rule-Declare-DecisionTable so that testConsistency will be called only for the cell count below the given threshold value. | Low-code App Development |
Mobile
8.8.1 Resolved Issues for Mobile
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-240811 | 753206 | IBM Websphere/Java handling added for certificates | A certificate was working with push notifications on a Pega Cloud environment, but the same certificate used in an on-premise installation failed. This was traced to the use of IBM Websphere / IBM Java, which handles certificates differently. This was causing mobile certificates (keystores) passed through IBM Java to have two entries instead of one. To resolve this, special handling has been added for IBM Web Sphere and IBM JAVA. | Mobile |
INC-240898 | 754688 | Keyboard support added to Client for Windows attachment control | In Pega Client for Windows the "add attachments" button in the utilities pane was not accessible when using the keyboard instead of the mouse. This was due to system using the mobile version of the attachment control, which did not support keyboard events. To resolve this, keyboard action events have been added so that the space bar and enter key can be used to add an attachment in order to be accessible. | Mobile |
INC-241629 | 759395 | Visibility locking updated for mobile attachments | Attachments added in mobile were not visible in the desktop. This was traced to the @IsPageLocked(tools, workPage) not working as expected in the SaveAttachment activity of the standard "Attach Content" control for mobile, and has been resolved by replacing @isPageLocked with Database.IsLocked(workPage.pzInsKey) in the SaveAttachment activity which checks the lock on the work item ID. | Mobile |
INC-245285 | 758381 | Documentation updated for mobile launch screen icon requirements | The launch screen logo in the interface channel for android devices was not rendered correctly after generating the application. The same logo was in good condition on iOS. Android recently updated the requirements for splash icons, masking 1/3 of the diameter so the actual dimensions are not relevant as long as it produces a clear image for different resolutions. To assist with meeting these requirements, the documentation for customizing icons on the launch screen of mobile app has been updated to clarify logo sizes and restrictions. | Mobile |
Project Delivery
8.8.1 Resolved Issues for Project Delivery
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-231255 | 743975 | Documentation updated for "no more data to load" layout configuration | The documentation for configuring layout options in a repeating dynamic layout has been updated to clarify that the "Display message when there is no more data to load" message, which displays a message about the lack of data to load after all the data is displayed, works only when the underlying harness is not configured to use the client-side template UI. | Project Delivery |
Reporting
8.8.1 Resolved Issues for Cloud Services
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-234869 | 744824 | Corrected "Recent edits" search feature | The feature to click the search icon in Dev Studio without giving a search string and display the recent edits by the user was not working correctly. Tracer logs indicated this was due to a "Search request failed. Query: Index [rule] seen in Tracer in Data-Find-Search pzSearch" error. This was an unintended side effect of work done to introduce a new variable for the Search and Reporting Service (SRS), and has been corrected. | Reporting |
INC-235423 | 750803 | Corrected Pega Cloud BIX extraction with "-c" argument | When the BIX extraction was run on a Pega Cloud environment with the "-c" argument, there were exceptions and incomplete extractions. The process was not generating all of the files (parent and child zip files) for both CSV and XML extraction, and the extracted files were not in the correct format. This has been resolved by modifying the code for both XML and CSV extractions: 1) XML extraction with -c will generate both parent and child zip file separately. 2) CSV extraction with -c will generate both parent and child zip file separately. 3) Extracted XML and XSD file formats are corrected to remove root tag "<classes>" from XML and XSD files when -c is used. |
Reporting |
INC-243057 | 756918 | Resolved warning for ChartControl | Using pxChartControl resulted in an ERR_CONNECTION_REFUSED warning in the browser console. This was caused by an improperly commented line for a localhost URL in the third-party code fusioncharts.js. While there is a workaround of locally editing the file to correct the commenting, this has been resolved. | Reporting |
INC-243194 | 757569 | Removed unnecessary sort to improve performance | Indexing a class was taking an excessive amount of time for collections of over 80M records. This was due to the indexer fetching all instances of pzInsKey, and performance has been improved with an update which will skip sorting by pzInsKey as the system will fetch all keys and sorting is not needed. |
Reporting |
INC-243848 | 757680 | DSS added to control embedded page depth while indexing | The Full Text Search incremental indexing queue processor was taking an excessive amount of time to run, interfering with node health. This was traced to recursive calls for processing pages while indexing embedded pages, leading to stack overflow exceptions. This has been resolved by introducing a DSS to limit embedded page depth while indexing the work object. | Reporting |
INC-246590 | 760338 | Apache Commons Text library updated | The Apache Commons Text library has been updated to version 1.10. | Reporting |
Security
8.8.1 Resolved Issues for Security
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-225840 | 753593 | Null kID handling and improved locking for Keystorecacheimpl added | Previously, the kID (key ID) was made optional in the JWT header to better support backwards compatibility. Further support has been added for scenarios where the kID is required and not present. In addition, some lock issues occurred for the resource Keystorecacheimpl if the Pega application referred to the JWK URL which was also hosted by itself. To resolve this, the class level lock has been replaced with a keystore level lock. | Security |
INC-236611 | 755227 | CSRF and BF tokens added for Rule-Parse execute | An issue with encountering a 403 error when running the parse delimiter has been resolved by adding CSRF and BF tokens to execute Rule-Parse- rules. | Security |
INC-236738 | 755004 | Additional authentication service rule logging | Debug logging has been added to assist in diagnosing issues with the attributes configured in the authentication service rule in the runtime. | Security |
System Administration
8.8.1 Resolved Issues for System Administration
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-210018 | 721168 | Corrected calculation of ABAC policy result | The ABAC policy result was always shown as true in the tracer even when the result was actually false. This was traced to an error in activityStepWhenEpilog which caused true to be passed regardless of whether the expression evaluated to false, and has been resolved by modifying the logic to pass a calculated expression value to activityStepWhenEpilog. | System Administration |
INC-215299 | 746147 | OAuth2 jar updated | The oauth2-oidc-sdk jar has been updated to version 8.36.2 . |
System Administration |
INC-230119 INC-228754 |
743615 747560 |
Enhanced logging and locking added for job scheduler | The job scheduler was running twice at the configured time on different nodes even though it was defined to run on only one node. Investigation showed that nodes were executing the job scheduler activity multiple times as the lock time and the execution time were not exactly synchronized. This has been resolved by adding logs to the job scheduler execution lock mechanism and adding enhancements and checks for locking accuracy. | System Administration |
INC-230128 | 746075 | log.roll.hour value set to 24 hours | When using the queue processor feature intended to delete consumed records after 10 minutes of processing, a single record was left behind for each partition. This prevented the roll over of the segment log file for each partition until the expiry of the default log roll over time, causing the segment files to not be compacted by the Kafka log cleaner and leading to poor utilization of disk space. This has been addressed by reducing the log.roll.hour setProperty value from 7 days to 24 hours so that disk space is reclaimed early. | System Administration |
INC-231269 | 747259 | Stream SDK and API updated to resolve connection leaks | A connection leak was seen when the browse operation against stream dataset failed during the creation of the subscriber itself, causing the connection (consumer) to not be removed from the cache. This resulted in multiple open consumers for a given dataflow thread, leading to SNAT exhaustion which required JVM restarts to clear. This has been resolved by updating the Stream SDK and API versions. | System Administration |
INC-235301 | 750599 | MaxRecords property updated to clear all dead job scheduler locks | A database lock was observed on Job scheduler executions after node restart. Investigation showed the query used to delete dead locks was processing 100 records maximum, leaving locks in place if there were more than the maximum. This has been resolved by setting the pyMaxRecords property to 0 (infinity) in looking for stale executions so every dead lock will be deleted. | System Administration |
INC-236596 | 755727 | OAUTH2 with grant type password credentials works as expected | Triggering Pega OAUTH2 for token generation with grant-type password credentials was resulting in a null pointer exception. This was a missed use case caused by the Operator page being removed during prior cleanup and has been resolved by adding the parameter page pyOperPage instead of Operator page for validating and getting scope. | System Administration |
INC-242432 | 758979 | Frame length adjusted | During stream server startup (empty kafka-data) of an environment with a large number of queue processors and over 1,000 total partitions, no partitions were created and below error message "Adjusted frame length exceeds 65535: 67537 - discarded" was being thrown in Kafka logs during startup. This has been resolved by adjusting the frame length. | System Administration |
User Experience
8.8.1 Resolved Issues for User Experience
Ticket # | Issue # | Title | Description | Product Area |
---|---|---|---|---|
INC-205769 | 751696 | Corrected nested section multi-select rendering | When using the multi-select control on a section inside a table, values were displaying above the table in another section when zoom was set to 100%. Values appeared in the correct place when the zoom less than 100%. This has been resolved by removing the condition of fixed header or footer from isPageViewScreenLayout under HarnessAssemblyStreamSupport.java file. | User Experience |
INC-217792 | 732220 | Mashup refresh loads active case | Mashup was not loading the active case after refresh. This was an unintended side effect of work done with setting the context for Mashup and has been corrected. | User Experience |
INC-219443 | 731691 | Handled overflow for maximized toolbar display | Content screens and the text rich toolbar were overlapping when the content toolbar was maximized. This has been resolved by adding handling for the overflow of the rich text editor. | User Experience |
INC-220033 | 728210 | Session timer updated to ensure complete countdown | The pop-up timer with 5-minute countdown was intermittently not completing five minutes, instead expiring the session when there was still time remaining on the countdown. This has been resolved by adding code to trigger close() when the timer reaches 0s instead of relying on setTimeout. | User Experience |
INC-222507 | 721693 | Helper text added to clarify maxlength enforcement | It is possible to enter more characters into a browser field than is specified by the maximum character limit unless read-only formatting is used. This is due to the resulting HTML input tag having the type of number, which leads to the browser default behavior of not honoring the maxlength attribute. In order to clarify this, helper text has been added with the message "Min and Max characters are ignored for type Number when 'Display value using read-only formatting' is unchecked." | User Experience |
INC-225273 | 743439 | Corrected styling for summary panel collapse | When using tabs in a layout group with "Semantic tab layout" enabled with stretched tabs, collapsing and expanding the left navigation panel resulted in extra space on the left and right sides of the tabs. This was caused by the width of the tabs not being calculated correctly in this scenario, and has been resolved by removing the styling which was breaking stretched tabs in the view with collapsed summary panel. | User Experience |
INC-231156 | 746330 | DSS added to configure separators in date control | The date control behaved abnormally when using the input method editor (IME) Japanese keyboard. After configuring a datetime control for a date property with the format set to 2001/01/01 and display value using read-only formatting enabled, using the Japanese format of "20220823" (year, month, day) was imported as "mm/dd/yyyy", so the input was treated as "02/02/2082" (02022082, final 3 is truncated). Upon clicking out of the field, the value was updated to display in the specified format and became "2082/02/02". To resolve this, the DSS "DisableAutoSeparatorForDate" has been added which will disable auto separators for the date when set to true. This will prevent the unwanted date format change for this scenario. Any value other than true will maintain the default behavior of using auto-separators for date-only fields. | User Experience |
INC-231255 | 743971 | Documentation updated for "pagination on scroll" layout configuration | The documentation for configuring layout options in a repeating dynamic layout has been updated to clarify that the "pagination on scroll" function works in template mode only. In non-template, it switches back to user action pagination. Setting pagination on user action works in both template and non-template UI. | User Experience |
INC-231605 | 751747 | Portal resize functions correctly when using MobileSnapStart | After configuring the application's default portal with an outer harness consisting of 4 panels where "User resizable" was checked for the left hand side menu panel so it can be resized or collapsed by the user, displaying the page using pyMobileSnapStart caused the left side menu to become fixed and it could not be resized or collapsed. This has been resolved by modifying the java code for the GenerateLayout--(ClipboardPage,ClipboardPage) function and pzAddPortalLayouts activity. | User Experience |
INC-231982 | 741432 | Focus correctly stays on All Reports list after hitting escape key | When expanding the multiselect list “All Reports” in the Theme Cosmos report browser, ipressing escape to exit out of the expanded list moved the focus to the top of the page instead of staying on the multiselect list. This has been resolved by updating the multiselect and anypicker controls to focus back on the list as expected. | User Experience |
INC-232325 | 751718 | Added handling to avoid null pointer issue with LabelFormat | When using save as on sections with heavy use of dynamic layout to enhance them, the rule form was intermittently getting corrupted and the section rule was not displayed in dev studio even though it works correctly in run time. Investigation showed there was a null pointer exception caused by the clipboard data used to load this section missing the pyLabelFormat on a certain cell, and this has been resolved by adding defensive code in pzpega_ud_simplelayout.js to handle the potential null pointer issue with pyLabelFormat value. | User Experience |
INC-232515 | 747168 | Constellation portal permission errors enhanced | If a user performed an action that encountered a permission restriction, the error in the portal contained the standard text "An internal error occurred. Please contact your administrator." While the Error_Execution_Error message rule can be customized to change the default text, this is not able to address a specific error as the text would again be used any execution error. To resolve this, the error text has been enhanced to include more information about the permission issue. | User Experience |
INC-232517 | 746833 | Added check for editor.element | Attempting to add or remove a row from the grid generated the console error "Uncaught TypeError: Cannot read properties of undefined (reading '$') at window.CKEDITOR.window.CKEDITOR.dom.CKEDITOR.dom.document". This has ben resolved by adding a condition to check whether the CurrentEditor.element attribute exists or not. | User Experience |
INC-233768 | 748476 | Multi select dropdown options read by JAWS2022 | JAWS2022 was not reading out the available options when focus was set on a multi-select dropdown. Investigation showed that in Theme Cosmos pega.ctx.dom.getElementById was not able to find the element which contains the "multiSelectLiveRegion" ID because this element was present outside the harness. This has been resolved by using document.getElementById to get the correct element. | User Experience |
INC-233974 | 746844 | Focus stays on current layout tab after refresh | When working with a case using tabbed layouts, switching to tab2 and making changes that triggered a refresh of the whole section resulted in focus going back to tab1 instead of staying in tab2. This was caused by the layout group being generated on a nesting page list, which generated the same data-repeat-id for all layout groups which were present inside the repeating structure. This has been resolved by updating the logic to use the most recent index location. | User Experience |
INC-234246 | 741114 | Moment js updated | Moment js has been updated to the latest version. | User Experience |
INC-234366 | 750071 | Special character handling added for TransformAndRun parameter | When export to Excel was configured an "Open URL in Window" action and a data transform with a parameter, pzTransformAndRun Step6 was throwing error if the parameter had any special characters. This was traced to pega_rules_string.isLiteral(value) returning false because it assumed the value was property reference. This has been resolved by adding StrungUtils.isPropertyReference(value) as an extra condition in the if block. | User Experience |
INC-235231 | 743525 | Keyboard data row access corrected for optimized/template grid | Whenever a filter is applied or when going to the second page of a pagination result for an optimized/template grid, it was not possible to access the data present in the rows by using the arrow keys. This has been corrected. | User Experience |
INC-235232 | 743517 | Keyboard accessibility updated for an optimized/template grid | After hiding a column in a grid it was not possible to navigate to the column beside the hidden column. This has been resolved by implementing the arrow key accessibility for an optimized/template grid. |
User Experience |
INC-235604 | 743784 | Calendar year default corrected | Entering a short-form date from the keyboard in Constellation was defaulting to the 20th century, for example 01-12-22 becoming 01-12-1922. To resolve this, values with 1, 2 and 3 digits will be treated as invalid when setting the year manually in the date input. | User Experience |
INC-235693 | 747108 | Greensock library updated | The greensock js animation library has been updated to the latest version. | User Experience |
INC-236451 | 745055 | Atmosphere updated | Atmosphere js has been updated to the latest version. | User Experience |
INC-236492 | 756033 | Text area property in a data type shows full content | When using a Message Routing Rule data type with a column of control type pxTextArea (which can hold text up to 1000 characters), the full cell value was properly visible in Dev Studio, but displayed inconsistently in in App Studio or when used as a delegated data type in user portals. This was traced to the PegaFSFI ruleset which had a column format in the table set to "display a textarea with expanding capability" in DataTableEditorReport which was defaulting textarea formats when creating new data types. This has been resolved with an update to setStyle properly. | User Experience |
INC-236549 | 753733 | Theme Cosmos browser refresh correctly clears GridMetadata clipboard | System slowness was seen on a site with a large number of users. Analyzing the clipboard showed a very high number of passivated or active clipboard pages when using optimized tables in the home page. The GridMetadata clipboard was repeatedly added to the Requestors list of clipboard pages and the number of pages for requestors was exceedingly high. This was traced to browser refresh of a Theme Cosmos application end user portal not correctly cleaning up the GridMetadata clipboard pages, and has been corrected. | User Experience |
INC-236779 INC-233763 |
747921 740991 |
Report filter popup displays in the expected place | Previous work done on the popover js to correct the filter popup placement has been further updated to display the filter popup in the expected position in reports. | User Experience |
INC-236819 | 758650 | Corrected table cell focus issue | When using a legacy grid with an expand row details configuration, the focus jumped to the top when there was a click inside the details section. This has been resolved. | User Experience |
INC-237214 | 758806 | Attachment drag and drop working correctly for Google Chrome | When dragging and dropping an attachment on Google Chrome, a refresh forced after the attachment was added removed the attachment before saving. This has been corrected. | User Experience |
INC-237562 | 750261 | Section design correctly displays circumstanced by date | When circumstancing a section that used design templates (.pyIsUsingDesignTemplate = true) by Date, the section design became blank if a date in the past was used. The issue did not occur when circumstancing by Property. Investigation showed that the part of the section setup for the design time preview responsible for clearing out any circumstance properties currently set on the section did not clear properties involved with circumstance by date, and this has been resolved by updating the pzLiveDesignPreview activity to have pyRuleStarts and pyRuleEnds property values removed with the other circumstance properties when launching the live design preview. | User Experience |
INC-237881 | 757167 | Validation message shows on date field with custom validation | After configuring a text property with custom "use validate" on a Date control with onchange-Post value action, when user enters an incomplete date at runtime and tabs out, the input field was highlighted red but the error message was missing. On entering a valid date, the red highlight was not removed. This was traced to a missing parentNode.appendChild(errorDiv) in controls_postvalue, which has been added. | User Experience |
INC-238369 | 746253 | Improved accessibility for form containing field error | When submitting a form, the focus state remained on the submit button if a field was filled incorrectly. This has been resolved. | User Experience |
INC-238432 | 752224 | BusyIndicator description announced by JAWS | When the busy/loading indicator displayed onscreen, the status was not announced to screen reader users. This has been corrected. | User Experience |
INC-238533 | 755032 | Corrected issue with loading local actions | The Case -> Actions menu was inconsistently loading the local actions, such as selecting the action Withdraw/Cancel causing the system to load the Send to consultant action. Upon investigation and tracing, the issue was found to be a typo error that misspelled NewTaskStatus, causing the activity Work-pxSetActionProperties to fail as it checked for the value of NewTaskStatus. This has been corrected. | User Experience |
INC-238721 | 752537 | Added check for emptied required field | If a field that required a decimal precision on the control and had a required field validation was left blank by backspacing over the input, the required validation message disappeared. This has been resolved by adding an 'isValRequired' check for restricting return if event.keyCode === 8 (the backspace key) when validation type is required. | User Experience |
INC-238781 | 760851 | iOS scroll in mashup resolved | When using mashup, scrolling to the bottom of the page on an iOS phones caused it to automatically scroll upwards again. This was traced to an iframe scroll issue and has been resolved. | User Experience |
INC-238830 | 750468 | Context handling updated for error in dynamic layout | A "when" condition to hide an empty tab in a dynamic layout was causing the screen to freeze if validation failed. Investigation traced this to the "when" condition prohibiting the validation error from being displayed because the DLP for the empty temp value itself was hidden within the element. If an element is not rendered to the UI, validation can not be applied and the case can not progress to the next step/stage until this process has occurred. This has been resolved by updating the context handling for the endVisibleWhen in the contextStack if the UI is non-templated. | User Experience |
INC-238865 | 751045 | Updates made to close harness actions after load failure | When there was an error in opening a case, the Failed to Load Harness screen (x) close button was not allowing users to close the screen. This has been corrected by adding the cancel action for dynamic containers, and if it is loaded in the newtab thread the harness action will also load the home page. If the close button renders in the preview panel, runscript will close the side panel. All actions are added with proper conditions, and the section has been made available to allow changing the loading of harness from home to other harness. | User Experience |
INC-238941 | 752706 | Added BAC registration for Activity URLs | After update, a section configured to call a run script action on click of a link which triggered the "downloadfile" function to download an attached file failed with an unregistered request error for the activity. This has been resolved by adding a call to the pega.u.d.convertToRunActivityAction to make activity URLs suitable for BAC registration. | User Experience |
INC-239154 | 746265 | Updated accessibility for Autocomplete control role='combobox' | The additional attribute aria-expanded='false' on collapsed and aria-expanded="true" when expanded has been added to the Autocomplete control role='combobox'. | User Experience |
INC-239347 | 751929 | Accessibility improved for AppSearchText | Accessibility Inspector highlighted the need to provide an associated label in pyAppSearchText which belongs to the pzMyApps section final rule. This has been added. | User Experience |
INC-239409 | 756797 | Improved security for ReloadSection and ReloadHarness calls | A validation check has been added for pre- activities and data transforms passing with reload section/harness actions. | User Experience |
INC-240105 | 755978 | Grid refreshes on adding a row in Constellation | When using a list view which referred to a data page in the Constellation portal, clicking the Add button to add a new record In the list view did not show the new record in the table until a manual refresh occurred. This has been resolved by adding a createStageDoneEvent to handle the refresh for this scenario. | User Experience |
INC-240416 | 760972 | Performance improvement for getworkstyle activity | Some performance slowness was seen due to the GetWorkStyle activity opening the skin ruleform on each run to conditionally set appWorkStyle and workStyle. Because this obj open step is only needed when the inStandardsMode parameter is false, an update has been made to skip the obj open step when inStandardsMode is true. | User Experience |
INC-240736 | 752726 | Accessible table traverse shortcut works for autocomplete/multiselect | The shortcut to traverse into a table using T + down arrow to go through columns and table contents was not working in accessible mode if a section had any autocomplete or multiselect fields. This has been resolved by removing the role attribute from the body on blur. | User Experience |
INC-240897 | 757777 | Explicit reset added for clearing custom date format | After selecting a custom formatter for a date field with "/" as the date separator for a legacy table with a date control inside one of the table cells, selecting the standard formatter for date (using "-" as the date separator) did not switch the separator and the "/" continued to be used. This was traced to the customDateTime value not being empty even though the format had been changed back to the default, and has been resolved by setting customDateTime to null in the pxFormatDateTime Rule-Utility-Function when the selected format is not Custom. | User Experience |
INC-241196 | 753092 | Table sort resets for default view | When the personalized view was changed to "default" from any other view that had sorting, the default order was not returned. This was a missed use case: the data page instance was sorted by passing the sort criteria on the view change, but for the default view there was no "default" sort criteria to use. This has been resolved for tables sourced from a datapage. | User Experience |
INC-241380 | 758402 | Application switch works properly in Theme-Cosmos | The error "NullPointerException in SafeURL.put(key,value) {Location}, {undefined}" was appearing in the UI when attempting to change from one application to the other application. Investigation traced this to pzMyApps missing the necessary Theme-Cosmos version of pzEncryptAppSwitch, and this has been resolved. In addition, the pzDeferLoadApplicationLogo control has been withdrawn as it is no longer needed. |
User Experience |
INC-241418 | 756869 | System lock details display as expected | Hovering the mouse over system lock details to get the SmartInfo with operator ID resulted in the error message "Loading HTML failed". This has been resolved by adding a condition to check the server proxy before accessing it in the isOnline function under the statetracking file. | User Experience |
INC-241801 | 754223 | Corrected styling for expandable sub menu items | Attempting to show cases in the Theme Cosmos sub menu category simply refreshed on click and did not allow selecting sub menu items. This has been resolved by correcting the styling for an expandable menu item in the create menu. | User Experience |
INC-242971 | 758584 | Display harness updated with portal name for improved backwards compatibility | After updating from Pega 8.4 to Pega 8.7, actions which triggered SECU0019 such as opening a case from correspondence were blocked despite the identified actions and URLs being registered. This has been resolved by adding the portal name to the display harness action with target as new document. | User Experience |
INC-243874 | 757156 | All columns viewable when there are no records | The table's horizontal scroll bar was missing when there were no records in the table. The table could only be scrolled by keeping the cursor on the table columns. This was traced to the "No records found" div having position as absolute, hiding the scroll bar. To resolve this, the position of the empty container has been moved to pContainer, which has specified width. | User Experience |
INC-244016 | 760977 | Accessibility improved for hidden screenflow breadcrumb links | Users who navigated a form with JAWS were unable to execute or hear non-current breadcrumb links, both on mouse over and on focus. Instead, JAWS was reading out the last stage chevron and 'link' when focused on a non-current breadcrumb. This has been resolved by adding the necessary handling for a visually hidden screenflow. | User Experience |
INC-244057 | 756598 | Session timeout modal window properly aligned | When a modal was present on the screen, opening a workflow resulted in the session timeout popup being displayed in the top left corner of the screen instead of center. This has been resolved by passing isCenterOverlay as 'true' to align it properly. | User Experience |
INC-244408 | 761562 | Active breadcrumbs showing once | When question pages were embedded in a screen flow, running the case caused the active question page's label to be shown twice on the screen and both the breadcrumbs were clickable. This occurred when the checkbox "Subprocess has navigation links" was used, and has been resolved by hiding the subprocess steps for an embedded question page. | User Experience |
INC-246093 | 759994 | Create Menu is consistent between Portals in Cosmos | When switching between two portals in a Theme Cosmos application, the Create case menu was not updating for the respective portals and showed the wrong cases. To resolve this, ShowSelectedPortal has been updated to call pzClearStartingFlows to clear the data pages involved with create menu. | User Experience |
INC-247329 | 762598 | Spell Checker correctly clears error indication on save or refresh | After entering data, the rich text editor was highlighting an entire line as misspelt on save and refresh of the harness. In addition, the underline was not clearing after correcting an error in Dev Studio. To resolve this, the onSubmit regex expression has been updated to remove the spell checker underline on save or submit. | User Experience |