You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 6, 2021. It is now read-only.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
When fixing #7598 I gave the focus to the dialog when it had no inputs. But to do it I had to make the dialog focusable, which makes Bootstrap enter into an infinite focus loop. Since the idea about giving focus to the dialog was to blur current editor, this alternative fix, actually blurs any element that had focus.
We should do some testing to make sure CodeMirror reacts ok to this... sometimes it can be finicky about the manner in which it loses focus. (I think this will be ok but it just deserves some extra testing attention, is all).
hmmm... so I tested this and it does, indeed prevent the endless focus loop. However, it also disables the dialogs that Theseus and Bracket-Git used to pop up after installation. I don't know if that is intended or not. I tend to agree with @dangoor that popping modal dialogs after install is not good UI (what if I install more than 1 extension per extension manager session? this is bound to cause problems so the extensions should not do this imo) so perhaps disabling them is a good thing.
I just did a quick test of the sort I did earlier to bisect (deleted the brackets-git entries in state.json and removed brackets git, then restarted and reinstalled brackets-git). For me, the brackets-git dialog appeared just fine over top of the extension manager.
@JeffryBooher Though this is only a 2 line change, they're two lines I'm not really familiar with. I'm too tired to review this tonight.
@mackenza It should appear. But for Brackets-Git I think that you need to delete the state.json file or at least delete the entries for brackets-git, as @dangoor mentioned.
@dangoor Is 2 lines modified, but one was the cause of the error, so it might be good to test it. The tabindex attribute, was so that the dialog could gain focus, which was used so that we could focus it in case no buttons were available in the dialog. Since I removed that, I needed a way to blur what was in focus without focusing the dialog, so that second line does that. It blurs the element with focus.
I tested this and the brackets-git and theseus extension post-install dialogs are displayed. I deleted the extensions and all of my state and cached cef data and installed them (this is how most users would experience it after installation) and it seems to work fine. It prevents the endless focus pong and doesn't introduce any new focus issues to the app.
I'm going to merge this into master. This will give us a few days to play with it.
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
None yet
5 participants
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.
When fixing #7598 I gave the focus to the dialog when it had no inputs. But to do it I had to make the dialog focusable, which makes Bootstrap enter into an infinite focus loop. Since the idea about giving focus to the dialog was to blur current editor, this alternative fix, actually blurs any element that had focus.
This fixes #8131 and other similar issues.