lichess-org / lila

♞ lichess.org: the forever free, adless and open source chess server ♞
https://lichess.org
GNU Affero General Public License v3.0
15.5k stars 2.26k forks source link

Feature request: move confirmations active only when clock is above a certain time #6856

Closed alexrgura closed 1 year ago

alexrgura commented 4 years ago

Intro

Hello,

I've had a desire to add a feature to lichess for a while that involves an extra option in the "Move Confirmation" setting under "Game Behavior" in preferences. I had noticed that there were a couple of issues raised that weren't pursued that had ideas similar to this, but they suggested adding classical to the options or manually switching the option off. The option I propose would allow move confirmations to be active only when your clock is above a certain time. This would probably solve the issues other people have raised, such as being active only during classical games.

My idea was inspired by a common rule in OTB chess, where taking notation is not required when a player's remaining time goes under a certain amount. Similarly, as move confirmation can be thought of as an extra step in making a move, it would be similarly not required or optionally off when under a certain time remaining on the clock.

Behavior

The behavior is thus: if the setting is set such that move confirmations are only active when your clock is > 5 minutes, then you would have move confirmations active until your clock ran under 5 minutes, at which point a notification would appear in the move history window (possibly) and tell you move confirmation is off, and after that point move confirmations would not be active.

Mockups

Here are some quick ideas of what that could look like, broken down into two categories. One has a fixed time and the other gives you options to choose times.

Fixed Option

The option could be fixed, similar to the "Claim draw on threefold repetition automatically" setting, which has a fixed option labeled "When time remaining < 30 seconds". I propose the fixed time to be 5 minutes, but the fixed time is arbitrary and definitely worth discussing if that is the route chosen. I choose 5 minutes because it covers the bulk of blitz and bullet games, as well as the critical (time-wise) parts of classical games. Here are a couple of ways it could look:

The first mockup shows it simply added as a fifth option.

fixed_option_1a

In the second, I just replaced "correspondence games" with the option to see if it is more preferable, but removing that isn't necessary.

fixed_option_2a

Variable Option

Here I envision that it could be a variable option, where when it is selected a second radio appears underneath that contains 4 or so options that would determine its behavior. For instance, if you wanted the move confirmations to be active only when time is above 1 minute, you could select that option beneath. Or you could still set it to 5 minutes. The two images below show variations on what it would look like before the user selects the variable option (with either "correspondence" or "correspondence games" as the third option).

fixed_option_n_select_2 fixed_option_n_select_4

These next two images show what it would look like after the user selects the variable option. There would be a second <radio> element that appears below the move confirmation options <radio> allowing the user to select which clock time they would like move confirmations to be active above.

variable_option_selected_2a variable_option_selected_2b

User Notification

Here is a simple idea for how the notification could appear to the user when their clock goes under a certain time. The notification could be click to dismiss or could have buttons to dismiss it, or could have different text or style.

confirmation_notification

Let me know what you think!

alexrgura commented 4 years ago

Also, as an addendum, I would be interested in writing the code for this feature. However, I was told on the forum to wait for it to be accepted before starting development on it.

ornicar commented 4 years ago

How about a purely client-side toggle next to the confirmation buttons, that allows you to disable it for the rest of the game?

alexrgura commented 4 years ago

@ornicar If the feature I requested is too involved that could I suppose be a way to implement a part of it. I think that implementation would probably work best if it includes an option in the settings to specify classical games as well, as at least I wouldn't want to have to toggle it during every blitz and bullet game. If it were implemented with the same settings as currently, it would be easier simply to turn it on manually in the settings page before classical games (and off after) rather than have it set to "Always" and use the toggle before most games, I'd imagine.

SteveMulchCivic commented 4 years ago

@ornicar There should also be an option to disable chat for that game. The moment I realize I am talking to a troll, I want to stop feeding them and disable chat.

alexrgura commented 4 years ago

@SteveMulchCivic Perhaps you are commenting on the wrong thread?

ijhchess commented 4 years ago

@SteveMulchCivic there is a little checkbox at the top right of every chat that allows you to do just that.

alexrgura commented 4 years ago

To clarify my earlier response, I think an in game toggle on the move confirmation to silence them for the rest of the game could be implemented alongside an option for classical and it could accomplish the same thing as my initial idea. I made a couple of quick mockups for it. The in game toggle could look something like this:

move_confirmation_after

I couldn't quickly find a "data-icon" that matched a silencing icon but there may be one, this is just something I quickly pasted on.

The confirmation could now look like this (with an undo button):

silenced_w_icons

And then it could be accompanied by an option for classical, which could look something like this:

move_confirmation_w_classical

Let me know what you think about this option!

ornicar commented 4 years ago

I like the client-side toggle and the simple extra choice in preferences page.

For the toggle you could use a cmn-toggle checkbox - like these https://lichess.org/account/oauth/token/create

alexrgura commented 4 years ago

Sounds good! I'll get started on that then

Axeltherabbit commented 3 years ago

Sounds good! I'll get started on that then

any update about it? I Could also contribute, it's a feature I really want

TheMadSword commented 1 year ago

See PR #12565 for what it looks like (screenshot + PR) ; and if something needs to be changed.

TheMadSword commented 1 year ago

I think this could be closed as #12565 was merged.