GitLab project based rooms
Problem to solve
As a GitLab user, Gitter doesn't allow me to create rooms linked to a GitLab project. If my account is linked to GitHub I can create a room that is linked to a GitHub project. Have the room linked to the correct project is important so that short links work (eg. #44
links to issue 44).
Proposal
When signed in as a user linked to GitLab:
- when Creating a room, suggest creating a room based on my GitLab projects
- show a list of GitLab projects to choose from
A follow up issue will be required to add support for personal projects which do not have a group (considered a namespace in the GitLab API) -> https://gitlab.com/gitlab-org/gitter/webapp/issues/2397
Current create room modal | Current community-creation-github-projects-view.js
|
---|---|
Tasks
-
Backend prep -
Add equivalent GL_PROJECT
whereverGH_REPO
mentioned
-
-
Create room modal -
Update room input to suggest GitLab projects that are part of the community selected
-
-
Choose GitLab project in create community flow -
Add my projects
heading and list GitLab projects to choose from - https://gitlab.com/gitlab-org/gitter/webapp/-/merge_requests/1800
-
-
Default project/repo issue/merge request decorations- Not needed in this iteration, see https://gitlab.com/gitlab-org/gitter/webapp/issues/1445
Backend Prep
GH_REPO
references:
-
modules/collaborators/lib/collaborators-service.js- Not necessary for this iteration -> https://gitlab.com/gitlab-org/gitter/webapp/issues/2410
-
modules/collaborators/test/collaborators-service-test.js
-
modules/groups/lib/get-github-username-from-group.js -
modules/groups/lib/group-uri-checker.js -
modules/groups/test/group-service-test.js -
modules/permissions/lib/add-invite-policy-factory.js -
modules/permissions/lib/admin-discovery/index.js -
modules/permissions/lib/ensure-access-and-fetch-descriptor.js -
modules/permissions/lib/known-external-access/admin-filter.js -
modules/permissions/lib/policies/gh-repo-policy-delegate.js -
modules/permissions/lib/policy-delegate-factory.js -
modules/permissions/lib/policy-factory.js -
modules/permissions/lib/security-descriptor-generator.js -
modules/permissions/lib/security-descriptor-validator.js -
modules/permissions/lib/security-descriptor/transform.js -
modules/permissions/lib/security-descriptor/updater.js- This is only used for updating the visibility of the group/room if we detect a change from GitHub
-
modules/permissions/test/known-external-access/admin-group-finder.js -
modules/persistence/lib/schemas/security-descriptor-subdocument.js -
modules/rooms/lib/room-repo-service.js-
modules/rooms/test/room-repo-service-test.js - Not necessary for this iteration -> https://gitlab.com/gitlab-org/gitter/webapp/issues/2413
-
-
modules/rooms/lib/room-service.js
Edited by Eric Eastwood