Hi Team,
We have already published an app named Exotel CTI on the Freshdesk Marketplace. Currently, the platform version(v2.2) used in the existing app is deprecated, and we are working on upgrading the app to comply with the latest platform version.
I have a couple of questions regarding this:
Publishing the Upgraded Version:
What is the recommended process to publish this upgraded version so that it replaces the existing app on the Marketplace seamlessly, without causing issues for current users?
Rollback Procedure:
In case any issues arise post-upgrade, is there a supported rollback mechanism that allows us to revert to the previous stable version of the app? If so, how does that process work?
We want to ensure a smooth transition for our users and avoid any disruptions during or after the upgrade.
If no app installation or settings are added or changed, the app can be auto-updated for all users on the last application version without any effort from the customers’ end.
They can still manually update it smoothly if they use one of the older app versions than the last version.
No other behavior changes for the users to upgrade the app from platform v2.2 to v2.3 or v3.0.
If any app installations or settings are added or changed, the users must provide them while updating the app. Auto-update cannot be enabled in this case, so all users have to update the app manually.
Rollback procedure
Freshworks platform doesn’t have the rollback feature. So, the only way to revert is to publish another version with the previous app version.
The auto-update feature is available on the platform, which will help push another version to all the users in the impacted app version that is to be reversed.
We’re currently in the process of upgrading our app to align with the latest platform version (v2.3/v3.0), and would like to clarify a couple of additional points to ensure a smooth and controlled transition for our users:
1. Manual Update Preferred Over Auto-Update
We would prefer not to auto-update the app for existing users. Our intent is to ensure users consciously opt-in to the updated version by manually clicking the “Update” button. This is to avoid any unforeseen disruptions and give our users full control over when they transition to the latest version.
Could you please confirm the required configurations or metadata changes we need to make in our app submission to disable auto-update and enforce manual updates for all users?
2. Intermittent API Errors During Local Testing
While performing local testing of the upgraded app using the FDK, we encountered intermittent 502 Connection Establishment errors while calling certain APIs. Following the community advice shared here: Connection Errors on FDK, we were able to mitigate the issue in our local setup.
However, we are concerned about similar issues arising post-deployment in the production environment, as this could impact our users.
Could you advise on:
Whether these errors are exclusive to the FDK/local environment?
Any best practices or guidelines to ensure this doesn’t occur in production after the app is published?
Our goal is to ensure that the upgrade is smooth, stable, and non-disruptive for existing users, while also having a clear rollback path in the unlikely event of any post-deployment issues.
@Anant_Prajapati It’s good to plan ahead of the app update release. I appreciate your proactive preparedness.
1. Manual update over auto-update
This option is an opt-in feature. While publishing the app, you can select/unselect the checkbox for the auto-update feature.
Please keep it unselected to release the app without auto-update enabled so that all your customers can manually update the app as per their wish whenever later.
Note: This auto-update feature is only applicable to customers in the immediate previous version of the app. So, if you do not use this option, later, if you would like to use it, all the customers may not be in the latest version to get the new version. So, please plan your strategy accordingly.
2. Intermittent API errors during local testing
In the linked community post, the problem was not identified; rather, a security settings change was suggested. I’m not sure what the root cause of your app’s issue was and how it was resolved.
If you could share more information on the issue and which solution resolved it, we could advise where it came from and whether it could occur in the production environment.
If the error was from a self-signed certificate, the local development app generates the self-signed certificate since it requires an NGROK URL for external events with HTTPS.
There can also be other requirements for FDK updates. These are not relevant in the production environment as FDK is not relevant. Only your code is pushed to the production environment with Node.js runtime provided by our cloud platform on a secure server, so a self-signed certificate is not required.
You can also test your app by publishing it as a custom app in the production environment. This will assure you that the app works as expected in the production environment.
As the Whitelisted-domains field has been deprecated in v2.2, while upgrading the version to v2.3, is there any other field or way that we’ve to follow or configure to whitelist the client’s domain?
While running the app locally via the fdk run command, I can see some warnings in the console. Is it necessary to modify the code and remove those warnings to publish the app?
Yes, in platform version 2.3, the complete request schema will be declared in the config/requests.json file along with the client’s domain. Please check the request method documentation to use it. You can also use domains dynamically with iparams within the app and as context variables from the iparams page.
Errors are mandatory to be fixed. Warnings are not mandatory. However, during the app reviews when publishing the app on our Marketplace, the number of warnings is one of the factors in rejecting the app. So, if there are warnings that can be fixed, please fix them to reduce the no. of warnings from the FDK validation.
I was trying to test my app via custom app, as most of the dev work and testing is done. But while I’m clicking on the Save & Test / Save & Publish button, these req are failing, but I’m not able to see any msg on UI. Sharing the console logs and HAR file for the same.
@Anant_Prajapati, do you face any blockers when publishing the app as a test version or a production custom app?
You can ignore the errors on the console if there’s no blocker. If there is, it will help our engineers troubleshoot the issue.
If there’s an issue, please share the steps to reproduce it and the browser environment details.
@Raviraj, I’m not able to test and publish my custom app, which is required to test the functionalities before publishing our app. I’ve shared the error details with you earlier in the thread. Can you please help me with this?
@Raviraj, I didn’t find anything regarding this in any of the Freshworks articles. This upgradation creates new errors/warnings and code changes to be done. I tried following the above FDK version upgrade for a sample project to create the custom app, and still, the same issue persists. Please provide a working solution or workaround for this problem.
We can clearly see that req is failing because of CORS reated issue.