Community Wishlist Survey 2021/Copy paste diffs

Copy and paste from diffs was the #3 wish in the Community Wishlist Survey 2021. With this project, our goal is to solve the following problem:

This page documents a project the Wikimedia Foundation's Community Tech team has worked on or declined in the past. Technical work on this project is complete.

We invite you to join the discussion on the talk page. You may track this project's progress on T287177.

As an editor, when I review a diff, it is difficult for me to copy and paste material without the unwanted diff syntax.

Copy and paste diff diagram
Copy and paste diff diagram

The proposed solution can be broken down as follows:

  • The text inside the diff will be treated as two independent columns. This will allow contributors to select from each column without selecting the other.
  • The unwanted syntax will be removed from the clipboard selection.

Updates

November 8, 2021: This wish has been delivered and completed

We have completed our work on this wish and will be monitoring the performance of our changes in the coming weeks. The changes include a copy and paste selection that treats the columns inside the diff independent of one another. Please let us know about your copy and paste experience from diff pages on this project's talk page if you encounter any issues! Thank you for your early feedback as well as your participation in the wishlist. The diff copy and paste experience is better for everyone in perpetuity thanks to your votes on this wish.

October 17, 2021: Engineering code review soon to be completed

The functionality is soon to be completed and released to users in the coming weeks. More granular details can be found inside the project label in Phabricator. If you'd like to test out the functionality in beta, we welcome you to inspect the new changes and let us know if you find any issues. We will update this page when the functionality is live to users.

July 16, 2021: The first steps

Engineering investigation

We have begun the engineering investigation for this work inside this Phabricator ticket. We are optimistic in the solutions we've found to fix this problem.

Video demonstrating copy and paste interactions for diff selection

Open questions

  • In which contexts do users usually copy and paste from diffs?
  • What syntax manifests itself as intrusive? Is there any syntax that would be desirable to keep in the clipboard?
  • What feedback do you have on our proposed solution?