Using Sense Enterprise, I have on multiple occasions successfully recovered from this issue by duplicating the corrupt app (from within the QMC), then reloading the new app, renaming the old app to something like "appname_corrupt", then renaming the new app to the original app's name.
I suspect this might not work on Sense Desktop though.. worth a try though.
The solution I found was this:
Recovering the file:
1. QMC> APPS> Duplicate file.
2. HUB> MY WORK> right-click on the duplicate file > "open without data".
( At this point you should already be able to use normally, edit, upload, etc).
3. Rename the corrupted file to any name.
4. Rename the recovered file to the original name.
5. Make sure the settings (tasks, streams, publish) are as corrupt file.
6. To delete or not the corrupt file.
I just had the same "corrupt data" problem and could not recover it by duplicating the file. Attempting to load the app without data did not work either.
However - I was happy to find the entire data load script in the most recent log file, which I found in the \Qlik\Sense\Log folder. I was able to easily remove all the time-stamps with a good text editor (like Notepad++). All that was left was replacing the variable values with variable names and adding back the ";" at the end of each statement.
Not the full restore that I needed, but better than rebuilding from scratch.