Add custom emoji for groups

Follow up to https://gitlab.com/gitlab-org/gitlab-ce/issues/50581, so that you can now fully add custom emoji from groups, because this issue will implement a Web UI to do so.

Problem

This issue makes it so custom emoji are possible to be made/removed.

Scope

  • Upload custom emoji from top-level group scope
    • Any group member can add custom emoji (meaning that this option should be made accessible to any group member)
      • Group members can only delete their own emoji
      • Maintainers can delete any custom emoji
      • Name and avatars of people who added custom emoji are shown with the custom emoji
      • When removal or deletion of member account happens, custom emoji will keep existing
    • Validations to make sure that the emoji labels to not collide with existing ones
    • Validations for reasonable-sized images
    • Group transfers will not bring emoji along (future improvement)
  • The custom emoji will be available to all places in the group instance where emoji are entered
    • Emoji auto completer
    • Emoji menu
    • Emoji reaction search
  • Geo / object storage support
  • Performant emoji picker per-group

Design

  • Makes it available to all group members with a customization action in the left sidebar outside of settings

Artboard_5

Validation:

  • When adding new emoji, checking for name collisions in ancestor groups and descendent groups

Artboard_4

If member left group/is removed:

Artboard_3

Tranferring groups:

  • will not transfer custom emoji in the beginning (we may support this at a later stage)

img

Edited by Victor Wu