Bugs with cached quick actions on issues/MRs

Summary

We recently enabled caching on autocomplete items (quick actions) in !138226 (merged). That causes issues with certain quick actions as long as the cache remains valid.

Steps to reproduce

  1. Pick an issue that doesn't have an assignee, or remove the assignee from it.
  2. Use the /assign quick action to assign someone. This would cache the quick actions. Notice in the attached video that due to cache, I cannot autocomplete my username when trying to /assign myself again because it thinks I'm still assigned.
  3. Try to use the /unassign or /reassign quick actions now in another comment. They won't be autocompleted.

Same issues can be reproduced for /label, /unlabel and /relabel commands in issues and MRs and for /assign_reviewer, /unassign_reviewer and /reassign_reviewer commands in MRs.

Example Project

gitlab-org/gitlab, but happens on every project

Screen Recording 2024-02-08 at 17.55.07.mov

What is the current bug behavior?

Since the quick actions are cached, the backend is unaware that there have been changes to the issue since then and we don't get the most up to date quick actions.

What is the expected correct behavior?

Either quick actions should not be cached, or the cache should be busted if there are any updates made to the issue or the MR.

Possible fixes

Edited by Himanshu Kapoor