Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 05 22:48
    gamma-02 commented #1148
  • Oct 04 07:46
    Aholicknight commented #1148
  • Oct 02 22:43
    gamma-02 commented #1148
  • Oct 02 22:43
    gamma-02 commented #1146
  • Oct 01 17:32
    GA-MV commented #1148
  • Sep 23 21:42
    TheRockSaysOP starred saros-project/saros
  • Sep 20 23:26
    Aholicknight commented #1148
  • Sep 20 23:21
    Aholicknight labeled #1148
  • Sep 20 23:21
    Aholicknight labeled #1148
  • Sep 20 23:21
    Aholicknight opened #1148
  • Sep 15 19:16
    EnderCrypt commented #1142
  • Aug 20 02:46
    jgstern starred saros-project/saros
  • Aug 01 12:44
    tobous synchronize #1147
  • Aug 01 12:44

    tobous on build

    [DOC] Adjust documentation for … (compare)

  • Aug 01 12:34
    tobous synchronize #1147
  • Aug 01 12:34

    tobous on build

    Reformat using GJF Jar to resol… (compare)

  • Aug 01 11:40
  • Aug 01 11:34
    tobous synchronize #1147
  • Aug 01 11:34

    tobous on build

    [BUILD] Commit automatic Intell… Reformat project using GJF 1.10… [BUILD] Switch to different GJF… (compare)

  • Aug 01 11:20
    tobous labeled #1147
Kelvin Glaß
@m273d15

Hi, @stefaus, @Drakulix and me already talked a bit about your topic (Adding a permission model that will improve the server workflow). I'll post a summary of our talk below. @Memo2109 I think you should concentrate on the first step mentioned in this summary. @srossbach what do you think?

First Step: Adding a permission model in Saros

The current server just accepts all requests of users to join the session.
Therefore it is necessary to think about a permission model.

Permissions

  • join a session
  • share a new project in the session
  • grant permissions to other users

Implementation

Using different permission models for server sessions and common session (without a server) is unnecessary. Therefore, it is necessary to create a permission model that allows to implement the current user permissions (the permissions of the host user and other users).

Second-Step: Super-server with permission model

What are the tasks which are provided by a super-server

  • Start a session server
  • Configure a session server (might be not necessary)
  • Stop a session server
  • (Currently not in the scope: session persistence)

Permissions

  • Grant permissions to other users
  • Start a session server
  • Stop a session server
  • Configure server

Implementation

Proposed by @stefaus: The super server has one JID (e.g. super-server@jabberd.org)
All session servers are sharing one JID (e.g. server@jabberd.org) and are identified by an individual resource.

  • Initial super-server admin and grant mechanism:
    The initial super-server admin is just configured in a configuration file of the super-server. All further admins are added via communication between an admin and the super-server.
  • Who receives the initial admin permissions (all permission on session level) of a session?
    • The first user in the session?
    • Configured before starting the session by the user with the permissions to create a new session in the super-server?
  • Who receives the admin permissions of a session if the last user with admin permissions left the session?
    • The next one in the session list (who is the next one?)?
    • All users become session admins?
    • There is no admin anymore (session is not very usable anymore as without a server)?
Stefan Rossbach
@srossbach
There are also other security concerns. Who is able to invite someone to a session. What about protecting a session with a password ? Lets say you have a session with Alice, Bob, Carl. While everybody has write access, only Alice is allowed to invite another user to a session that does not have the password. However if Alice leave the session it has to be decided what (if you want to keep the session alive) the next "host" permissions are. Maybe it will inherit all permissions from the former host or maybe not.
Mehmet Cetinkaya
@Memo2109
Hi, @all, @m273d15 ,
Hi @all,
I just put the new new privileges/permissions for session users online and wanted to show you my design and I also tried to implement a Junit-test. I would be happy to receive your feedback. Please let me know what you think.
Stefan Moll
@stefaus

@Memo2109 Hey Mehmet, normaly please create a (draft) pull request to get feedback for your code.

I think instead of creating a separate UserPrivilege class, using a EnumSet would be a simpler approach. What you have to keep in mind is also concurrency. Using a HashMap will not work here (neither EnumSet without additional handling) and instead of a separate method to check Privileges, this should stick to a single get method like your hasPrivilege.
About the Privileges, a User is created inside a Session, thats why handling Permissions like to Start a Session Server here will not work.

Mehmet Cetinkaya
@Memo2109
@stefaus Hey Stefan, thank you very much for your feedback
Kelvin Glaß
@m273d15
Hi, @tobous proposed to write meeting minutes in stand-ups etc. Therefore, I created a corresponding channel Gitter that should be used only for the minutes. The channel is currently public. If we need a more strict policy in the future we can change it. Please, discuss topics (which are mentioned in the meeting-minutes) in this channel. Otherwise the new channel becomes crowded.
Tobias Bouschen
@tobous

