You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a viewer is viewing a broadcast in the web browser,
moves are automatically displayed on the board as they come in from the source.
If the source changes its mind, and regards a previously sent move as a "wrong" move,
and instead sends a "new" move - the "wrong" move will end up in a variation - and the "new" move will continue as mainline.
Problem:
The viewer will now be "stuck" seeing only the variation move,
instead of enjoying the incoming moves in the mainline.
I guess the intention of this behaviour,
is that it is nice to let the viewer browse variations without being "disturbed" by new incoming moves.
But in this case,
the viewer didn't initiate the act of browsing a variation... So maybe it is possible to detect this scenario, and help the viewer out of the variation and onto the mainline again... 🤔
Below is a scala-cli application which helps reproduce the scenario.
It creates a broadcast and prints its URL,
and pushes a move and waits for keypress so one has time to view the broadcast,
and then the application changes its mind and sends another move.
scala-cli broadcast
//>usingscala3.4.2//>usingdepio.github.tors42:chariot:0.0.88@main
defmain() =vallichessApi="http://localhost:8080"valtoken="lip_yulia"valclient= chariot.Client.basic(conf => conf.api(lichessApi))
.withToken(token)
valbroadcast= client.broadcasts().create(p => p
.name("Broadcast Name")
.shortDescription("Short Broadcast Description")
.longDescription("Looooong Broadcast Description")).get()
valroundId= client.broadcasts().createRound(broadcast.id(),
p => p.name("Round Name")).get().id()
valpush1=""" [White "Hou Yifan"] [Black "Lei Tingjie"] 1. d4 *"""valpush2=""" [White "Hou Yifan"] [Black "Lei Tingjie"] 1. d4 a5 *"""valpush3=""" [White "Hou Yifan"] [Black "Lei Tingjie"] 1. d4 d5 *"""
println(s"Broadcast at $lichessApi/broadcast/-/-/$roundId")
client.broadcasts().pushPgnByRoundId(roundId, push1)
println("1. d4 has been broadcasted. Press enter to broadcast 1. d4 a5 followed by corrective 1. d4 d5")
System.in.read()
client.broadcasts().pushPgnByRoundId(roundId, push2)
client.broadcasts().pushPgnByRoundId(roundId, push3)
println(String.join("\n", client.broadcasts().exportOneRoundPgn(roundId).stream().map(_.toString).toList()))
The text was updated successfully, but these errors were encountered:
Scenario:
When a viewer is viewing a broadcast in the web browser,
moves are automatically displayed on the board as they come in from the source.
If the source changes its mind, and regards a previously sent move as a "wrong" move,
and instead sends a "new" move - the "wrong" move will end up in a variation - and the "new" move will continue as mainline.
Problem:
The viewer will now be "stuck" seeing only the variation move,
instead of enjoying the incoming moves in the mainline.
I guess the intention of this behaviour,
is that it is nice to let the viewer browse variations without being "disturbed" by new incoming moves.
But in this case,
the viewer didn't initiate the act of browsing a variation... So maybe it is possible to detect this scenario, and help the viewer out of the variation and onto the mainline again... 🤔
Below is a scala-cli application which helps reproduce the scenario.
It creates a broadcast and prints its URL,
and pushes a move and waits for keypress so one has time to view the broadcast,
and then the application changes its mind and sends another move.
scala-cli broadcast
The text was updated successfully, but these errors were encountered: