I have been playing around with this issue since I uploaded my game prototype to the website (as it's intended to be played from desktop computers, was previously testing exports with NW.js only).
There seem to be two main issues to me, which are partly Construct 2 design problems:
1) The loadingprogress system variable is designed to contain values meaning different things, which is not ideal (would be better to have two separate variables, one showing the progress for game updates and another for layout load)
2) The Browser.On Update Ready signal only triggers when an update upload is complete (game running from cache and downloading new version). This is an issue when a person starts the game for the first time (game not running from cache). The Browser.Is Downloading Update will be True (allowing me to then use a timer to show update progression using loadingprogress), but the On Update Ready signal never fires to allow the game to move onto the first layout (player just sees "Loading game 100% complete")
So, to recap, there are three situations:
1) Player starting game for the first time in a browser
2) Player running the game again (uses cache) and an update is available
3) Player running the game again and no update available
Situations 2 & 3 are managed as follows and work fine:
...
Browser.Is Downloading Update -> System Set FlagGameUpdate = True
Else Goto FirstLayout
System Every 2 seconds
System FlagGameUpdate = True -> TxtIntroUpdate Set Text to "Loading game update... " & round(loadingprogress*100) " %"
->Browser.On Update Ready -> System Set FlagGameUpdate to FALSE
Browser.Reload
Problem is situation 1, as with the On Update Ready not being triggered, I haven't found how to automatically reload the page. Any ideas?