I believe I have the same issue.
The file on the server is gone, but the key/item still exists in localStorage.
The CORS errors I cannot explain. A side effect I presume.
Problem seems to be that Uppy is trying to resume an upload that no longer exists on the server. Use your browser console to clear the key from local storage and the issue goes away.
I came here looking for a production solution. What are we to do? “After the fact” or “Proactive”?
Proactive: cycle thru localStore, sends keys to server, confirm they exist.
After the fact: confirm with server file is gone and delete localStorage item and restart.
After the fact is easier, but then must wait for all the COS errors and delays before getting a failure notice. Proactive may be faster/nicer experience for user.
Figuring out your own personal recipe for uppy+tusd seems to be the hard part.
“With great flexibility comes great responsibility (and confusion and testing)”.