Fixes for inconsistent state loading #686
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Now, let me clearly state that I do not precisely know what is going on here!
However, as discussed in various tickets (specifically #582, but possibly also others), loading files has been very unreliable. In #603 I tried to add a wait, which seemed to help, but which recently (new Safari version?) became less effective.
After a lot of googling, it seems like this is a known issue in Safari - the
onchange
event never gets called/sent, with the consequence that the file is never loaded.The changes to
inputFile.onclick
andinvalid
are supposed to be failsafes. I think they probably aren't actually needed, but I have left them in case.What I think might have been happening is that
inputfile
was either being deleted before the callback could happen (which is why the wait added in #603 helped). And I also noticed thatinputfile
sometimes seemed to hang around.So I thought adding it to the document might help with these kinds of issues - so I believe this is the real fix:
This PR also contains a fix for a deprecation in
TextGeometry
in recent threejs versions.