Page MenuHomePhabricator

Consider changing gerrit default change screen to CHANGE_SCREEN2
Closed, DeclinedPublic

Description

Some people report that CHANGE_SCREEN2 is much nicer. Maybe we should make it the default.

Downside, would be it changes people's workflows (but they can always change back in preferences), and people may particularly not like change if we are planning to move to phab for cr.

I believe all that would need to be done is

`
diff --git a/modules/gerrit/templates/gerrit.config.erb b/modules/gerrit/templates/gerrit.config.erb
index c142bdd..ad4ba29 100644
--- a/modules/gerrit/templates/gerrit.config.erb
+++ b/modules/gerrit/templates/gerrit.config.erb
@@ -2,6 +2,7 @@
     basePath = git
     canonicalWebUrl = <%= @url %>
     reportBugUrl = https://phabricator.wikimedia.org/maniphest/task/create/?projects=PHID-PROJ-lc5rwomzjp6fmcdpbw43
+    changeScreen = CHANGE_SCREEN2
 [core]
     packedGitOpenFiles = 4096
     packedGitLimit = 500m
`

Event Timeline

Bawolff raised the priority of this task from to Needs Triage.
Bawolff updated the task description. (Show Details)
Bawolff added a project: Gerrit.
Bawolff added subscribers: Bawolff, demon, matmarex.

Some things are already working better in ChangeScreen2. Agreed.
But ChangeScreen2 is far from a viable replacement for the currently used classical ChangeScreen.

For example, in ChangeScreen2 dependencies between changes are not visible. (The "Related Changes” part is buggy and no replacement for the dependencies of the classical ChangeScreen).
For example, in ChangeScreen2 the easily understandable voting table is gone and replaced by listing reviewers and votes in two different places. So it's hard to see who is expected to review. Also switching from a table to a list makes the whole thing harder to parse for me.

Hence, I'd rather leave the default as is.


It seems some ~60 people tried ChangeScreen2.
Of those, ~20 switched back to classical ChangeScreen. *)
(There might be some people missing, as people might have switched back to the server default, which also is the classical ChangeScreen)

If the population of those 60 would be a fair sample, the switch-back rate of 1/3 would indicate that we should switch.
But the population of those 60 is not a fair sample. Those 60 people were keen enough to try out ChangeScreen2. So they had a bias toward switching. Despite this bias, nonetheless 1/3 switched back to the classical ChangeScreen. The 1/3 is a pretty miserable conversion rate in this population. So it points to keeping the current default of the classic ChangeScreen.


Finally, switching the default change screen would force ~2500 people rethink their workflows.
That'd be bad enough on its own.

Hence, I'd say that we should keep the current default of the classical ChangeScreen.
Whoever wants to use ChangeScreen2 can just set the option for thon's user.

*) As of 2015-07-23:

gerrit> select change_screen, count(*)  from accounts group by change_screen;
 change_screen  | count(*)
 ---------------+---------
 NULL           | 2563
 CHANGE_SCREEN2 | 37
 OLD_UI         | 22
Bawolff claimed this task.

Some things are already working better in ChangeScreen2. Agreed.
But ChangeScreen2 is far from a viable replacement for the currently used classical ChangeScreen.

For example, in ChangeScreen2 dependencies between changes are not visible. (The "Related Changes” part is buggy and no replacement for the dependencies of the classical ChangeScreen).
For example, in ChangeScreen2 the easily understandable voting table is gone and replaced by listing reviewers and votes in two different places. So it's hard to see who is expected to review. Also switching from a table to a list makes the whole thing harder to parse for me.

Fair enough, those sound like good reasons. I just tried turning it on a day ago, and it seems really pretty (relatively), but... I suppose I haven't been trying it long enough to see the bad sides yet that you mentioned.

Thanks for responding, I'll mark this bug wontfix based on your comment.

We most definitely should make it the default, but only after upgrading Gerrit to 2.11 (T70271), where a bunch of issues with the new view is fixed. There's a long list of them here: https://etherpad.wikimedia.org/p/new-gerrit-change-view-comments, made a long time ago primarily by @Nemo_bis, most are trivial, but a few big ones are inability to view long lines (no horizontal scrolling and no wrapping), some broken keyboard shortcuts, and funky dependencies display (mentioned by Chris above). These are easy enough to work around when you know about them, but I'd rather we not force everyone to deal with them, and they're all fixed in 2.11.

Most actual bugs are fixed in 2.9 already, or even in 2.8.x. I don't care about the default and I understand if people don't want to change but I'm extremely annoyed that we're stuck with an ancient random release (T65847).

Well we moved to phabricator from Bugzilla which is a big difference so we could upgrade to 2.11 which includes built in web editor making it a ton easer to fix patches quicker.

Maybe set up a test site for users to test it on Wikimedia and give feedback. For example a question could be did you find it easer to use gerrit 2.11 then 2.8 another one could be do you like the new change screen or prefer the old change screen.

We most definitely should make it the default, but only after upgrading Gerrit to 2.11 (T70271), [...]

Gerrit v2.11 removed the classical ChangeScreen.
So after the upgrade to Gerrit v2.11, ChangeScreen2 is the only option.

btw, I just realized that the no horizontal scroll bar issue can be worked around by either

  • Setting the diff preference for unified (duh)
  • Manually modifying the diff url, removing the ,cm at the end of it.

Just writing this here in case it helps someone else.