Integrity Check fails after upgrade from 29.0.7 to 30.0.0

After upgrading my Nextcloud 29.0.7 test installation (LXC under proxmox by nextcloudpi proxmox helper script) to 30.0.0, I see that core/js/mimetypelist.js (INVALID_HASH) and core/img/filetypes/dwg.svg (EXTRA_FILE) have failed the integrity check.

I tried to solve the EXTRA_FILE problem by moving core/img/filetypes/dwg.svg to my home directory and running occ integrity:check-core again. The result: Another EXTRA_FILE core/img/filetypes/dgn.svg is found.

What to do?

What if you just delete that file?

Hi Sanook,

If you would have read my post carefully and understood my problem, you would have seen that a deletion of the file in its original directory has the same effect as if it would have been moved to a different - in this case my home - directory. The result of removing the file from its original directory resulted in an new EXTRA_FILE. See above.

This would also not solve the problem with the INVALID_HASH. For me, it seems that the update did something wrong. How can I fix it?

If you delete an offending file, a “missing file” entry appears as its needed. mimetypelist.js and similar files are default files.

By the way, I have the same issue.

I tried downloading the file from the Github repo and I get the same error so this is deeper than it looks.

Will you find what you’re looking for here?

I fixed it for myself (other than the release_lock file that keeps reappearing, but that is normal).

I had Apps installed (like the Draw.io integration) that added entries to the mimetypelist.js. I have overwritten the .js file with the one from the Git repo and the integrity check does not fail anymore.

On another note, there should be a similar file for Apps to put their custom mimetypes in so they don’t have to put theirs into a core file that is monitored by integrity checking. It’s a bad design at this point from either the App developer or the Nextcloud devs.

In theory there already is: Mimetype aliases

If the functionality is equivalent, I don’t see why the devs of those Apps are not using this. Makes sense to have it this way. Thanks for the reply!