Version 1.68
Patch 1.68.75
Date: January 30, 2024
- Issue – Compatibility issues with Salesforce prevented multiple components from loading
Fix –
Updates were made to the SMS Magic application to ensure compatibility with Salesforce. The application’s integration methods and internal logic were adjusted to align with the new release requirements. Extensive testing confirmed that all components now function seamlessly within the updated Salesforce environment, effectively resolving the loading issues for users.
Patch 1.68.74
Date: 18th Jan 2024
- Issue – The customer was facing issues with character count and emoticons while sending message template
Fix –
The customer was facing an issue with the emoticons while using them in conversations since the patch 1.68.73 was upgraded.
Also, they were facing issues with the character count, which used to be 1400 but it was cut down to 700. When special characters were used in the conversations, the character count was 700 earlier but now it was cut down to 350. Due to this, the customer was not able to use message templates.
The markup for the emoticons was not as per the JS function and it was referring to the elements from the markup which were not returning the expected value of the user-selected emoticons. Also, in the composer component, the character count was fetched from the templateinfo object which is part of the composer data passed on from the parent component ‘conversationComponent’. The value for the character count was hard coded to 700 in the class ‘MessageComposerServerController’. Due to this, the customer was facing the character count and emoticons issues.
To resolve the emoticons issue, changed the markup for rendering the emoticons and changed the JS code referring to the emoticon that the user was selecting; to identify the correct emoticon. To resolve the character count issue, replaced the hardcoded value of 700 with the character count value that was set in the org.
Patch 1.68.72
Date: 17th Nov 2023
- Issue – The last incoming message time was not getting populated on Conversation on Incoming message.
Fix –
Users encountered an issue where the Last Incoming Time field was not getting populated on the conversation object while receiving an incoming message. This inconsistency affected the accuracy of conversation data and user visibility.
The root cause of the problem was identified as the presence of two lookup fields for a single object on the SMS History object. This setup was causing confusion and preventing the accurate population of the Last Incoming Time field on the conversation object.
The issue has been successfully resolved with the following solution:
- Single Lookup Field Configuration: The configuration of the SMS History object has been adjusted to have a single lookup field for a custom object. This eliminates the confusion caused by having two lookup fields for the same object on the SMS History object.
With this adjustment, users should now observe the correct population of the Last Incoming Time field on the conversation object when receiving incoming messages. The patch addresses the reported issue and ensures accurate and reliable data representation in the conversation history.
Patch 1.68.69
Date: 31st Oct 2023
- Issue – Component Error on Conversations Component in Utility Bar.
Fix –
Users were encountering a component error while using the Conversations component in the Utility bar.
The root cause of the problem was identified in the code, specifically in the Conversation Controller functionality. A null condition for the workspace API variable was missing, leading to the component error.
The issue has been successfully resolved with the following solution:
- Null Condition Addition for Workspace API Variable: A null condition has been added for the workspace API variable in the Conversation Controller functionality. This adjustment ensures that the code can handle scenarios where the workspace API variable may be null, preventing the occurrence of the component error.
With this modification, users will no longer encounter component errors when using the Conversations component in the Utility bar.
Patch 1.68.68
Date: 29th Aug 2023
- Issue – Text Messages were getting auto-deleted
Fix –
Several users reported an issue where, upon accessing a new contact record and promptly typing an SMS, the entered text was automatically deleted within the first few seconds. Subsequent attempts to type the SMS resulted in the text remaining intact. This behavior caused inconvenience for users, particularly when trying to send a message quickly.
The root cause of the problem was identified as a delay in the template loading and window data validation method. During this delay, while the user was typing a message, the method processed fetched data and inadvertently removed the message text value, regardless of the channel check. This issue was particularly noticeable when typing immediately upon accessing a new contact record.
The issue has been successfully resolved with the following solution:
- The logic in the template loading and window data validation method has been updated. The method now checks the current time against a valid 24-hour window. The message text will only be removed if the current time is outside of this window. This adjustment is specifically applicable only for non-SMS channels.
With these changes, users should no longer experience the automatic deletion of typed SMS text within the first few seconds, providing a smoother and more reliable messaging experience. The patch addresses the reported issue and enhances the usability of the Conversations component.
- Issue – Event Record Creation on SMS Scheduling from “Single SMS” Button
Fix –
Users encountered an issue where an Event record was automatically created when scheduling an SMS using the “Single SMS” button from the opportunity/affiliation record detail page. The automatic creation of these events caused confusion and inconvenience for users who did not find them useful.
The root cause of the problem was identified in the functionality of the manage package code. When scheduling an SMS using the “Single SMS” button, the process involved creating an SMS schedule record, followed by the creation of an Event record with the subject “Schedule SMS.”
The issue has been successfully resolved with the following solution:
- Event Creation Control: The patch includes a modification to stop the automatic creation of an Event with the subject “Schedule SMS” when scheduling an SMS from the custom button. The creation of the Event record is now bypassed, addressing the user’s concern about unnecessary events being generated.
- User Override Option: To provide users with flexibility, a new option has been introduced. Users who do not want events to be created when scheduling messages, can skip the event with a static resource which serves as a user override, allowing for customization based on individual preferences.
With these changes, users can now schedule SMS without the automatic creation of events, providing a more streamlined and user-friendly experience. The patch addresses the reported issue and introduces a configurable option for users who prefer not to have events generated during SMS scheduling.
Patch 1.68.67
Date: 7th july 2023
- Issue – The customer faced an error related to the message object API name, showing an inconsistent letter casing for incoming and outgoing messages.
Fix –
An error occurred when the customer viewed the object name of Contact displaying differently for Incoming and Outgoing messages.
We observed that the issue was caused by using the lowercase method in the SMS-MMS Messaging class, resulting in the object being populated in lowercase.
We have implemented a fix using the capitalization method to show the object’s first letter in capital. Changes have been made in the do lookup method of the consent trigger helper class to capitalize the object name while populating the object type in the consent confirmation message.
- Issue – The customer was facing an error related to the Apex CPU Time Limit while loading conversations.
Fix –
When the customer activates the Conversations component on the lead record page layout (in the activity section), an Apex CPU Time Limit error occurs after a few seconds.
We observed that the error is caused by many converse templates (more than 3900) created on the lead object, which exceeds the processing time limit.
We have implemented a provision to append additional clauses to the original query, order by and limit. This implementation limits the number of records fetched via the query, eliminating the time-exceeding issue and preventing the “Apex CPU Time Limit Exceeded” error.
Patch 1.68.65
Date: 24th May 2023
- Issue – The customer had a concern regarding the performance of the Converse App.
Fix –
An issue occurred while the customer tried to run the bulk campaigns, as the UI was not getting loaded when trying to execute the new bulk action.
We have observed that the customer extensively used bulk campaigns and has created more than 3800 bulk campaign actions till now. When this UI was loading, the build was querying all the existing bulk actions leading to a failure. The loader keeps loading this vast data and fails to fetch it.
We have analyzed and added an infinite scroll functionality to the UI actions. Initially, only 100 activities were shown. Upon scrolling next, the set of actions will be fetched and displayed on the UI, and the functionality continues until all the records are fetched. Also, we have created a provision to override the default value of 100 records, and this can be implemented by creating a static resource with an intended number of description values.
Patch 1.68.64
Date: 28th April 2023
- Issue – The customer had a concern regarding Salesforce legacy API
Fix –
The customer had a concern regarding Salesforce legacy API. They found “smagicinteract__QuickReply” was using 24.0 and 30.0 versions.
The Soap API versions 24.0 and 30.0 are deprecated. These API versions have been used in our managed package code.
To resolve this, the Soap API version was changed to 54.0.
- Issue – The converse package upgrade was failing due to field encryption
Fix –
The customer had enabled field encryption in the target org. When they were trying to upgrade the existing version (1.48.15) to the target version (1.68.55), it was failing. This enforced certain limitations regarding the use of the encrypted fields in the SOQL queries. In this scenario, the field in the question was ‘smagicinteract__PhoneNumber__c’ of SMS History object. This field was used in the “GROUP BY” clause in the ConsentService.cls class. Due to this the apex classes compilation step was failing which was executed by SF during package installation.
To resolve the issue, the code for ConsentService.cls was updated. The query was made dynamic such that the query was declared as a string and later executed via the “Database.query()” method. Also, we ran ‘DescribeFieldResult’ on the SMS History object and checked whether the field was encrypted. Based on the result the query execution was skipped if the field was found to be encrypted.
Patch 1.68.61
Date: 22nd Mar 2023
- Issue – Requirement to add more details in the consent edit page search.
Fix –
The customer had raised a requirement related to the consent object as they had multiple contacts with the same name and different numbers and accounts in their organization. As per the customer’s workflow, when they created a manual consent record, they searched the record by name and ended up with a list of names without any number or related data. This made identifying the exact contact record complex and raised a requirement to show more details on the result list.
We have observed that this was the package limitation and was fetching only the names of the records.
We have analyzed the customer requirement and updated the build, fetching the mobile phone field values configured in MOC. The required record now fetches these mobile phone field values and displays them on the new consent creation page. When two records with similar names are present, the search result shows their respective name and phone/mobile number.
Patch 1.68.50
Date: 22nd Sept 2022
- Issue – The user is facing an issue with the global and manual opt-out content type
Fix –
The user faced an issue operating with the global and manual opt-out based on content types. Countries with only one-way communication cannot opt-out using keywords. In such a scenario, they go for manual opt-out, enabling the “Content-type” and creating the manual consent records. It is mandatory to add a content type, as the global opt-out was not possible.
We have observed that the ‘Default’ content type is unavailable for selection on the UI while creating manual consent for the record (when the content type is configured as one of the compliance parameters).
We have updated the compliance service apex class query to include the ‘Default’ content type. Currently, the “Default” content-type option is available on UI (manual consent creation) while creating manual consent.
- Issue – The user was unable to search information object records on the bulk interface.
Fix –
The user gets an error message at the bottom of the page when searching for information object records on the bulk interface. It throws an error and assists the user in refreshing the page.
We have observed that the data service defined for the bulk sms component controller for search information object record failed. The reference to a service component was missing, causing the issue.
We have analyzed the missing reference of the service component and added it. The functionality worked well as expected, and the issue is now resolved.
Patch 1.68.49
Date: 21st Sept 2022
- Issue – The user is facing an issue with the global and manual opt-out content type
Fix –
The user faced an issue operating with the global and manual opt-out based on Content types. Countries with only one-way communication cannot opt-out using keywords. In such a scenario, they go for manual opt-out, enabling the “Content-type” and creating the manual consent records. It is mandatory to add a Content type, as the global opt-out was not possible.
We have observed that the ‘Default’ content type is unavailable for selection on the UI while creating manual consent for the record (when the content type is configured as one of the compliance parameters).
We have updated the compliance service apex class query to include the ‘Default’ content type. Currently, the “Default” content-type option is available on UI (manual consent creation) while creating manual consent.
- Issue – The user was unable to search information object records on the bulk interface.
Fix –
The user gets an error message at the bottom of the page when searching for information object records on the bulk interface. It throws an error and assists the user in refreshing the page.
We have observed that the data service defined for the bulk sms component controller for search information object record failed. The reference to a service component was missing, causing the issue.
We have analyzed the missing reference of the service component and added it. The functionality worked well as expected, and the issue is now resolved.
- Issue – Display label for the invocable method and its fields while setting up automation for consent creation/update
Fix –
While setting up automation for creating/updating consent (via invocable method), sometimes users add the consent status value slightly different than expected. (e.g., the expected value is “Opt-Out,” but the entered value is “Opt out”). Even this slight difference could create a problem, and consent records were not created/updated.
We have added a label for this field which will be displayed on UI (in PB or Flow) while the user enters the value for this field. This way, the users will know the expected values for this field and will be less likely to make mistakes while entering the required value.
We have made the labels visible while setting up automation for creating/updating consent records. It displays the acceptable values; the user would know the value to be set for the field and is less likely to make mistakes in setting the acceptable value.
- Issue – Renaming the Error Logs to App System Logs
Fix –
This is the new improvement to capture all the errors during data syncing between SF org and the platform.
All errors during sync between SF org and platform (and vice-versa) will be captured and further used for debugging the issue.
This improvement involves the following categories:
1. All license failures should be logged in the App system logs.
a. Whenever any license is allocated or removed from user management and the operation fails due to some error, the error is logged in the App system logs object. Earlier, it was logged in the error log object and rolled back the license assignment in Salesforce.
2. All platform events are to be logged in App system logs.
a. There are various event types logged in a specific method of classes. The application configuration service will create an error log entry if such request types are not found.
3. All manual syncs are to be logged in App system logs.
a. Whenever we perform a manual sync, we get the converse subscription information method from the FMA Utility class to fetch updated plan details. Later it also calls the feature master and populates data methods from the license manager utility to fetch and update feature master data. Here we can insert a system log record upon receiving a server response.
Patch 1.68.48
Date: 21st Sept 2022
- Issue – The user was facing an issue with the global and manual opt-out content type
Fix –
The user faced an issue operating with the global and manual opt-out based on Content types. Countries with only one-way communication cannot opt-out using keywords. In such a scenario, they go for manual opt-out, enabling the “Content-type” and creating the manual consent records. It is mandatory to add a Content type, as the global opt-out was not possible.
We have observed that the ‘Default’ content type was unavailable for selection on the UI while creating manual consent for the record (when the content type was configured as one of the compliance parameters).
We have updated the compliance service apex class query to include the ‘Default’ content type. Currently, the “Default” content-type option is available on UI (manual consent creation) while creating manual consent.
- Issue – The user was unable to search information object records on the bulk interface.
Fix –
The user was getting an error message at the bottom of the page while searching for information object records on the bulk interface. It was throwing an error.
We have observed that the data service defined for the bulk sms component controller for search information object record failed. The reference to a service component was missing, causing the issue.
We have analyzed the missing reference of the service component and added it. The functionality worked well as expected, and the issue is now resolved.
- Issue – The user wanted to display a label for the invocable method and its fields while setting up automation for consent creation/update.
Fix –
While setting up automation for creating/updating consent (via invocable method), sometimes users add the consent status value slightly different than expected. (e.g., the expected value is “Opt-Out,” but the entered value is “Opt out”). Even this slight difference could create a problem, and consent records are not created/updated.
We have added a label for this field which will be displayed on UI (in PB or Flow) while the user enters the value for this field. This way, the users will know the expected values for this field and will be less likely to make mistakes while entering the required value.
We have made the labels visible while setting up automation for creating/updating consent records. It displays the acceptable values; the user would know the value to be set for the field and is less likely to make mistakes in setting the acceptable value.
- Issue – Renaming the Error Logs to App System Logs
Fix –
We have implemented a new feature to capture all the errors during data syncing between SF org and the platform.
All errors during sync between SF org and platform (and vice-versa) will be captured and further used for debugging the issue.
This improvement involves the following categories:
1. All license failures should be logged in the App system logs.
a. Whenever any license is allocated or removed from user management and the operation fails due to some error, the error is logged in the App system logs object. Earlier, it was logged in the error log object and rolled back the license assignment in Salesforce.
2. All platform events are to be logged in App system logs.
a. There are various event types logged in a specific method of classes. The application configuration service will create an error log entry if such request types are not found.
3. All manual syncs are to be logged in App system logs.
a. Whenever we perform a manual sync, we get the converse subscription information method from the FMA Utility class to fetch updated plan details. Later it also calls the feature master and populates data methods from the license manager utility to fetch and update feature master data. Here we can insert a system log record upon receiving a server response.
Patch 1.68.47
Date: 8th Sept 2022
- Issue – The Guest user was unable to access records of the object “License Feature Matrix” and was unable to send SMS or MMS
Fix –
The issue occurred when the guest user was unable to send SMS or MMS and could not access records of the object “License Feature Matrix.”
The objects “License Type” and “Feature” are protected via a trigger handler, making it impossible to change the records outside the managed package. These records were owned by a specific user (ghost user). Due to this, the sharing rules created for the records of these objects were unable to be accessed by the guest users. Thus, the functionality of validating the feature access for the user was failing and created the sms history record via the guest user with a “Rejected” status along with an error message related to the license not being assigned (though the guest user has the appropriate license).
We have updated the global settings component and created a provision for which SMS-Magic people can update the ownership of the records to one of the valid users in the org. The records’ ownership has been updated to the new user.
Patch 1.68.46
Date: 29th Aug 2022
- Issue – Showing the confirmation popup when the user clicks on the “Send” or “Schedule” button on the bulk interface.
Fix –
As a part of the improvement, user wanted to update the confirmation pop-up message. The existing confirmation popup shows the information about selected recipients or the selected list view.
The newly created confirmation modal was applied with the click of the “Send” or “Schedule” button. It shows relevant information based on whether it is a bulk campaign or selected records from a list view, or a single record.
Implemented the confirmation popup on all three interfaces, i.e., converse bulk interface, send bulk SMS interface, and community sends bulk SMS interface.
- Issue – The user could not access Converse App Task, the UI in global navigation was unable to load.
Fix –
The user faced an issue loading the Converse app UI in the global navigation. It was showing an internal server error with a specific error id.
We have observed more than 40 lac records on converse app task objects in the customer’s org. Because of this huge data, the query responsible for the above mentioned functionality was failing, generating an error message from the Salesforce side.
We have added a ‘last seven days’ filter by ‘create date’ and now the query clause searches records from only the previous seven days.
Patch 1.68.45
Date: 23rd Aug 2022
- Issue – The Non-SMS Magic user got an issue when opening the contact detail page.
Fix –
An error occurred when the Non-SMS Magic user (Did not have the license and permission of SMS Magic) opened the contact detail page. It stated that the “object name message config does not have permission for fields (read). ” As per the defined functionality, the non-SMS Magic user should not receive this error.
We have analyzed that it threw the error from the conversation header component. During the optimization process, it did not include the required data for the component in the common apex call from the parent component. Thus, when the component is loaded, though the parent component displays a license-related error, the apex calls for the child component are still executed, resulting in an error.
Removed apex calls from the component, included the required data to be fetched from the parent component and passed further.
- Issue – The error message generated from the custom injection class should be displayed on bulk UI.
Fix –
The user could not see the message while using an injection point with the custom class to enable their custom logic. When they validate in the custom class, the required parameters are not met, and the custom class throws an error. That error message should be displayed on the UI as an error notification.
Analyzed that the error handling code was different for one of the methods in which the injection point was called. Due to this, it did not pass the error generated from the custom class to the package apex class.
We have updated the package apex class’s error handling method so that the custom class’s error will be passed on to the packaged apex class and to the component UI. The custom validate message generated from the custom injection class is now displayed on bulk UI.
- Issue – The user was unable to schedule any new automated SMS jobs in Salesforce.
Fix –
The issue occurred when the user scheduled new automated SMS jobs in Salesforce. The error states that the message suggests that we’ve reached our limit of scheduled batch jobs. The SF default is 100; however, the account was permitted up to 125.
We have observed that the users were not receiving this error when trying to schedule non-SMS jobs (e.g., scheduled emails).
Checked the specific static resource in the target org and updated the description field value limit of the static resource for the scheduled apex jobs. If the static resource is present and the description value of this static resource is greater than 100, then the value from the description field is considered a limit for scheduled apex jobs in the system. This will override the default of 100, which was considered in the package code.
Patch 1.68.44
Date: 19th Aug 2022
- Issue – The Non-SMS Magic user got an issue when opening the contact detail page.
Fix –
An error occurred when the Non-SMS Magic user (Did not have the license and permission of SMS Magic) opened the contact detail page. It stated that the “object name message config does not have permission for fields (read). ” As per the defined functionality, the non-SMS Magic user should not receive this error.
We have analyzed that it threw the error from the conversation header component. During the optimization process, it did not include the required data for the component in the common apex call from the parent component. Thus, when the component is loaded, though the parent component displays a license-related error, the apex calls for the child component are still executed, resulting in an error.
Removed apex calls from the component, included the required data to be fetched from the parent component and passed further.
- Issue – The error message generated from the custom injection class should be displayed on bulk UI.
Fix –
The user could not see the message while using an injection point with the custom class to enable their custom logic. When they validate in the custom class, the required parameters are not met, and the custom class throws an error. The user wanted that error message to be displayed on the UI as an error notification.
Analyzed that the error handling code was different for one of the methods in which the injection point was called. Due to this, it did not pass the error generated from the custom class to the package apex class.
We have updated the package apex class’s error handling method so that the custom class’s error will be passed on to the packaged apex class and to the component UI. The custom validate message generated from the custom injection class is now displayed on bulk UI.
- Issue – The user was unable to schedule any new automated SMS jobs in Salesforce.
Fix –
The issue occurred when the user scheduled new automated SMS jobs in Salesforce. The error states that the message suggests that we’ve reached our limit of scheduled batch jobs. The SF default is 100; however, the account was permitted up to 125.
We have observed that the users were not receiving this error when trying to schedule non-SMS jobs (e.g., scheduled emails).
Checked the specific static resource in the target org and updated the description field value limit of the static resource for the scheduled apex jobs. If the static resource is present and the description value of this static resource is greater than 100, then the value from the description field is considered a limit for scheduled apex jobs in the system. This will override the default of 100, which was considered in the package code.
Patch 1.68.43
Date: 4th Aug 2022
- Issue – The Non-SMS Magic user got an error while opening the contact detail page.
Fix –
An error occurred when the Non-SMS Magic user (Did not have the license and permission of SMS Magic) opened the contact detail page. It stated that the “object name message config does not have permission for fields (read). ” As per the defined functionality, the non-SMS Magic user should not receive this error.
We have analyzed that it threw the error from the conversation header component. During the optimization process, it did not include the required data for the component in the common apex call from the parent component. Thus, when the component is loaded, though the parent component displays a license-related error, the apex calls for the child component are still executed, resulting in an error.
Removed apex calls from the component, included the required data to be fetched from the parent component and passed further.
- Issue – The user wanted the error message generated from the custom injection class to be displayed on bulk UI.
Fix –
The user could not see the message while using an injection point with the custom class to enable their custom logic. When they validate in the custom class, the required parameters are not met, and the custom class throws an error. That error message should be displayed on the UI as an error notification.
Analyzed that the error handling code was different for one of the methods in which the injection point was called. Due to this, it did not pass the error generated from the custom class to the package apex class.
We have updated the package apex class’s error handling method so that the custom class’s error will be passed on to the packaged apex class and to the component UI. The custom validate message generated from the custom injection class is now displayed on bulk UI.
Patch 1.68.42
Date: 2nd Aug 2022
- Issue – The Non-SMS Magic user got an issue while opening the contact detail page.
Fix –
An error occurred when the Non-SMS Magic user (Did not have the license and permission of SMS Magic) opened the contact detail page. It stated that the “object name message config does not have permission for fields (read). ” As per the defined functionality, the non-SMS Magic user should not receive this error.
We have analyzed that it threw the error from the conversation header component. During the optimization process, it did not include the required data for the component in the common apex call from the parent component. Thus, when the component is loaded, though the parent component displays a license-related error, the apex calls for the child component are still executed, resulting in an error.
Removed apex calls from the component, included the required data to be fetched from the parent component and passed further.
- Issue – The error message generated from the custom injection class should be displayed on bulk UI.
Fix –
The user could not see the message while using an injection point with the custom class to enable their custom logic. When they were validating the message in the custom class, the required parameters were not getting met, so the custom class threw an error.
Analyzed that the error handling code was different for one of the methods in which the injection point was called. Due to this, it did not pass the error generated from the custom class to the package apex class.
We have updated the package apex class’s error handling method so that the custom class’s error will be passed on to the packaged apex class and to the component UI. The custom validate message generated from the custom injection class is now displayed on bulk UI.
Patch 1.68.41
Date: 21st July 2022
- Issue – The user was getting an error while attempting to create a New Consent record manually
Fix –
The users who have non-admin access were unable to create Consent Records manually. It was throwing an error stating that the “Procedure was only valid for System.DMLException and System.MailException”, as shown below:
Analyzed the debug logs and observed that a few components didn’t have the update permission. We have provided the update permission to the specific components at the user level and resolved the issue.
Patch 1.68.40
Date: 11th July 2022
- Issue – The user was getting a component error when they opened the Home page.
Fix –
An error occurred when the user tried to open the Home page. This issue occurred when they were in classic and were switching to lightning on the Home page.
We have analyzed the missing validation for the recipients list component instance in the conversation view helper class and added a validation. We have added the missing validation component, and the issue is now resolved.
- Issue – The user wanted to enable a custom injection point (Sender ID & Template) for Bulk interface
Fix –
The user faced an error in the Conversation tab on the detail page when they upgraded the application to the latest version 1.68.37 from 1.60.75.
Error: “SObject row was retrieved via SOQL without querying the requested field: smagicinteract__SMS_SenderId__c.smagicinteract__Channel_Code__c”
Enabled injection point for bulk interface based on the flags for SenderId and Template.
The issue related to retrieving SObject rows via SOQL without querying the request in the Conversation tab on the detail page after upgrading to version 1.60.75 is now resolved.
Patch 1.68.37
Date: 19th May 2022
- Issue – The user was facing an invalid field account name issue while creating the case/opportunity under the error logs.
Fix –
An error occurred when the user configured “Case” as a MOC. The error states: “invalid field Account.Name for case/opportunity” under the error logs.
As per the functionality, when any incoming message record is created, the package sends an email to notify the user about the incoming message. The subject of that email contains the name of the record. This value is resolved from the name field configuration in the MOC for the record. In this case, the Account name was not resolved. But the system only parses the static values and cannot resolve relationships. Thus when the system encounters the relationship data instead of static value, a corresponding error log is generated.
We have updated the receipt name map method of the SMS utility class and resolved the field name as a relationship.
We have updated the receipt name map method of the SMS utility class and resolved the field name as a relationship. No error logs were created upon receiving the incoming message, and also received the notification email with an account name in the subject line.
- Issue – The user was facing an issue with the SMS Format while adding a Short link.
Fix –
An error occurred when the user tried to send messages with a short link, the outgoing message showed an improper format of the message.
Outgoing messages containing shortened links added via the “++ “prefix showed “++” in the shortened link.
We have updated the functionality to check the condition for a line break in the shortening service.
- Issue – The user was facing an issue with the merge field where the time format was not correct.
Fix –
An error occurred when the user sent an SMS from the “Student application” object. They passed a merge field for a time, but the time format was incorrect.
In the specific record, the interview time field was 1:00 PM, but in the SMS text, it showed as “13:00:00.000Z,” which was not the correct format. We have analyzed the dateTime string converter in the system, which calls to convert the time field and was not working as expected.
We have added an internal class in the SMS Utility class to convert the time field, which converts the time value into a user-readable value as displayed on the UI. e.g., 1:00 PM.
Currently, the time value in the final message text is in a human-readable format (e.g., if the time value is set at 1:00 PM, in the message text, it should be populated accordingly).
Patch 1.68.35
Date: 8th March 2022
- Issue – The customer was facing the Converse app bulk action issue; it was showing the incorrect date on the UI for the scheduled jobs.
Fix –
The user had a use case to send bulk recurring campaigns weekly. When scheduling a campaign for any future date, for example, a recurring campaign starting from 22nd February 2022 to 8th April every Tuesday at 7 pm, 22nd was the date selected as the start date but on saving the details section and scheduled jobs, the start date was shown as 15th February 2022, i.e. one week before the actual scheduled date.
The user also wanted to pause these scheduled bulk campaigns on the Easter break on 17th April and then restart on 19th April. The user tried to pause a campaign but it still triggered messages.
The program action controller was analyzed (action next run map functionality) and it was observed that it was fetching only the next fire time; hence, it was showing an incorrect date on the UI.
To solve this issue, the start date-time conditions were modified in the program action controller, which then resolved the error and displayed the correct date on the UI.
- Issue – SMS was not getting sent via Bulk Button, and no history was getting created at the record level.
Fix –
The user was trying to send SMS to 150-200 customers of Lead’s list view via Bulk SMS Button. Upon clicking the send button, the message “SMS sent successfully” was appearing, but SMS History was not getting created at the record level or on the SMS History object.
Analyzed the debug logs and found that one consent record had empty values for compliance status and external key, causing the error.
To resolve this issue, added value for Compliance status as ‘Expired’ for this record. Also, the consent service method added the null checks for name and compliance status fields, which exempted the issue, causing the “Attempt to dereference a null object.”
Patch 1.68.34
Date: 10th Feb 2022
- Issue – Issue with the SMS template when the user had a self-lookup relationship
Fix –
The user uses a third-party Mortgage App in Salesforce org. It has a Mortgage’s Contact object (Field Name: Referred By), which has a self-lookup relationship with the contact object where, the mortgage’s contact is the parent object, and a contact is a child object.
The user had set up the flows to send the messages from the Child record to the Parent Contact record. When a criteria is met on the child record, it created the SMS history record on the Parent Contact record. The SMS template was created on the Contact object using the merge fields of Parent and Child Contact records.
The user faced an issue while sending these outgoing SMS; the SMS template could not fetch the information from the Child’s contact record.
The user had checked this with the SMS 360 App and confirmed that this feature is already implemented in their managed package, where the SMS template can fetch the Parent and Child Contact record information while sending automated SMS. They have a related object ID field on the SMS history object, which can be used to pass the ID value of the 2nd Contact lookup field.
The user required customization to achieve this use case as they needed to address more than 15 customers and needed the functionality to be added to the package.
As per the enhancement request, the user configured a self-lookup on the object, i.e., contact (field name – Referred By). As per the analysis, the configured Flows on the Contact object acts on contact and sends a message referred by a contact. The user used the template for sending msg and merging fields of both primary contacts and was referred by a contact. But as they are adding lookups of referred by a contact, fields were not resolved correctly in the template for both contacts.
As per the user requirement, we have created a custom field for related objects on the Converse App Task object and populated the value of this field (record Id) while configuring the flows for Converse App Task. The process first checks whether the field is present, then checks if the value is present in this field, and then uses the lookup and resolves the merge fields.
The enhancement related to the self-lookup relationship for the SMS template is now implemented.
Patch 1.68.33
Date: 12th Jan 2022
Issue – The non-admin users of the customer were getting an error on the Converse home page
Fix– When a non-admin user of the customer was logging in on Salesforce and navigating to the Converse Home page, they were getting the following error:
‘Organization object does not have permission for field(s) Read’
In the checkIsSandbox() method of FMAUtility.cls the ‘Read’ access was being checked. And if the user was not having the ‘Read’ access, they were getting the said error on the Converse Home page.
To solve this issue, the checkIsSandbox() method of FMAUtility.cls the ‘Read’ access was removed.
Patch 1.68.31
Date: 7th Jan 2022
1.Issue -Non-admin users were getting an error on the converse home page
Fix–
When the non-admin user was trying to turn off the notification, it was saying, “Your plan details are changed. Please click here to get the updated plan details”. And when the non-admin users tried to click on “Click Here,” no operation took place.
The pop-up was triggered only when the user had customized application permission. Also, the check for read access on organization access was removed.
The issue related to the converse home page for the non-admin users is now resolved.
Patch 1.68.30
Date: 23rd Dec 2021
- Issue – The guest user of the customer was not able to send messages as the required license was not assigned but an org-wide license was present
Fix- Guest users should be able to send messages even if the required license was not assigned but an org-wide license was present with a feature to send messages. However, the guest user of the customer was getting a license error and was not able to send messages even after the org-wide license was present. Messages were failing with an error- ‘You don’t seem to have the required license to send SMS or MMS’.
One ‘if condition’ was present in the isFeatureAccessibleForUsers() method of LicenseManagerUtility, where only if any license was assigned to a user, the features of the org-wide license were getting checked. If any license was not assigned to the user then this ‘if condition’ was not pulling any features of the org-wide license.
To solve this issue, added condition if orgWideFeaturesSet is present, and if current userType is present in category field of License Type or category field is empty then add those features to the user.
- Issue – The non-admin users of the customer were getting a component error while they were navigating to the contact record.
Fix- In the getConversations method of LightningUtilityMessageNotification.helper, an undefined value was found, due to which this issue was occurring.
To fix this issue, added one condition (not null and isValid()) for component.find method in helper class.
3. Issue – SMS-Magic mobile users were able to send SMS to leads even before obtaining their consent.
Fix- SMS-Magic mobile users were able to send SMS to leads even before obtaining their consent.
The customer had created a test user and provided the consent for testing purposes. The customer was using CustomConsentService class to validate consents. In SendSMSTriggerHelper.sendSMSBeforeTrigger(), the ConsentService.getConsentValidatedRecords() method was called to fail records on the basis of consent. The injection point was provided in this method. Messages were getting failed in the custom class and were returning to the list mobileApplicationSMSList in SendSMSTriggerHelper. As CustomConsentService was used, the list was sent and processed in a serialized form. In the process of serialization and deserialization, the reference was not followed and mobileApplicationSMSList was treated as a different list from smsList which is the main list. This main list was not getting updated.
To solve this issue, the main list was updated as per the updated mobileApplicationSMSList in SendSMSTriggerHelper.sendSMSBeforeTrigger().
Patch 1.68.29
Date: 14th Dec 21
- Issue: Customer wanted to exceed the limit of objects to be added to MOC from 10 to more.
Fix:
The user had a requirement to text to more than 10 objects. While trying to add the 11th object on MOC, they were getting an error that the limit is exceeded.
We had a limitation of Max 10 MOC records in converse settings. But as per the user requirement, we have addressed the below solution details:
- Added configurable Static Resource with the name as- SMIExceedMOCLimit.
- The current value > 10 was modified and allowed the user to add more than 10 MOC objects but not more than 20 Objects in MOC, without any error.
- If the user wants to allow 20 available objects in MOC then they need to disable the Add Object button message should be displayed like ‘Max limit of 20 objects reached. Please see attached screenshot.
The requirement to add more than 10 objects to the MOC is now attained, and the error of exceeded limit is now resolved.
2. Issue: Custom Map integration created by SMS Magic was not working
Fix:
The user was facing an error while using the “Send Bulk SMS” button on the maps app.
Analyzed the issue and found out that it occurred because the package code tried to trim the list of IDs, assuming that the list has square brackets at the first and last positions. But in the real scenario, we observed that the square brackets were not present; thus, the trim function was causing the issue.
Modified the substring function and eliminated the truncating effect for the first and last ID. Used the substring function on the ‘idList’ string only if square brackets were present in the string.
3.Issue: The user was facing Bulk SMS Component Error and Bulk button issue on LWC.
Fix:
When the user opened a custom widget and clicked on the Send SMS button, no list was shown, and no record was selected.
It was observed that after selecting a record from the listview to send Bulk SMS, sometimes the records were passed without the ‘[‘ ‘]’ brackets. Also, it was observed that as the ‘[‘ & ‘]’ brackets were unavailable, removing characters from record ids caused the issue. We analyzed and removed the first & last characters from the array.
The normal bulk SMS from any List view of any object and the bulk button issue on LWC is now resolved.
4.Issue: The customer was facing an issue with the consent component and getting an error message when there is no phone number on the record
Fix:
An error occurred when the phone number was not present on the record. Error message: “No phone numbers are available on this record.”
If the user tried to add a consent component to the record on the same record, an error was prompted: “You do not have a License that provides access to this feature. Raise a request to your Admin by clicking the ‘Request For License’ button below if you need this feature.”
Analyzed that if the phone number was not present on any record, then from the APEX method, an exception was thrown, which was shown as a notification error on the component. Subsequently, the component UI was hidden, showing only the access denied UI.
Updated the internal class with two new attributes, which use a return datatype for the apex method class. The exception thrown from the apex method was removed, and updated the new attributes with the error message. In the component, this error message is referenced to identify if there is an issue fetching the data. An error message is displayed on the UI instead of showing an error notification.
The issue related to the consent component throwing an error when observed no phone number on the record is now resolved.
Patch 1.68.28
Date: 1st Dec 21
- Improvement: The user was unwilling to assign “Customize Application” permission to Non-Admin users.
Fix:
The user wanted Non-Admin licensed users to view and make changes in Converse settings, but they were not ready to assign “Customize Application” permission to these users.
Implemented the solution by creating one static resource and a new method in the common utility controller. Checked the preferred access for the present resource in the org and made the access flags available.
The functionality related to the Non-Admin licensed users viewing and making changes in Converse settings and not assigning the “Customize Application” permission to these users is now addressed.
Patch 1.68.27
Date: 15th Nov 21
- Issue: Customer was facing an error while creating consent record manually
Fix: The customer was getting an error ‘Invalid Phone Field’ while creating the consent record manually. The customer tried to create a consent record for the Case Role object and the phone field which the customer had selected was a lookup field that was fetching data from Accounts Object.
The phone field was added under the Message Object Configuration and the user was having all the required permissions still they were getting the same error.
Created a custom object named ‘Case Role’ and a lookup field that was fetching phone numbers from Accounts Object. Customer was getting an error ‘Invalid Phone Field’ while they were adding the object under Message Object Configuration and trying to create the consent.
The same issue was occurring for the standard objects as well.
In the Phonenumber() method of the ComplianceService.cls class, the phone field was not getting resolved for lookup values.
Created similar configurations as mentioned in the description and tried creating consents manually. It created consent records successfully.
To Solve this issue Used the existing method SMSUtility.resolveFieldValue() to resolve the lookup values.
- Issue: Many users were complaining that they were seeing SMS messages in their conversation view, while in ‘My Inbox’ that were not for them.
Fix:.Whenever a push topic subscription fails, An alternative method called get Latest Conversations After Given Time () in Conversation Service. cls from where the conversation records were fetched. This query did not have a filter for the owner.
To solve this issue, added the Owner ID filter in the query while fetching conversation records.
- Issue: All the mobile numbers were not showing when tried to send SMS from Send Bulk SMS Button
Fix: All the numbers were present in the conversation lightning component. However, the numbers were not showing when the user was trying to send SMS from the Send Bulk SMS Button. After debugging the issue, it was analyzed that in LightningBulkSMSController the variable Allowable_Phone_Fields was initialized to 3. Hence it was showing only 3 phone numbers on the SendBulkSMS UI.
To solve this issue removed the Allowable_Phone_Fields variable from LightningBulkSMSController wherever it was used and populated the number of phone fields on SendBulkSMS UI which had been configured in the Message Object Configuration.
Patch: 1.68.26
Date: 3rd Nov 21
- Issue: Customer was facing Component Error.
Fix: The user had reported the issue, which was not regular but intermittent, and occurred when the user opened any contact record. It couldn’t capture any logs as this was an intermittent issue.
The user was having permissions as well as licenses assigned, still was facing this issue.
Component Error occurred because push topic subscription was not successful for the affected user of the customer.
To solve this issue, added the Null check-in ‘ProcessMessages’ method of conversationComponentController.
Below is the link attached to the chatter and the component error that the customer was facing:
https://docs.google.com/spreadsheets/d 16EQVM_MDKgvsbB0uD9a94GZnO31518UjjzzJg6XxZgE/edit#gid=0
Patch: 1.68.25
Date: 21st Oct 21
- Issue: The user was facing an issue where the converse home was not loading after upgrading Converse App from version 1.54 to 1.68.23 version
Fix:
The user was facing an issue while loading the converse home page after upgrading the Converse App from version 1.54 to 1.68.23 version. This issue occurred after upgrading the PROD account and syncing 1k+ licenses.
The debug logs in the analytics controller class were analyzed and active users’ select id, Name, and ManagerId were fetched from the user and more than 50000 records were returned. The fatal error was observed with limited system exception with too many query rows: 50001.
To solve this issue, queried the active users and license on the license object with the select id, name, user component, and manager id from the license component with active status and active users. Configured these parameters and loaded the converse home with accurate data.
Patch: 1.68.24
Date: 18th Oct 21
- Issue: Health cloud instance was facing issues with a conversation on Referral object
Fix: The customer was getting the following error while adding Account as an object from Message Object Configuration.
- The failed update was: First exception on row 0 with ID 0IF8s00000001ddGAA; first error: INVALID_FIELD, No such column ‘CareProgramEnrollee_c’ on entity ‘smagicinteratsmsMagic’. The team was attempting to use a custom field, to be sure to append the ‘_c’ after the custom field name. Please reference your WSDL or the describe call for the appropriate names.: [Query]
- Also, when the customer was trying to send the SMS from the Referrals object through the conversation component was getting the below error –
Object Name Referral did not have a field(s) Owner ID.
There was a cloned permission set created and assigned to the user.
The customer was using HealthCloud instance org.
The object CareProgramEnrollee_c did not contain the Owner ID field. It was a master-detail relationship where the customer got the Owner ID from the master object. In this case, a condition field. Is cascade delete) was added on fields of this object. If the object was a Master-detailed relationship, it returned true and the Owner ID of the parent object was used. But for some objects, including ‘Careprogramenrollee_c’, it was returning false and we were not able to add parent Owner ID.
To solve this issue, added one flag Owner ID Present. It’s set false if the object doesn’t contain the Owner ID field and true if it contains Owner ID and if the ‘Is Cascade Delete’ is also true. Later we used this flag to remove the Owner ID field if it’s not in an object from the query where we’re getting the error.
Patch: 1.68.23
Date: 13th Oct 21
- Issue: The customer was not able to reply to his customers on WhatsApp during the 24hour session.
Fix: When a reply was sent from our mobile app to a WhatsApp message it was not coming through and giving the error ‘WhatsApp 24 hr active window is closed for this recipient’. You can send a message using a registered template only’. But a response from Salesforce and a reply were coming through.
For sources 1124, 1150, 1105, 1495, 4001, the 24-hour window was being validated by using the checkForMultiChannelSupport() method which was called from SendSMSTriggerHelper.cls in BEFORE context. From this method, the get QueryResults() method was called to query on SMS History Object to fetch incoming records within the last 24 hrs. Here ‘PrimaryLookupField’ was used in the ‘Where’ clause. There was an object lookup in case the SMS record contained any object lookup, like contact/lead or a conversation lookup.
In the case of orphan record, there was no lookup of any object on the SMS record so the conversation lookup field was being used in the ‘Where’ clause while querying. But in the previous context, there was no conversation lookup on an SMS record and that query was returning 0 rows. That’s why the valid duration was false.
To solve this issue instead of querying on the basis of any object lookup, querying on Phone number, Sender ID, and Channel code was done. So it was not affecting even if the Conversation lookup was empty.
Patch 1.68.21
Date: 8th Sept 21
1.Issue– User was facing an issue with the Conversation Component in Utility Menu
Fix–
The user was facing an issue with the Conversation component in the Utility bar. The user created two different contacts, and when they tried to navigate the individual conversation component, it still showed the earlier messages of previously loaded contacts.
The conversation component controller adds a call for the toggle to display all the messages through the handle record id functionality and passes the record id to the message list component.
The issue related to the conversation component in the utility menu is now resolved.
2.Issue– User was facing License Sync and Plan Issue
Fix–
In v1.68, there was an intermittent issue where the license was not getting synced, and the user was getting locked out since the SMS-Magic license was not assigned to that user. Some fields of “Global Setting” and “Security Setting” were unavailable to edit on the given VF page. These fields need to be made available on the VF page for editing.
Certain fields of protected custom settings were available for editing via the VF page. This page can be used to update the available fields of protected settings in the orgs where subscriber access was not available. Especially in government cloud orgs. These fields need to be updated to reset the registration step and simulate the registration again.
The global setting component was updated to show the fields required to reset the registration step. It was useful in the orgs where SA was unavailable and if the user was getting locked out due to license sync issues or other possible errors.
The new fields will be useful to reset registration steps in the orgs where subscriber access is unavailable. With this, the auto-assignment of the license for the logged-in user was implemented, and the issue got resolved. The issue related to the license sync is now resolved.
3.Issue– SMS-Magic license error received by all non-SMS users when they were accessing the record page
Fix–
The customer had added an SMS-Magic component to the record page layout. Some of the non-SMS users of the customer did not have an SMS-Magic license assigned, and were not supposed to have an SMS-Magic license. When these non-SMS users were accessing the record page, they were getting an error notifications about not being able to access SMS-Magic-related files or licenses. The customer did not want these non-SMS users to see such notifications. The customer was neither ready to create different page layouts for such non-SMS users nor were they ready to assign SMS-Magic permission set to such non-SMS users.
To solve this, we updated all the conversation components and data service streaming components to consume (not to display) the error messages related to non-access to SMS-Magic apex classes. It displays the no access-related message on the component UI for non-licenses users and suppresses any further apex calls from the components.
Patch 1.68.19
Date: 3rd Sept 21
- Issue: Get domain API of the portal, called though URL shortening was not enabled
Fix:
Get domain API of the portal, called though URL shortening was not enabled. To solve the issue, checks were added for restricting the API if the URL shortening was not enabled.
The issue related to enabling API portals is now resolved.
Patch 1.68.18
Date: 31st Aug 21
- Issue: Automation Key Reference was wrong
Fix: The customer was facing an issue while sending automated messages to Prospects(lead). The flows was set up for the 1st SMS message to new Prospect (Lead) records created. Any Lead created by the following user “Lender Site Guest User” was receiving an SMS.
Earlier, a customer was facing the following issue ‘Automation key reference was wrong’. This issue was resolved after sharing the settings assigned on the Converse App and App task.
The SMS history record was not getting created for guest users, the team was running a process in the queue in MessageAutomationHelper.queueablePostprocess() method, but in this method, a condition was applied, which was checked if it is Asynchronous or not. This condition was failing. That’s why it was not running in a queueable context.
To solve this issue, the check MessageUtility.isAsynchronousContext() was removed from MessageAutomationHelovper.queueablePostprocess().
Patch 1.68.17
Date: 19th Aug
- Issue: Upgrade failed in Sandbox as the customer was trying to upgrade from 1.55 to 1.68.14
Fix: Customer was trying to upgrade from 1.55 to 1.68.14 version and was receiving the below error: The error was seen on the Deployment status page: Error: Unexpected Error and the details were that the package installation failed. 1.68 Error Message: The post-install script failed.
The error that the customer received in the email was: The request to install package ‘SMS-Magic Converse Spring 2021’ was unsuccessful. None of the data or setup information in the Salesforce.com organization was affected.
In AnalyticsControllerTest.cls the customer was ordering query results based on the Mobile Phone field of Contact Object. In the customer’s org the field which was encrypted was Salesforce limited and was used in ORDER BY clause in any query. The limited field was causing the installation of the package (v1.68.14) to fail in the customer’s org. The salesforce.com organization was affected
To solve this issue, the ORDER BY clause was removed in two queries referring to the MobilePhone field of Contact Object.
Patch 1.68.15
Date: 17th August 2021
- Issue: The customer was receiving a component error on the case record page
Fix: A component error was appearing every time the customer was trying to send a message from a case record. The package was upgraded from 1.68.9 to 1.68.14 but the component error was still appearing.
Although the component error was appearing, the customer was able to send SMS but for this, they had to close 4 to 5 error windows. The customer was getting an error as shown in the image.
There was a reference to the attribute “slashTagBackUp” in the JS helper file. This attribute did not exist in the component which was causing the issue.
To solve this issue, the reference of this attribute was removed from the JS helper file.
Patch 1.68.14
Date: 14th July 2021
- Issue: Customer was not able to install SMS-Magic package on Salesforce essential
Fix –
While trying to install the SMS-Magic package on Salesforce essential, the customer was getting an error message, ‘Your request to install package “SMS-Magic Converse Winter2021” was unsuccessful. None of the data or setup information in your salesforce.com organization was affected.’
In CampaignManageControllerTest.cls an operation was being run on a Product object which was a Salesforce-provided object. This was causing issues in Salesforce essentials as this object was not present in Salesforce essentials.
To solve this issue, the Product object was replaced with Contact & respective fields
- Issue: Error during an attempt to de-reference a null object
Fix –
The user was creating a Consent record by calling the Invocable method from the flows. For Phone type compliance, if the user does not add Sender ID in the flows & tries to run that flows, it was throwing an error in the error log object, “Attempt to dereference Null object”.
In the consent service, the Sender ID was being searched & if Sender ID was available then only the channel code was being checked.
In this case, Sender ID was always blank and that’s why it was pushing channel code as null while creating the consent.
To solve this issue, after Sender ID & channel code was checked, a check was added to see if the channel code is null. If yes, then ‘1’ was assigned as a default channel code.
Patch 1.68.13
Date: 1st July 2021
- Issue: The user was facing an error while attempting to create a consent from the flows
Fix:
An error occurred when the user created a consent record by calling the Invocable method from the flows. If the user was trying to run the flows without adding the Sender ID for phone type compliance, it was throwing an error: error log object “Attempt to dereference Null object.”
To resolve this, the Sender ID & channel code was checked, and a value was added as a default channel code if it was empty.
The issue related to the consent creation record for dereferencing a null object is now resolved.
- Issue: The customer was facing a Mobile app licensing issue on the base license
Fix:
The functionality needed to handle the new response values that were returned, based on the validations added for mobile app licensing, based on the base license. But the customer was facing the mobile app licensing issue on the base license.
To resolve this, the functionality was updated to handle the response that was returned from the sync license portal callout, the error log was analyzed, and the license status was returned in case of a failure.
It addressed the below three cases:
- Adding a mobile license if the user doesn’t access the converse desk, marks the license as inactive.
Failure: “You do not have any license having a converse desk feature for user {} cannot assign mobile licenses.” - Removed any license if the user lost access to the converse desk and then activated the license again.
Failure: “You cannot remove the license as the mobile license is allocated to the user {actual user name}.” - If the platform returns any error response while syncing the license allocation change, that operation will be reverted, and the error log will be added with the failure reason.
Patch 1.68.12
Date: 17th June 2021
- Issue: User was receiving a Sound Notification for Incoming SMS even when the notification was disabled from the SMS-Magic Converse settings
Fix –
The default value of attribute ‘isIncomingVoicePermission’ in conversationView component was set to true. In controller.js the value of this attribute was set only if the corresponding flag value in global settings was set to true. Due to this, the value of the sound notification setting configured in the converse setting was properly populating in the Converse desk component. Thus even if it was set to false, the sound notification was getting played on incoming messages.
To solve this issue, the default value of the sound notification attribute in the conversation view was set to false. With this, the sound notification was not received on incoming messages.
- Issue: Admin was not able to access the SMS-Magic Converse Settings
Fix –
The customer was not able to access the Converse Settings and was receiving an error, “You do not have a License which provides access to this feature.” in spite of having the required license.
The code was checking for the profile name of the logged-in user to be “System Administrator”. Thus even if the user had admin privileges, as the profile was not “System Administrator”, the user was not able to access the Converse settings.
To solve this issue, the unnecessary “System Administrator” profile check was removed.