Community
Participate
Working Groups
Created attachment 262252 [details] Thread dump Eclipse 4.6 RC4, Egit nightly 4.5.0.201606012324 From Staging view hit Commit + Push, and second later double clicked on a file in the unstaged area to see a diff. The UI deadlocked in modal dialogs, see thread dump and the picture.
Created attachment 262253 [details] Screenshot
Darn. I thought we had that one nailed with using the topmost modal shell. Apparently not. I still don't like throwing dialogs from background jobs at all. Maybe it's time to re-think that whole approach. Take a look at https://eclipse.org/articles/Article-Concurrency/jobs-api.html, especially "Example 2: User Feedback for Finished Jobs". Maybe we should do it that way. The article is a bit old. Does anybody know if there are more modern APIs by now, or if that is still the way to do this? Would be quite a bit of a departure from current feedback, though. The other alternative might be to use logic similar to ProgressManagerUtil -- basically use a job to open the dialog, but do so only if no modal shells are open. If there are any, reschedule. That'll delay the dialog to pop up until there are no modal shells. But sounds like a bit of a hack.
*** Bug 495582 has been marked as a duplicate of this bug. ***
(In reply to Thomas Wolf from comment #2) > Darn. I thought we had that one nailed with using the topmost modal shell. > Apparently not. > > I still don't like throwing dialogs from background jobs at all. Maybe it's > time to re-think that whole approach. I think we should associate jobs with actions, so that the job, if finished, can be clicked by the user and then we show the dialog. For the transition time we can give an option to disable this and keep the old behavior, but I think given the severity of the problems we face we should just stop spamming users with modal dialogs.
+1 in addition we could introduce a git console showing executed commands and allowing to access result details also see these related enhancement requests: bug 349551 "Log EGit activities into a console" bug 378056 "Add an interactive git console" bug 399776 "Don't show a dialog for each commit+push, but log to a Git Console view instead"
New Gerrit change created: https://git.eclipse.org/r/74954
(In reply to Eclipse Genie from comment #6) > New Gerrit change created: https://git.eclipse.org/r/74954 Uses actions associated with jobs. No flag to get the old behavior; I don't want a flag enabling buggy behavior. No "git console" either, that'd be a completely different and new feature.
Gerrit change https://git.eclipse.org/r/74954 was merged to [master]. Commit: http://git.eclipse.org/c/egit/egit.git/commit/?id=09e0d369d3721bb844e0f60355efccc52381d5be
Thanks Thomas!