Once saros-project/saros#752 is merged, I would like to do another round of testing for the vector time patch saros-project/saros#714. As I was not able to produce any issues in a two person setup (even with concurrent activities), a multi-user test is quite important (especially with the weird issues that occurred the last time).

@m273d15 @stefaus @srossbach What does your availability look like in next week? My initial suggestion would be Monday or Tuesday afternoon, but I don't have any set events/meetings on Monday, Tuesday, or Thursday, so I am relatively open timewise. Wednesday before 17:00 would be fine as well.

4 replies
Mehmet Cetinkaya
@Memo2109
I have one question, as I make my last PR I have seen that tests startet like codacy and travis ci. My question is should I also make the codacy and travis ci tests local on my repo befor I make a PR ? If yes have you an introduction for setting up codacy and travis ci. Thank you very much.
Tobias Bouschen
@tobous

I have one question, as I make my last PR I have seen that tests startet like codacy and travis ci. My question is should I also make the codacy and travis ci tests local on my repo befor I make a PR ? If yes have you an introduction for setting up codacy and travis ci. Thank you very much.

@Memo2109 No, you don't have to add the checks to your local fork of the repository. As you already pointed out, they are always run when you create a PR onto the main repo.

Tobias Bouschen
@tobous

I changed the description of the Area: X issue labels to state "Issues affecting X". In my opinion, this makes the tags much more usable as they then provide a good tool for getting an overview which PRs affect which area of the code. In my opinion, the current restrictions of having them be "specific to the area" makes sense for issues but not for PRs, as they often bundle multiple commit dealing with different parts of an issue.

Anyone have any issues with this change?

Kelvin Glaß
@m273d15

Anyone have any issues with this change?

No :+1:

Kelvin Glaß
@m273d15
I wondered what is currently missing in order to release a new Saros/Eclipse version. The corresponding project contains just one small issue. Is this the correct state? What do you want to see merged/fixed/changed before the next Saros/Eclipse release?
Tobias Bouschen
@tobous
I would definitely still like to get saros-project/saros#714 merged before the next release to finally fix the vector time issue. I didn't add it to the project as it doesn't specifically deal with a Saros/E issue but rather with an issue in the core.
Kelvin Glaß
@m273d15
As discussed in the last stand-up (see meeting minutes) we (me and @tobous @stefaus ) want to make a Skype meeting to discuss the design and separation of Core and UI logic. Who is interested (@srossbach ? )?
What do you think about 12.12 at 16:30 (I am flexible, we can change the date/time)?
Tobias Bouschen
@tobous

12.12. at 16:30 isn't ideal for me. I have a meeting at 15:15 for which I don't know how long it is going to take. I could be done by 15:45 but it could easily also take until 17:00 (or longer), depending on my waiting time.

For me, the following dates would work better:

  • the 9.12. (any time)
  • the 10.12. (any time)
  • the 11.12. before 17:00
  • the 12.12. before 14:30
  • the 13.12. (any time)

Or, if don't find any other date/time, you could keep the session on the 12.12. at 16:30 (or 17:00) and I will join in as soon as I can.

Stefan Rossbach
@srossbach
I got fired from my job this week so I have plenty of time. @m273d15 just send my an email. I am just unavailable on the 17th starting at 15:00
As for the Saros release there is still an issue with the annotation. Do you want to announce some annotation fixes with the new release while there are still issues with them ?
Kelvin Glaß
@m273d15

What a pity! Sure, I will send you an email.

Do you want to announce some annotation fixes with the new release while there are still issues with them ?

Do you talk about the issue #32 ?

Stefan Rossbach
@srossbach
Yes I am talking about issue #32 . It would be nice if this can be fixed before the next release.
Stefan Moll
@stefaus
I'm available on the 11., just name a time.
Kelvin Glaß
@m273d15
Ok, so lets make an appointment at the 11th at 14:30.
Tobias Bouschen
@tobous

Ok, so lets make an appointment at the 11th at 14:30.

Works for me :+1:

Stefan Moll
@stefaus
same for me :+1:
Kelvin Glaß
@m273d15
Concerning the Saros/Eclipse rel. I updated the corresponding project based on your responses: https://github.com/saros-project/saros/projects/24
Tobias Bouschen
@tobous

I just noticed that the "Terminate Session" icon (the stop button; adjusted leave session icon on host side) does not get reset to the default "lease session" icon (the door) on session end. This isn't strictly an issue as the icon gets set correctly when a new session is started as a client, but it still seems weird to me as it leads to an inconsistent UI in the disconnected state.

My inclination would be to create an issue for this and mark it as "Prio: Low" and "Help Wanted" & "good first issue" as it is not strictly necessary but nice to have to be consistent.

