GraphQL API is returning the same identifier for different labels

When querying a PR/issue timeline, I’m seeing various labels appear with the same identifier. I believe in all of these cases, these labels were ultimately deleted, but they should absolutely still have unique identifiers if presented in the timeline. This also seems to manifest itself as a bug in the UI, as only the first label is shown if multiple labels have the same identifier.

For example, from the API:

{
  "__typename": "UnlabeledEvent",
  "createdAt": "2021-02-23T10:44:11Z",
  "label": {
    "id": "MDU6TGFiZWw=",
    "name": "Next in line?"
  }
},
{
  "__typename": "UnlabeledEvent",
  "createdAt": "2021-02-23T10:44:28Z",
  "label": {
    "id": "MDU6TGFiZWw=",
    "name": "Not req"
  }
}

But in the UI:

As you can see, the final UnlabeledEvent is not shown, presumably because their ID’s match.

2 Likes

This feels like a fairly critical bug, and to be completely honest, really does not inspire confidence in our usage of the GraphQL API.

I’m not sure if this has been a long-term issue as we only just started capturing deleted labels from timeline events.

1 Like