View the history of changes to an issue/mr/epic description
Problem
The description of an issue can be freely edited and the time of the last edit is recorded. But it is not recorded who made an edit and most of all not what the previous content was. A customer in a collaboration project made an edit to an issue description that we may not agree to and we have no records about what the previous content was exactly. Everything else is versioned but this important piece is missing.
Proposal
- Description edits should be collapsed by default
- Users can expand description edits. This uses the same expand/collapse paradigm as discussions.
-
Once https://gitlab.com/gitlab-org/gitlab-ce/issues/26723 is complete, description edits made by the same user within a 10-minute span should reside under the same system note. Since we are showing the actual changes made, we can simplify the language of the system note and just say "User @username changed the description 3 weeks ago"
-
There is a max-height of 480px. This is twice the max-height of our dropdowns. If a description is longer than this, the content should scroll.
-
The diff will show straight markdown, not the markdown preview. This is because inline diffs do not work for headers, images, tables, etc.
-
Use the label
Compare with previous version
to expand the diff
Implementation Notes
- Whichever path is selected as optimal during the implementation of this issue, please keep in mind that the likely next iteration after tracking is exposing the ability to easily revert to a previous version. This is out of scope for this MVC, but should be taken into consideration when selecting the optimal implementation path.
- Additional conversation around implementation details - https://gitlab.com/gitlab-org/gitlab-ee/issues/10103#note_201016784
Documentation
Issue Documentation should be updated for the description
of an issue as follows:
- Show how to view / expand description diffs
- Describe how straight markdown will be shown
- Describe how
Compare with previous version
functions
Related issues
- Combining system notes for description edits made within a 10-minute span
- Filtering discussions by system notes/comments
Feature flag: :save_description_versions
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.