Any input on this?

Tobias Bouschen
@tobous
This resetting behavior is added to Saros/I with saros-project/saros#811, which also introduces the "terminate session" icon in the first place.
Kelvin Glaß
@m273d15

Hi, we have multiple stale PRs that are not updated in the last two months.
I would like to avoid a graveyard of old PRs. Therefore, could we clarify which PRs "can be closed" (if so, please close the PR and remove the branch), "is in review" (if so, we should complete the review),...

@srossbach #341 #349 #477 #615 #629 #651 #654 #653
@tobout #395 #681 #748 #750
@stefaus #426
@m273d15 #691
@Memo2109 #772 (IIRC you already said that you will close the PR)

If you want to preserve the commits, because you want to use the code in the future, please close the PR without deleting the branch.

Stefan Rossbach
@srossbach
Most of my patches are patches to the network-layer and so always breaking the compability.I do not want to close them as they should be integrated when making major changes to the network layer in some way.
Tobias Bouschen
@tobous

@m273d15 I think I found another flaky STF test: saros.stf.test.roster.HandleContactsTest. See test run and failure report.

The run was started after rebasing the PR and doing some minor changes that should not be able to influence the result. The previous STF run and the STF run on the base branch I rebased on both succeeded and the test runs successfully in my local environment.

Tobias Bouschen
@tobous
@m273d15 And the re-run of the STF without changing anything succeeded: https://github.com/saros-project/saros/pull/862/checks?check_run_id=484847697
Stefan Moll
@stefaus
The STF Test testInvitationWithDifferentVersionsfailed because I didn't update the stf superbot (changing the saros version needs a change). Don't worry I do this till tomorrow.
Tobias Bouschen
@tobous
There also were an unusual number of other test that failed so you might want to have a look at those as well (or at least run the STF once you fixed the superbot version to verify that the failures were just flickering tests).
Stefan Moll
@stefaus
Yes will check this.
Tobias Bouschen
@tobous
( I only had a glance at the result. There actually were only two other tests, which is still in a normal range for the STF (sadly). But checking to make sure shouldn't hurt.)
Tobias Bouschen
@tobous
Ok, it really seem like the other two failures were just random. In a follow-up run, only a the version test failed: https://scans.gradle.com/s/omxskuqfazcga/tests/by-project.
Kelvin Glaß
@m273d15
Hi, I created a new version of the Saros page: https://m273d15.github.io/saros/
If you have suggestions for improvement let me know. My TODOs are: Choose a less aggressive blue, fix broken links, fix table borders.
Tobias Bouschen
@tobous

Hi, I created a new version of the Saros page: https://m273d15.github.io/saros/
If you have suggestions for improvement let me know. My TODOs are: Choose a less aggressive blue, fix broken links, fix table borders.

@m273d15 My list got to long, so I decided to create an issue for it: saros-project/saros#896

Kelvin Glaß
@m273d15
The saros page is currently down. I am currently fixing the issue.
Tobias Bouschen
@tobous
Currently, everything but the landing page seems to work for me.
Kelvin Glaß
@m273d15

The landing page is back.

I created multiple ugly commits to master.
It seems like the issue was: the CNAME file in the master AND gh-pages.
I try to create a better fix than adding the CNAME file manually to the gh-pages.

Tobias Bouschen
@tobous
Can't you simply hard coded create the cname as part of the page build?
Kelvin Glaß
@m273d15
Yes, I created a corresponding PR #920
Tobias Bouschen
@tobous
If anybody is interested, I would be open to talking through/pair-reviewing the big refactoring in saros-project/saros#934 and saros-project/saros#938.
Tobias Bouschen
@tobous
FYI, I broke the STF on the master as I forgot to to update the IntelliJ version used in the docker file. I thought it was no longer used, but it is still used for the STF setup. @m273d15 Could we also adjust the STF setup to unify the handling of the used build verion?
Tobias Bouschen
@tobous
And from recent build results, it seems like EditDuringInvitationStressTest.testEditMultipleClassesDuringInvitation() can fail more than 4 times in a row when run as part as the GitHub action (see build1 and build2). This is also the test that caused the majority of STF failures in the past. So maybe we should mark this test as flaky as well.
Kelvin Glaß
@m273d15

Could we also adjust the STF setup to unify the handling of the used build version?

I opened a corresponding PR #951

Tobias Bouschen
@tobous
Yeay, seems like I broke the STF again (this time by breaking the entire Eclipse plugin). Looking into it.
Tobias Bouschen
@tobous
This issue was caused by #953 creating the new package saros.filesystem.checksum. I was not aware that all packages from the core must be exported in the MANIFEST.MF to be usable in the Eclipse plugin. Fixed with #970.