Skip to content

Define: Dormant Members

Background

In [Gitlab.com] Automatic removal of dormant members (&7533) we intend to add a feature to identify and remove dormant users from Namespaces for GitLab.com

This is similar to the existing SM feature (&5519 (closed)), but rather than deactivating users, we will remove members.

Dormant Members

In order to determine our approach and deliver the feature, we need to define what constitutes a dormant member, i.e. what actions make a member "active"?

User#last_activity_on

We already have this timestamp at a User level, which is updated based on a variety of actions:

  • Git HTTP/SSH activities (such as clone, push)
  • User logging in to GitLab
  • User visiting pages related to dashboards, projects, issues, and merge requests
  • User using the API
  • User using the GraphQL API

For Members of a Group, some of these actions won't be relevant (e.g. logging in to GitLab.com) but we might want to adopt some of the others.

What actions make a member "active"?

To prevent being dormant (and thus "active"), the actions should be aligned as closely to the above as possible, i.e.

  • Git HTTP/SSH activities (such as clone, push)
  • Member visiting pages related to dashboards, projects, issues, merge requests, settings, etc.
  • Member using the API
  • Member using the GraphQL API

A member should be considered dormant if:

  • they have not performed any of these actions in the last N days
  • OR, they were added > 7 days ago but have never performed any of these actions

See #460840 (comment 1898351099) for discussion

What roles are never considered "inactive"?

  • Group Owners
Edited by Vijay Hawoldar