Skip to content
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

Create a database of already-invited users and don't invite them again #3

Closed
cole-h opened this issue Sep 23, 2020 · 20 comments · Fixed by #6
Closed

Create a database of already-invited users and don't invite them again #3

cole-h opened this issue Sep 23, 2020 · 20 comments · Fixed by #6

Comments

@cole-h
Copy link
Member

cole-h commented Sep 23, 2020

NixOS/rfcs#39 (comment)

GitHub likes to mess things up, so we should maintain our own database. One downside is that this will likely send another invite to people who have already declined, but this should only be a one-time thing.

@nixos-discourse
Copy link

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/join-the-package-maintainer-team/3751/42

@hugolgst
Copy link
Member

hugolgst commented Oct 4, 2020

Do you have an idea of what kind of database to use?
I'd be glad to help

@cole-h
Copy link
Member Author

cole-h commented Oct 4, 2020

Probably anything would suffice, as long as it is persistent. I was planning to try a SQLite database, though.

@jonringer
Copy link

jonringer commented Oct 5, 2020

honestly, I think a flat list (which is easy to edit), with a master gate which adds/removes people would work well

EDIT:
just query, the current member list https://developer.github.com/v3/orgs/members/#list-organization-members, do a diff, and add/remove accordingly

@hugolgst
Copy link
Member

hugolgst commented Oct 5, 2020

@jonringer Does this include the members invited but who refused?

@cole-h
Copy link
Member Author

cole-h commented Oct 5, 2020

No, just like an actual database, we would have to -- unfortunately -- annoy people who have refused in the past once more (and then they'd be on the "already-invited" list and never invited again).

(I would like to say: I'm glad this is sparking discussion. I was one of the last few to get invited through the script, and it'd be nice to invite more people :) )

@hugolgst
Copy link
Member

hugolgst commented Oct 5, 2020

I'm glad too, can't wait to be invited!

@zowoq
Copy link

zowoq commented Oct 5, 2020

Could we reuse the existing maintainer list for people to opt out of being invited?

Something like:

  zowoq = {
    email = "..."
    github = "zowoq";
    githubId = ....;
    name = "zowoq";
    invite = false;
  };

@jonringer
Copy link

jonringer commented Oct 5, 2020

since it's specific to github, I'm not sure what the value of maintainer handle indirection would be.

Their existence in the list would imply their desire to be added/invited. As long as you make it low effort to remove yourself, I don't think people would mind too much in being added

@zowoq
Copy link

zowoq commented Oct 5, 2020

Do we even need to keep a db/list of already invited users if we give people a way to opt out?

${invites} = ${maintainer_list}-${org_members}-${invite_false}

Just send invites once a week until they remove their entry from the maintainer list or they set invite = false; to opt out?


Their existence in the list would imply their desire to be added/invited.

See NixOS/nix#3427

@hugolgst
Copy link
Member

hugolgst commented Oct 5, 2020

Do you think that it could be good from a UX point of view?
Thus a user will have to make a PR to add this parameter

@jonringer
Copy link

jonringer commented Oct 5, 2020

See NixOS/nix#3427

The list would initially be populated with people already in the team. People would have to manually opt-in, so individuals like him would never receive an email.

For the use case of people leaving... this would be more awkward, we could have a bot list on https://developer.github.com/v3/activity/events/#list-public-organization-events and see if people leave, and have it remove the related individual

@jonringer
Copy link

jonringer commented Oct 5, 2020

We may also be over thinking this as well. Maybe just have a bot listen for something like a /invite event on an issue, and it will just automatically invite the person.

This removes all need for state synchronization between github and the local data store.

Edit: similar to https://github.com/marketplace/actions/inclusive-organization

@hugolgst
Copy link
Member

hugolgst commented Oct 5, 2020

I agree with you @jonringer but don't you think this will make too much invites to the Nix organization or is it the plan?

@jonringer
Copy link

Well with the /invite convention, you could only invite yourself. So it would be limited to one invite per account.

I'm sure there would be ways to abuse this. But I think it would be limited.

@hugolgst
Copy link
Member

hugolgst commented Oct 5, 2020

So we would make a check when /invite called? Or anyone could do it?

@jonringer
Copy link

This is getting off-topic. I just threw out the bot as an alternative to doing state synchronization.

If others feel like this warrants more discussion, then maybe we would do it in another thread.

@nixos-discourse
Copy link

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/adding-tags-to-issues-and-prs-without-write-access/9882/5

@hugolgst
Copy link
Member

What's the current status of this ?

@andresilva
Copy link
Member

I opened PR #6 with a simple implementation for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants