jj icon indicating copy to clipboard operation
jj copied to clipboard

Built-in diff editor shortcuts are completely undiscoverable

Open lgarron opened this issue 10 months ago • 3 comments

Description

This is UX feedback issue:

I tried running jj split and it took me literally 10 minutes to figure out how to do it successfully.

I did not succeed until I found the screenshot at https://www.pauladamsmith.com/blog/2025/01/cheatsheet-for-jjs-builtin-diff-editor.html showing that "Confirm changes" is c. I would never have guessed that. Things I tried include:

  • w and wq (similar to vim). q just quit and made the operation fail.
  • ⌘S (uncommon for commandline tools, but who knows?)
  • Ctrl-S (similar to other platforms
  • Ctrl-O (similar to nano)
  • s ("save")

Steps to Reproduce the Problem

  1. Run jj split

Expected Behavior

The UI tells me how to accept my selection. For example, nano shows shortcuts at the bottom of the UI that are super clear. Image

I would expect the following pages to tell me what to do, but they contained no useful info to help me actually successfully select a subset of changes:

  • https://jj-vcs.github.io/jj/latest/cli-reference/#jj-split
  • https://jj-vcs.github.io/jj/latest/config/#editing-diffs

Actual Behavior

  • I see what appears to be a menu, but I can't find a way to interact with it.
  • I don't see any way to confirm changes.

Image

In addition, I'm still not sure exactly what the built-in editor is. Some things on the internet imply it's meld, but apparently not?

Specifications

  • Platform: macOS Sequoia 15.3.1
  • Version: 0.26.0

lgarron avatar Feb 28 '25 04:02 lgarron

Oh. Apparently the menu is meant to be clicked with the mouse.

Even after 20 years of using commandlines, it is completely foreign for me to encounter a commandline tool that requires clicking in order to do/discover something useful. I never use clicking features of commandline tools, as 1) I do not trust them to function well across environments, and 2) I generally have no need to do so.

I think it would be much more beginner-friendly to show something that can help users discover what to do without guessing they have to click.

lgarron avatar Feb 28 '25 04:02 lgarron

This is https://github.com/jj-vcs/jj/discussions/2951 and https://github.com/arxanas/scm-record/issues/25. It might make sense to keep an open issue in our repo as well, I'm not sure.

Apparently, there's a PR in the works: https://github.com/arxanas/scm-record/pull/91.

ilyagr avatar Feb 28 '25 04:02 ilyagr

Related: #4502

augustebaum avatar Apr 03 '25 12:04 augustebaum

#4502 seems similar enough that I'll close this as a duplicate (because the other one has move thumbs up). Feel free to reopen if I missed some important way in which they are different.

martinvonz avatar Oct 30 '25 02:10 martinvonz