Allow (un)following someone in the user popover
-
Review changes -
-
Download -
Patches
-
Plain diff
Merged
Kev requested to merge KevSlashNull/gitlab:Allow-un-following-through-the-user-popup into master
What does this MR do and why?
This MR is a suggestion to make it possible for users to follow and unfollow users via the user popover on notes, issues, and more. This makes it easier to follow people and reduces the friction of having to go to the user's profile. It also allows you to quickly determine whether you are following someone.
The (un)follow actions are optimistically atomic and will change instantly after the user clicks on the button. If an error occurs, the button is changed back.
Inspired by #346623 and Twitter's user popover.
Screenshots or screen recordings
Before | Follow | Unfollow | Signed out or same user |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
How to set up and validate locally
- Enable the feature flag (rollout issue) using the Rails console:
bin/rails c
Feature.enable(:follow_in_user_popover)
- Go to an issue that you didn't create
- Hover over the user name of the user who created the issue
- See the follow/unfollow button
- When you click it: see that it changes state and the user is
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
/closes #353362 (closed)
Edited by Kev
Merge request reports
Compare and
Show latest version
- version 328a39a2ba
- version 313e974ca0
- version 30d1f77e4d
- version 292690592d
- version 2870ec47e9
- version 2729a2089e
- version 269368dbe8
- version 25a6baef58
- version 24a120d4d7
- version 23cd3294c9
- version 229a219b97
- version 21b5ed364b
- version 20b5576a06
- version 199da56d35
- version 18957ddb76
- version 174998653a
- version 1669f2f210
- version 1583ddb0e0
- version 140465b254
- version 13edb43907
- version 12364a6176
- version 1186dd6815
- version 10761036e5
- version 99669b2b1
- version 851720aaf
- version 72e617b01
- version 6260166c2
- version 50dc37f4f
- version 41383483a
- version 343d37b9b
- version 276f76b57
- version 1940e3328
- master (base)
- latest versionc8dbada36 commits,
- version 328a39a2ba6 commits,
- version 313e974ca05 commits,
- version 30d1f77e4d5 commits,
- version 292690592d4 commits,
- version 2870ec47e96 commits,
- version 2729a2089e3 commits,
- version 269368dbe83 commits,
- version 25a6baef583 commits,
- version 24a120d4d73 commits,
- version 23cd3294c92 commits,
- version 229a219b972 commits,
- version 21b5ed364b2 commits,
- version 20b5576a061 commit,
- version 199da56d3519 commits,
- version 18957ddb7619 commits,
- version 174998653a18 commits,
- version 1669f2f21018 commits,
- version 1583ddb0e017 commits,
- version 140465b25416 commits,
- version 13edb4390712 commits,
- version 12364a617611 commits,
- version 1186dd681511 commits,
- version 10761036e510 commits,
- version 99669b2b19 commits,
- version 851720aaf8 commits,
- version 72e617b017 commits,
- version 6260166c26 commits,
- version 50dc37f4f3 commits,
- version 41383483a2 commits,
- version 343d37b9b1 commit,
- version 276f76b571 commit,
- version 1940e33281 commit,
Compare changes
- Side-by-side
- Inline
Files
283Loading