-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Workaround for double clicking item bug. #1218
Conversation
…extcloud#893, where if you double click an item that opens in the viewer, it opens in a way that the viewer can't close. It works for the Viewer for Images, Videos, and PDFs for sure. I didn't test audio, but it probably works for it as well. The main cause of the issue is that when a file is double clicked, the file is opened twice. However, something weird occurs when this happens. openFile() is only called once, while close() and cleanup() are immediately called. What I'm guessing happens is that the original file loads, and is closed somehow, followed by the second file opening. I'm not sure which of those files calls openFile() and which doesn't. One result of this though is that when the second file is closed, close() is called, but cleanup() is not. This patch ensures that it is called, which resolves the issue. There are still some cases where the double clicking can cause the black background of the viewer to not appear (to get this to happen, you have to double click, but put some spaces between the clicks that are a part of the double click, it's difficult to get the timing right, so try it a few times). But this at least solves the one issue. This is not really meant to be a permanent workaround probably. There are better things to do then run cleanup(), but I can't set up my development environment well enough to test it. But this is suitable for now. Signed-off-by: Michael Pope <michael.pope.email@gmail.com>
Signed-off-by: Michael Pope <michael.pope.email@gmail.com>
/compile amend / |
I forgot: can you please compile the js and commit it to this branch? Then the node workflow will be fixed :) |
Signed-off-by: Michael Pope <michael.pope.email@gmail.com>
Just committed it. :) Let me know if you need anything else with it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, unfortunately I wasn't able to resolve that part of it. It doesn't trigger all the time, only if the double clicks are timed pretty precisely (at least on my end that was the case, it wouldn't trigger the white screen on fast or slow double clicks, just a very precise timing in the middle). There is something wrong with the state management that does that, but I couldn't quite figure out what (mentioned this a bit in #893). So I figured I'd at least put the initial fix for the closing issue in the pull request (because I find it a lot more annoying for people to have to refresh the page). I can probably take a look at the white background later on... but it might be some time... we are going to have some things at work that make the next month or so kinda hectic. Let me know what you think, and what you'd like to do. If you want to wait on this until we resolve the white background issue, that's totally cool. |
@skjnldsv please decide |
Superseded by #1247 |
This is a workaround for bug #893, where if you double click an item that opens in the viewer, it opens in a way that the viewer can't close. It works for the Viewer for Images, Videos, and PDFs for sure. I didn't test audio, but it probably works for it as well.
The main cause of the issue is that when a file is double clicked, the file is opened twice. However, something weird occurs when this happens. openFile() is only called once, while close() and cleanup() are immediately called. What I'm guessing happens is that the original file loads, and is closed somehow, followed by the second file opening. I'm not sure which of those files calls openFile() and which doesn't. One result of this though is that when the second file is closed, close() is called, but cleanup() is not. This patch ensures that it is called, which resolves the issue.
There are still some cases where the double clicking can cause the black background of the viewer to not appear (to get this to happen, you have to double click, but put some spaces between the clicks that are a part of the double click, it's difficult to get the timing right, so try it a few times). But this at least solves the one issue.
This is not really meant to be a permanent workaround probably. There are better things to do then run cleanup(), but I can't set up my development environment well enough to test it. But this is suitable for now.
Signed-off-by: Michael Pope michael.pope.email@gmail.com