rollerderby / scoreboard

CRG Derby Scoreboard
Other
136 stars 55 forks source link

[2025.beta(all)] Starting a jam without ending a timeout causes subsequent lineups to use the still-running timeout clock #757

Open Capt-Brunch opened 2 months ago

Capt-Brunch commented 2 months ago

During a timeout, a jam can be started either by hotkey or by clicking the "---" titled jam start button, without ending the timeout. If this is done, the timeout timer continues running during the jam, and once the jam ends, "Lineup" is displayed with the current time of that still-running timeout timer. Additionally, the timeout type remains highlighted until the timeout is ended, and there's no clear way to resolve this during a jam as the "End Timeout" is replaced be "End Jam". Stopping the timeout clock manually resolves the lineup time issue, however it doesn't actually end the timeout on the UI for the timeout type that's still erroneously in progress.

I would expect that either starting the jam also ends the timeout, or that the jam is unable to be started during the course of a timeout. The former seems preferable to avoid gameday issues with being unable to start the jam in a timely manner due to forgetting to end the timeout.

To Reproduce

  1. Start a jam
  2. End that jam and start any form of timeout
  3. Without ending the timeout, start another jam using the "---" button that would otherwise be labeled "Start Jam"
  4. Note that the timeout clock is still running during the jam
  5. End the jam, note that because the timeout timer is still running, the lineup time will show the sum of the actual timeout duration, the jam that just ended, and the current lineup time.

Expected behavior Ideally, end a running timeout when a jam is started. Alternatively, prevent a jam from starting until the timeout is ended.

Version: This is present in all 2025 beta versions.

frank-weinberg commented 2 months ago

Not explicitly ending a timeout before starting a Jam has been a user error since CRG 4.0.0. The fact that it had little visible impact in earlier versions was just a lucky coincidence. A new feature introduced in v2025 has the side effect, that this user error now has a more visible impact. But it still is a user error and not a bug.

When "Clock after Timeout" is set to "Lineup", pressing "End Timeout" after the jam has ended will resolve the issue to the extent it can be resolved. (The duration of the timeout can not be corrected, but the live display will correctly reflect the state of the game, including showing a lineup clock that indicates the time since the jam ended.) If it is set to "Timeout" (current default due to WFTDA procedure, see this issue) you have to also manually stop the timout clock after ending the timeout in order to get the same effect. I have not found a way to make it possible to end the timeout during the jam without adding a dedicated button just for this special case, which feels like a bad idea - people already complain about too many buttons.

I did consider making it completely impossible to start a jam straight from timeout but figured that would be worse than this behaviour, given the recovery option described above. But if there is a sufficiently loud call from the user base, I would revert this decision.

(I'll leave this issue open for documentation purposes.)

Capt-Brunch commented 1 month ago

I don't understand why the "Start Jam" button can't just be overloaded to also end any currently-running timeouts to prevent getting into this state. I can't envision any possible scenario in which a timeout continuing during a jam-in-progress would be desired, so ending the timeout as a part of starting the jam seems totally reasonable without a new button.