Using events API for displaying the redesigned activity feed

Context

There's a current proposal from UX to redesign the activity feed. In the first iteration we'd like to redesign the dashboard activity feed as desribed in https://gitlab.com/gitlab-org/gitlab-ce/issues/49403

This view is still using HAML templates instead of Vue components. It would be a good time to start refactoring this and introduce Vue here.

By taking a closer look at the events API (https://docs.gitlab.com/ee/api/events.html), we noticed that some features are missing in order to use the API for rendering the activity feed on the client.

The following section summarizes the open topics and questions we've discovered.

Events API Questions

Starred filter

In the current implementation, it looks like there is some filtering happening on the list of loaded events. The events API doesn't support this filter yet. Could we add this as request param to the API?

activity_feed_starred

Tabs for filtering

activity_feed_tabs

It looks like the events API provides the following request parameters for filtering by tab:

  • Push events: action=pushed
  • Merge events: action=merged
  • Issue events: target_type=issue
  • Comments: action=pushed
  • Team: ?

As for the Team tab, it's not clear whether this is supported by the API. Is filtering by Team already supported and if not, could it be added?

Project meta data

In order to display project information (e.g., name, namespace, link) correctly we would need additional information provided by the API. Currently at least the following information is missing from the events API:

  • project name
  • namespace
  • project URL (for linking)

Could this be added to the API? Is there any additional information which is not listed above but would required to render the events correctly (such as special content of a comment like labels, images)?

For example, the API already provides this kind of meta data for the event's author.

Edited by 🤖 GitLab Bot 🤖