-
Notifications
You must be signed in to change notification settings - Fork 53
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
Add multi-user session support #1099
Merged
Merged
Conversation
This file contains 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
3 tasks
f830ca1
to
594b13b
Compare
Adds Wizard.runTaskAsync(...), running the given runnable in a cancelable non-modal background task. Uses the new method to run the task used to join a session. This was necessary as joining the session requires running additional logic on the SWT dispatcher thread when joining an already running multi-user session. This is due to the UserInformationHandler needing to update the user list as part of the session invitation, which requires running logic on the SWT dispatcher thread. If the joining task is run modally, this leads to a deadlock as the modal task blocks the SWT dispatcher thread. Moves the title of the joining session task to IntellijMessages.properties. Moves the logic to show the status of the joining task to a separate method.
594b13b
to
0831023
Compare
Rebased onto current base branch without any interaction. |
Adds the option to add a user to an existing session. This enables multi-user session support for Saros/I. The logic is implemented in InviteToSessionMenu. Cleans up the logic spawning contact menus. Resolves issues where the pop-up dialog to create a new session was still displayed, even if the local user is already part of a session. Ensures that the dialog is only displayed when there is a valid option and that the correct option is displayed. Copies the icon used for the option to add users to the session from the Eclipse package. Resolves part of #1057.
0831023
to
05b8f21
Compare
Moved session invitation popup to new class. This allowed me to clean up Also renamed |
Adds the option for the host to kick users from the session. Adds an icon to the pop-up follow mode option. Moves the messages shown to the user in SessionPopMenu to IntellijMessages.properties. Copies the icon to kick a session participant from the Eclipse package. Resolves part of #1057.
05b8f21
to
e954d49
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area: IntelliJ
Issue affecting Saros for IntelliJ (Saros/I)
Aspect: GUI
Issues specific to the Saros GUI
Aspect: User Experience
Issue that describes a problem with the usability/user experience of Saros
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.
Adds multi-user session support for Saros/I by providing a corresponding context menu options. Adjusts the joining session task to run in a non-modal background task to avoid deadlocks.
Resolves parts of #1057.
Commits
[UI][I] Use non-modal background task for joining session job
Adds
Wizard.runTaskAsync(...)
, running the given runnable in acancelable non-modal background task.
Uses the new method to run the task used to join a session. This was
necessary as joining the session requires running additional logic on
the SWT dispatcher thread when joining an already running multi-user
session. This is due to the
UserInformationHandler
needing to update theuser list as part of the session invitation, which requires running
logic on the SWT dispatcher thread. If the joining task is run modally,
this leads to a deadlock as the modal task blocks the SWT dispatcher
thread.
Moves the title of the joining session task to
IntellijMessages.properties
.Moves the logic to show the status of the joining task to a separate
method.
[UI][I] Add option to add user to existing session
Adds the option to add a user to an existing session. This enables
multi-user session support for Saros/I.
Resolves issues where the pop-up dialog to create a new session was
still displayed, even if the local user is already part of a session.
Ensures that the dialog is only displayed when there is a valid option
and that the correct option is displayed.
Copies the icon used for the option to add users to the session from
the Eclipse package.
Resolves part of #1057.
[UI][I] Add option to kick user from session
Adds the option for the host to kick users from the session.
Adds an icon to the pop-up follow mode option.
Moves the messages shown to the user in
SessionPopMenu
toIntellijMessages.properties
.Copies the icon to kick a session participant from the Eclipse package.
Resolves part of #1057.