View issue description real-time updates
Resources
FE @selfup
Product dependencies
- To be started only after https://gitlab.com/gitlab-org/gitlab-ce/issues/25051 has been completed and merged into master.
Docs blurb
The issue page is now even more real-time, with many more elements auto updating by themselves.
Problem
- To improve collaboration, the description in an issue view should update in real-time, so that if somebody else makes an update, I can view the changes live. This is similar to the Google Docs scenario, where multiple users viewing the same issue are in sync. Greater context is here: https://gitlab.com/gitlab-org/gitlab-ce/issues/24429.
- The description could grow or shrink in size, significantly, with one edit by somebody else. How would I experience that on my screen? For example, if I am lower down in the screen reading comments, would that suddenly cause the comments section to bounce up or down suddenly?
- If a description is suddenly radically changed, while I was in the middle of reading the issue description, how should I help the user or at least set some realistic expectations?
Design
- https://gitlab.com/gitlab-org/gitlab-ce/issues/24429 discusses some potential designs. In particular:
- A spinner is bad because it is too heavy-handed.
- A fade-in effect is a good experience to indicate an update, but is not too distracting, per the UX guidelines: https://docs.gitlab.com/ce/development/ux_guide/animation.html#quick-update
- An alternative is showing a live control (when needed) for the user to click and update the description. This prevents the user from the description suddenly changing when they may be reviewing some content or copying something from the screen. (Compare this with Google Docs, where content indeed can just suddenly disappear.)
- The
x of y tasks completed
line above the description should be updated as well. - The timestamp at the top should be updated.
- The timestamp should also be updated if the issue title is updated in real-time.