Hi Team,
I was trying to upload the Freshdesk app at the marketplace but getting the error that The submitted app form has few validation errors. please fix them and resubmit
although, we uploaded the same app two months ago. now, we have done minor changes and it is showing this message. I attached the SS for your reference.
I have done the code coverage for the Freshdesk app(Super Receptionist). After this, I updated the FDK. It turns out that the latest FDK version runs with at least Node v14, hence, i have no option to update the Node version as well.
The app is based on Node v12 and complete code coverage was also done in the Node v12.
Now it is not letting me run any fdk command unless I reset the complete code coverage because it is done in Node v12 + older FDK version and it accepts only coverage that is done in the current (updated) environment. i.e. with Node v14 + latest FDK.
resetting the code coverage, then, again requires a great deal of time to achieve the coverage of >80%.
The recommended (and future-proof) approach is to update to or stay on FDK 8.x and test the app again.
FDK 7.x runs on Node.js v12. FDK 8.x runs on Node.js v14. The reason we strongly recommend testing the app again after updating FDK 7->8 is to make sure any changes between Node.js major versions do not impact the app.
Hence, keeping in line with that expectation, when you switch between major FDK versions, FDK deletes the coverage/ folder. While this does add some friction, namely the extra time that you mentioned, it ensures that nothing breaks due to Node.js major version change.
We are still trying to catch up to the current Node.js LTS version, and this uncomfortable DX is unfortunately a trade-off of the process.
Based on this discussion, @harsh_rajput, we are trying to see whether we can disable/skip removing the coverage/ folder for apps with frontend components only (as in, apps without a serverless component and thus not tied to a Node.js version) when FDK detects a different Node.js major version than the one mentioned in the manifest.json of the app.
However, apps with serverless components will still need redo the tests to generate coverage.
I’ll update this thread once we have any updates on that front.
I gratefully took your idea to retest the app after updating FDK 7 → 8 to guarantee that changes between Node.js major versions do not affect the app.
I would ensure to upgrade to the most recent FDK before FDK 7 is deprecated on August 31, 2022, as per Freshdesk’s timelines.
According to Freshdesk’s manual, we may continue to leverage FDK 7 to develop, test, and publish the apps. As a result, for the time being, I’d prefer to proceed with FDK 7 to avoid the hassle of retesting the app due to the FDK 7->8 migration.
Hence, please propose an approach to downgrade the FDK 8.x to FDK 7.5.1 (which is still functional) so that we may publish the app using FDK 7 this time.
Now, FDK commands are working again in FDK 7.x + Node v12 environment.
I ran fdk validate to see the validation errors as it is prompting(SS attached at the very top comment) while publishing the app.
Unexpectedly, I did not receive any validation errors as a result of the fdk validate command. Even though there are some warnings that need to be addressed, they are not ERRORS. In addition, in the end, it also shows that VALIDATION is SUCCESSFUL.
I DM the complete result of fdk validate cmd to you.
Please provide a solution and elaborate on why it’s displaying validation errors when there aren’t any in the app. We need to deploy the app as soon as possible because it has already passed the deadline and users are clamouring for it.
Apologies for the confusion here. Vague warnings are a known issue in FDK and we are working towards improving the DX. It’s likely that some of this behaviour has been addressed in recent FDK versions, though I am not certain.
The one thing I could find from the logs you have sent is this line:
[WARN] app/scripts/app.js::58: "https://support.freshsales.io/" is not whitelisted in mainfest.
Looks like you are calling support.freshsales.io from the app. You will have to whitelist the URL’s domain in the whitelisted-domains property in manifest.json. Can you try that and see if the app goes through?
On a side note: The Platform and FDK kinda work in a lock step. I wonder if you will see some specific errors if you can clone the app code in a separate directory and run FDK v8 on it.
@kaustavdm
I tried by adding the support.freshsales.io in manifest.json file. The warning for this situation is no longer coming, yet the app cannot be submitted. It is displaying the exact statement that I attached to the very top.
It’s a warning, so, according to the docs, it’s not a critical issue that would prevent users from publishing the app.
As per suggestion, I also tried it by FDK v8 in a cloned repo. It also shows the exact same warnings.
we are completely blocked over it. There is something that is not in sync between fdk validate cmd and Freshdesk’s marketplace.
acc. to fdk validate no errors and only some warnings exist, all good to go live. In contrast, the marketplace is not accepting the app and displaying there are validation errors exist.
Please guide us on how to get the app to go through it.
Thanks for patiently responding and sharing the HAR logs. There doesn’t seem to be any issues in the backend API calls. This seems like a front end glitch due to some invalid input. If you don’t mind, please add me as an occasional agent in your account with admin access so that I can access your AMP and help you with the fix. You can revoke the access later once the issue is fixed.
Thanks for sharing the zip file. We have recently made the video link field mandatory in the app submission form. This video will be posted in the app gallery under your app’s description so that users can view and have the basic idea about your app features. Can you make a short video (30-60 second youtube or vimeo video) and send it?
This video is necessary for app submission. Please reach out to us in case of further issues/queries. I will prioritise this and will immediately submit your app once I get the video link.