INC-160295 · Issue 635009
Null check added for pzinskey in CSLoadSelectedArticle
Resolved in Pega Version 8.5.4
In step 5 of CSLoadSelectedArticle, there is a call to pzGetAssociatedTags. Step 1 of pzGetAssociatedTags is an Obj-Browse with MaxRecords set to 100000000, and there is logic to retrieve records where pxLinkedRefFrom = Primary.pzInsKey. If Primary.pzInsKey is null, then the Obj-Browse will fetch all of the records. In order to prevent an unnecessary flood of results, a when condition has been added in the CSLoadSelectedArticle rule to check pzInskey so that when the context is empty the system will not call the pzGetAssociatedTags and return the entire record set.
INC-160851 · Issue 631619
Multiple Pulse attachments deleted correctly from datapage
Resolved in Pega Version 8.5.4
If a Pulse post had only one attachment, removing the post using the Delete option correctly deleted the attachment from Link-attachment and Data-WorkAttach-File. However, if more than one attachment was present, the attachments were removed from view in the UI but were not deleted as expected from the datapage D_AttachmentList. This caused the pr_data_file table to grow very large. Investigation traced the issue to a 'when' condition in the PegaSocial-Message-ValidateDelete activity that was incorrectly being set to true due to a null value and causing the system to skip the deletefile step. This has been resolved by updating the logic to correctly handle removing multiple attachments on delete of a post.
INC-161214 · Issue 640892
Push notification of shape-created child case opens correct case
Resolved in Pega Version 8.5.4
In a scenario with two cases, CaseA and its child case, CaseB, when CaseB was created from CaseA with a standard shape and a push notification was sent right after creation, the "Custom message" notification received on a mobile device opened CaseA instead of CaseB. If CaseB was created as a standalone case, the push notification opened it properly. This was traced to an edge case where the Primary.pzInsKey was empty because the child case was not available in database when the push notification payload was created by push shape, leading to the CaseID retrieved by getInstanceHandleFromPage to fetch the parent Case ID instead. This has been resolved by modifying the process to get the pzInsKey from the step page.
INC-161398 · Issue 639854
DataSync SynchronizationResponseStreamer logging enhancements
Resolved in Pega Version 8.5.4
The PegaRULES log contained "Response page does not match request, will generate failure response" errors even though no functional impact was observed. In order to enhance troubleshooting, additional DEBUG logs have been to DataSyncHandler, SynchronizationResponseStreamer is now logged on INFO level and contains more detail, and the error message has been modified to "Cannot prepare continuation response because offline package was stale. Will generate reset schedule response." to be more informative.
INC-164532 · Issue 635299
Correct context set for offline chat email processing
Resolved in Pega Version 8.5.4
After configuring "Allow end-customers to submit an email when chat is unavailable", the options for email and message were presented in the chat window and an item was queued for the queue processor cyCreateOfflineEmailMessage, but the queue processor became stuck on the queue item. Investigation traced this to the configuration causing the pyShouldExtensionBeLoaded activity to run under the incorrect context, which prevented it from accessing the needed workparty and goal values. This has been resolved by adding the pyShouldExtensionBeLoaded class to the pages to ensure the correct context.
INC-164947 · Issue 639861
Handling added for missing div when opening work object
Resolved in Pega Version 8.5.4
In mobile offline app, opening a work object in a specific scenario for the second time resulted in an endless busy indicator. It was not possible to navigate away, and the app had to be closed and reopened to continue. Investigation showed that some app sections had an action that tried to load a harness section where one specific div was missing, and this has been resolved by updating reloadSectionOSCOHandler to handle the missing div in the failure callback. Additionally a console.error() will appear for the missing section.
INC-165779 · Issue 641974
SQL query handling updated for mobile
Resolved in Pega Version 8.5.4
When the check box in mobile channel "Disclose application size when users log in for the first time" was enabled it produced the error "There was a problem getting a list: SQLState: Message: ERROR: relation "pr_data_full_sync_stats" does not exist". Investigation showed that all SQL queries passed to *getDb().executeRDB(...)* method were using the SQL table directly, ignoring any customizations to table mapping or database prefixes. This has been resolved by replacing the table name with a class reference ("Class: Pega-OfflineFullSyncSizeStatistics") so that table mapping can replace the reference with a proper table name and proper database prefix.
INC-167388 · Issue 650951
Values treated as strings for offline data transform concatenate
Resolved in Pega Version 8.5.4
When using a Data Transform to construct a URL using multiple properties that contain values with a leading or trailing "0", the "0" was trimmed when the corresponding mobile JS code was generated using pega.process.expression.getValue("pyWorkPage.PlanData.SegmentID", "pyWorkPage.PlanData") . This was traced to the offline property type assuming that any numbers-only string should be treated as a number, so the data transform concatenate was converting “0001” to 1. To resolve this, the value will be treated as a string when being evaluated in an offline data transform.
INC-168483 · Issue 644321
RemoveAssociation cleanup modified
Resolved in Pega Version 8.5.4
Step 8 of @baseclass.pxRemoveAssociation called an Obj-Delete method with the Remove parameter checked which was prematurely removing the page from the Clipboard when it was needed for further processing. This has been resolved by updating pxRemoveAssociation to uncheck the remove option for obj-delete, and cleanup will be handled by the Page-Remove in step 16.
INC-168935 · Issue 645395
CalendarGadget updated to display events in Saudi locale
Resolved in Pega Version 8.5.4
When using the pxCalendar section with the locale setting ar_SA, the calendar was correctly converted to a Saudi calendar but the events which were showing in the English version of the calendar were not showing up in in the Saudi Calendar. This was caused by the CalendarGadget page not populating properly due to the localized Hijri calendar failing a datetime check that was looking for a Gregorian calendar with time in GMT format, and has been resolved by updating the when rule "pzShouldDisplayEvent " to use the proper function for the localized calendar.