Skip to content

improve "discard all changes" UX #7394

@shiftkey

Description

@shiftkey

Please describe the problem you think should be solved

For the longest time we've had the ability to discard all changes by right-clicking the "Changes" header:

This was available on at least the classic Windows app, and it came over in #1647 because we needed somewhere to keep this functionality. Context menus for non-interactive elements like headers aren't very intuitive, but we marched on.

Then we added it to the context menu for a changed file in #4188 (requested in #4314):

This has lead to some confusion in #5342 because it is right next to the "Discard Change" menu item, and if a user doesn't have the "Confirm Discard Changes..." setting enabled they could accidentally move all the files to the trash.

This combination of "header context menu" and "item context menu" makes me think that neither place is the right place for this functionality.

[Optional] Do you have any potential solutions in mind?

in #5342 (comment) we identified a list of changes that will help us to improve this area:

I think we can solve this through implementing these four things, I believe in this order:

  1. Remove Discard All Changes from file context menu
  2. Add Discard All Changes as a top menu item
  3. Remove Discard All Changes from the header context menu
  4. Add a UI menu to the changes top bar (containing Discard All Changes and potential future actions)

For anyone who picks this up:

For 2, I think Discard All Changes should live in Branch > Discard All Changes in a new section between the first and the second section.

For 4, I think we can wait and see how 1-3 feels first before implementing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedIssues marked as ideal for external contributors

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions