Menu

#900 Second click of Join Game as Spectator needs to be disabled

None
open-fixed
5
2013-07-31
2013-07-31
No

If I click on the join a game as spectator button and nothing appears to be happening (slow load) I can click on the button again which launches a second process. The 2 processes then both start generating errors as they keep stealing the connection from each other. Closing both processes fixes the problem and then a single window can be opened.

Discussion

  • Clemens Katzer

    Clemens Katzer - 2013-07-31
    • labels: --> WebClient, Spectator
    • assigned_to: Clemens Katzer
    • Group: -->
     
  • Clemens Katzer

    Clemens Katzer - 2013-07-31

    Right, good point!

    So far I was focusing more on getting the functionality overall work, didn't pay attention on such smaller issues.

    As first step, yes, button should be immediately disabled. (For how long? Until joining another game? Selecting another, selecting same again, try to join? Probably it will be best to be disabled until game client goes away.)

    BTW what happens if one watches one game and then joins another?

    And even if button is disabled, somebody could try to join 2nd time from a 2nd running Colossus instance. [The fact that there can be only one web client connection with same name does not prevent the problem, since the game client stays open independently of it's webclient that started it.]

    =>

    1) immediately disable the button,
    2) reenable again if Game-Client goes away (?),
    3) when a client joins 2nd time, server side should tell the previous connection (if it is still alive) that he's explicitly kicked out by a newer one, so that it does not attempt to reconnect.

     
  • Clemens Katzer

    Clemens Katzer - 2013-07-31
    • status: open --> open-fixed
    • Priority: 9 --> 5
     
  • Clemens Katzer

    Clemens Katzer - 2013-07-31

    Fixed in r5322.

    Upon click, button is set to disabled, and will stay so as long as user is watching.
    (This covers only the within-this-Colossus-instance case; server side preventing/better dealing with two watch requests could/should be done still).

    Leaving open until next release, as usual.

     

Log in to post a comment.