Page MenuHomeWildfire Games

Fix lobby player selection early return
ClosedPublic

Authored by elexis on Jun 27 2017, 9:35 PM.

Details

Summary

When changing the sorting order, clicking on the same player again or receiving a playerlist update where the selected player has a different index in the list, the rating is loaded again from the server.
rP17924 prevented that rating reloading in case the playerlist update yielded a list where the selected player has the same index. So the check was correct, but in the wrong place.
When committing the insufficient patch, I've created a ticket for bug I was apparently aware of at the time without having figured out the trivial solution here: #3840.

When fpre implemented the nice feature in rP19287 to select the game the player is playing in when selecting a player, this bug got worse, because:

  1. if we first select player 1 that is playing in game 1, then game 1 is selected
  2. if we then select game 2 and receive a playerlist update, the currently selected player is selected again and thus game 1 is selected unintentionally.
Test Plan

Apply this attached debug patch but not the fix of this differential revision proposal. It mocks a player- and gamelist and displays a warning each time the rating is fetched again.


Click on the same player to see that we do useless rating calls.
Join with a second account to change the currently selected playerID (without changing the currently selected playername).

Test the unintentional gamelist reselection mentioned above if not yet convinced.

Event Timeline

elexis created this revision.Jun 27 2017, 9:35 PM
Vulcan added a subscriber: Vulcan.Jun 27 2017, 9:44 PM
Executing section Default...
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  41|  41|  * The playerlist will be assembled using these values.
|  42|  42|  */
|  43|  43| const g_PlayerStatuses = {
|  44|    |-	"available": { "color": "0 219 0",     "status": translate("Online") },
|    |  44|+	"available": { "color": "0 219 0", "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  42|  42|  */
|  43|  43| const g_PlayerStatuses = {
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|    |-	"away":      { "color": "229 76 13",   "status": translate("Away") },
|    |  45|+	"away":      { "color": "229 76 13", "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  43|  43| const g_PlayerStatuses = {
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|    |-	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|    |  46|+	"playing":   { "color": "200 0 0", "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|  49|  49| };
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|    |-	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|    |  47|+	"offline":   { "color": "0 0 0", "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|  49|  49| };
|  50|  50| 

binaries/data/mods/public/gui/lobby/lobby.js
| 904| »   »   switch·(sortBy)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/lobby/lobby.js
|1143| »   while·(true)
|    | [NORMAL] ESLintBear (no-constant-condition):
|    | Unexpected constant condition.

binaries/data/mods/public/gui/lobby/lobby.js
|1282| »   »   switch·(command)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/lobby/lobby.js
| 456| »   if·(mapSizeFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 460| »   if·(playersNumberFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 464| »   if·(mapTypeFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 598| »   »   case·'name':
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/lobby/lobby.js
|1163| »   »   if·(msg.type·==·"chat"·&&·Engine.LobbyGetMucMessageCount()·==·0)
|    | [NORMAL] JSHintBear:
|    | Use '===' to compare with '0'.
Executing section XML GUI...
Executing section Python...
Executing section Perl...

http://jw:8080/job/phabricator_lint/249/ for more details.

elexis edited the summary of this revision. (Show Details)Jun 27 2017, 9:44 PM
elexis edited the test plan for this revision. (Show Details)
elexis updated this revision to Diff 2725.Jun 27 2017, 11:05 PM
elexis edited the summary of this revision. (Show Details)

The other occurance of g_SelectedPlayer also needed an update (when a player was muted, the text was updated by selecting the player again, but now we have an early return, so just move that one call we want to execute to a new helper function updateUserRoleText).
We can now also remove the other selectGameFromPlayername function and simplify the code.

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK!
Checking XML files...

http://jw:8080/job/phabricator/1645/ for more details.

Executing section Default...
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  41|  41|  * The playerlist will be assembled using these values.
|  42|  42|  */
|  43|  43| const g_PlayerStatuses = {
|  44|    |-	"available": { "color": "0 219 0",     "status": translate("Online") },
|    |  44|+	"available": { "color": "0 219 0", "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  42|  42|  */
|  43|  43| const g_PlayerStatuses = {
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|    |-	"away":      { "color": "229 76 13",   "status": translate("Away") },
|    |  45|+	"away":      { "color": "229 76 13", "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  43|  43| const g_PlayerStatuses = {
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|    |-	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|    |  46|+	"playing":   { "color": "200 0 0", "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|  49|  49| };
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|    |-	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|    |  47|+	"offline":   { "color": "0 0 0", "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|  49|  49| };
|  50|  50| 

binaries/data/mods/public/gui/lobby/lobby.js
| 892| »   »   switch·(sortBy)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/lobby/lobby.js
|1131| »   while·(true)
|    | [NORMAL] ESLintBear (no-constant-condition):
|    | Unexpected constant condition.

binaries/data/mods/public/gui/lobby/lobby.js
|1270| »   »   switch·(command)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/lobby/lobby.js
| 452| »   if·(mapSizeFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 456| »   if·(playersNumberFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 460| »   if·(mapTypeFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 591| »   »   case·'name':
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/lobby/lobby.js
|1151| »   »   if·(msg.type·==·"chat"·&&·Engine.LobbyGetMucMessageCount()·==·0)
|    | [NORMAL] JSHintBear:
|    | Use '===' to compare with '0'.
Executing section XML GUI...
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|   1|   1| <?xml version="1.0" encoding="utf-8"?>
|   2|    |-
|   3|   2| <objects>
|   4|   3| 	<script file="gui/common/color.js"/>
|   5|   4| 	<script file="gui/common/functions_global_object.js"/>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  24|  24| 
|  25|  25| 		<!-- Left panel: Player list. -->
|  26|  26| 		<object name="leftPanel" size="20 30 20% 100%-310">
|  27|    |-			<object name="playersBox"
|  28|    |-				style="ModernList"
|  29|    |-				sprite_asc="ModernArrowDown"
|  30|    |-				selected_column="name"
|  31|    |-				selected_column_order="1"
|  32|    |-				sprite_desc="ModernArrowUp"
|  33|    |-				sprite_not_sorted="ModernNotSorted"
|  34|    |-				type="olist"
|  35|    |-				sortable="true"
|  36|    |-				size="0 0 100% 100%"
|  37|    |-				font="sans-bold-stroke-13"
|  38|    |-			>
|    |  27|+			<object name="playersBox" style="ModernList" sprite_asc="ModernArrowDown" selected_column="name" selected_column_order="1" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" type="olist" sortable="true" size="0 0 100% 100%" font="sans-bold-stroke-13">
|  39|  28| 				<column id="buddy" width="12"/>
|  40|  29| 				<column id="status" width="26%">
|  41|  30| 					<translatableAttribute id="heading">Status</translatableAttribute>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  59|  59| 		<object name="profilePanel" size="20 100%-305 20% 100%-110">
|  60|  60| 			<object name="profileBox" type="image" sprite="ModernDarkBoxGold" size="0 0 100% 100%">
|  61|  61| 				<object name="profileArea" size="0 0 100% 100%" hidden="true">
|  62|    |-					<object name="usernameText" size="0 0 100% 45" type="text" style="ModernLabelText" font="sans-bold-16" />
|  63|    |-					<object name="roleText" size="0 45 100% 70" type="text" style="ModernLabelText" font="sans-bold-stroke-12" />
|    |  62|+					<object name="usernameText" size="0 0 100% 45" type="text" style="ModernLabelText" font="sans-bold-16"/>
|    |  63|+					<object name="roleText" size="0 45 100% 70" type="text" style="ModernLabelText" font="sans-bold-stroke-12"/>
|  64|  64| 					<object size="0 70 40%+40 90" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  65|  65| 						<translatableAttribute id="caption">Current Rank:</translatableAttribute>
|  66|  66| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  64|  64| 					<object size="0 70 40%+40 90" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  65|  65| 						<translatableAttribute id="caption">Current Rank:</translatableAttribute>
|  66|  66| 					</object>
|  67|    |-					<object name="rankText" size="40%+45 70 100% 90" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  67|+					<object name="rankText" size="40%+45 70 100% 90" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  68|  68| 					<object size="0 90 40%+40 110" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  69|  69| 						<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
|  70|  70| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  68|  68| 					<object size="0 90 40%+40 110" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  69|  69| 						<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
|  70|  70| 					</object>
|  71|    |-					<object name="highestRatingText" size="40%+45 90 100% 110" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  71|+					<object name="highestRatingText" size="40%+45 90 100% 110" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  72|  72| 					<object size="0 110 40%+40 130" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  73|  73| 						<translatableAttribute id="caption">Total Games:</translatableAttribute>
|  74|  74| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  72|  72| 					<object size="0 110 40%+40 130" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  73|  73| 						<translatableAttribute id="caption">Total Games:</translatableAttribute>
|  74|  74| 					</object>
|  75|    |-					<object name="totalGamesText" size="40%+45 110 100% 130" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  75|+					<object name="totalGamesText" size="40%+45 110 100% 130" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  76|  76| 					<object size="0 130 40%+40 150" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  77|  77| 						<translatableAttribute id="caption">Wins:</translatableAttribute>
|  78|  78| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  76|  76| 					<object size="0 130 40%+40 150" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  77|  77| 						<translatableAttribute id="caption">Wins:</translatableAttribute>
|  78|  78| 					</object>
|  79|    |-					<object name="winsText" size="40%+45 130 100% 150" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  79|+					<object name="winsText" size="40%+45 130 100% 150" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  80|  80| 					<object size="0 150 40%+40 170" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  81|  81| 						<translatableAttribute id="caption">Losses:</translatableAttribute>
|  82|  82| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  80|  80| 					<object size="0 150 40%+40 170" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  81|  81| 						<translatableAttribute id="caption">Losses:</translatableAttribute>
|  82|  82| 					</object>
|  83|    |-					<object name="lossesText" size="40%+45 150 100% 170" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  83|+					<object name="lossesText" size="40%+45 150 100% 170" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  84|  84| 					<object size="0 170 40%+40 190" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  85|  85| 						<translatableAttribute id="caption">Win Rate:</translatableAttribute>
|  86|  86| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  84|  84| 					<object size="0 170 40%+40 190" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  85|  85| 						<translatableAttribute id="caption">Win Rate:</translatableAttribute>
|  86|  86| 					</object>
|  87|    |-					<object name="ratioText" size="40%+45 170 100% 190" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  87|+					<object name="ratioText" size="40%+45 170 100% 190" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  88|  88| 				</object>
|  89|  89| 			</object>
|  90|  90| 		</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 110| 110| 		</object>
| 111| 111| 
| 112| 112| 		<!-- Right panel: Game details. -->
| 113|    |-		<object name="rightPanel" size="100%-250 30 100%-20 100%-20" >
|    | 113|+		<object name="rightPanel" size="100%-250 30 100%-20 100%-20">
| 114| 114| 			<object name="gameInfoEmpty" size="0 0 100% 100%-60" type="image" sprite="ModernDarkBoxGold" hidden="false">
| 115| 115| 				<object name="logo" size="50%-110 40 50%+110 140" type="image" sprite="logo"/>
| 116| 116| 				<object name="subjectBox" type="image" sprite="ModernDarkBoxWhite" size="3% 180 97% 99%">
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 187| 187| 
| 188| 188| 		<!-- Middle panel: Filters, game list, chat box. -->
| 189| 189| 		<object name="middlePanel" size="20%+5 5% 100%-255 97.2%">
| 190|    |-			<object name="gamesBox"
| 191|    |-				style="ModernList"
| 192|    |-				sprite_asc="ModernArrowDown"
| 193|    |-				selected_column="name"
| 194|    |-				selected_column_order="1"
| 195|    |-				sprite_desc="ModernArrowUp"
| 196|    |-				sprite_not_sorted="ModernNotSorted"
| 197|    |-				type="olist"
| 198|    |-				sortable="true"
| 199|    |-				size="0 25 100% 48%"
| 200|    |-				font="sans-stroke-13"
| 201|    |-			>
|    | 190|+			<object name="gamesBox" style="ModernList" sprite_asc="ModernArrowDown" selected_column="name" selected_column_order="1" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" type="olist" sortable="true" size="0 25 100% 48%" font="sans-stroke-13">
| 202| 191| 				<action on="SelectionChange">updateGameSelection();</action>
| 203| 192| 				<action on="SelectionColumnChange">applyFilters();</action>
| 204| 193| 				<action on="mouseleftdoubleclickitem">joinButton();</action>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 225| 225| 
| 226| 226| 			<object name="filterPanel" size="0 0 100% 24">
| 227| 227| 
| 228|    |-				<object name="mapSizeFilter"
| 229|    |-					type="dropdown"
| 230|    |-					style="ModernDropDown"
| 231|    |-					size="58%-5 0 74%-10 100%"
| 232|    |-					font="sans-bold-13">
|    | 228|+				<object name="mapSizeFilter" type="dropdown" style="ModernDropDown" size="58%-5 0 74%-10 100%" font="sans-bold-13">
| 233| 229| 					<action on="SelectionChange">applyFilters();</action>
| 234| 230| 				</object>
| 235| 231| 
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 233| 233| 					<action on="SelectionChange">applyFilters();</action>
| 234| 234| 				</object>
| 235| 235| 
| 236|    |-				<object name="mapTypeFilter"
| 237|    |-					type="dropdown"
| 238|    |-					style="ModernDropDown"
| 239|    |-					size="74%-5 0 90%-10 100%"
| 240|    |-					font="sans-bold-13">
|    | 236|+				<object name="mapTypeFilter" type="dropdown" style="ModernDropDown" size="74%-5 0 90%-10 100%" font="sans-bold-13">
| 241| 237| 					<action on="SelectionChange">applyFilters();</action>
| 242| 238| 				</object>
| 243| 239| 
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 241| 241| 					<action on="SelectionChange">applyFilters();</action>
| 242| 242| 				</object>
| 243| 243| 
| 244|    |-				<object name="playersNumberFilter"
| 245|    |-					type="dropdown"
| 246|    |-					style="ModernDropDown"
| 247|    |-					size="90%-5 0 100%-10 100%"
| 248|    |-					font="sans-bold-13">
|    | 244|+				<object name="playersNumberFilter" type="dropdown" style="ModernDropDown" size="90%-5 0 100%-10 100%" font="sans-bold-13">
| 249| 245| 					<action on="SelectionChange">applyFilters();</action>
| 250| 246| 				</object>
| 251| 247| 
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 249| 249| 					<action on="SelectionChange">applyFilters();</action>
| 250| 250| 				</object>
| 251| 251| 
| 252|    |-				<object name="gameRatingFilter"
| 253|    |-					type="dropdown"
| 254|    |-					style="ModernDropDown"
| 255|    |-					size="84%-5 0 100%-10 100%"
| 256|    |-					font="sans-bold-13">
|    | 252|+				<object name="gameRatingFilter" type="dropdown" style="ModernDropDown" size="84%-5 0 100%-10 100%" font="sans-bold-13">
| 257| 253| 					<action on="SelectionChange">applyFilters();</action>
| 258| 254| 				</object>
| 259| 255| 
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 260| 260| 				<object type="text" size="22 0 52%-10 100%" text_align="left" textcolor="white">
| 261| 261| 					<translatableAttribute id="caption">Show only open games</translatableAttribute>
| 262| 262| 				</object>
| 263|    |-				<object name="filterOpenGames"
| 264|    |-					type="checkbox"
| 265|    |-					checked="false"
| 266|    |-					style="ModernTickBox"
| 267|    |-					size="0 0 20 20"
| 268|    |-					font="sans-bold-13">
|    | 263|+				<object name="filterOpenGames" type="checkbox" checked="false" style="ModernTickBox" size="0 0 20 20" font="sans-bold-13">
| 269| 264| 					<action on="Press">
| 270| 265| 						applyFilters();
| 271| 266| 					</action>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 277| 277| 				<object name="chatInput" size="0 94% 100% 100%" type="input" style="ModernInput" font="sans-13">
| 278| 278| 					<action on="Press">submitChatInput();</action>
| 279| 279| 					<action on="Tab">
| 280|    |-						autoCompleteNick(this, Engine.GetPlayerList().map(player => player.name));
|    | 280|+						autoCompleteNick(this, Engine.GetPlayerList().map(player =&gt; player.name));
| 281| 281| 					</action>
| 282| 282| 				</object>
| 283| 283| 			</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 291| 291| 			<object style="ModernLabelText" type="text" size="50%-128 -18 50%+128 14">
| 292| 292| 				<translatableAttribute id="caption">Leaderboard</translatableAttribute>
| 293| 293| 			</object>
| 294|    |-			<object name="leaderboardBox"
| 295|    |-				style="ModernList"
| 296|    |-				type="olist"
| 297|    |-				size="19 19 100%-19 100%-62">
|    | 294|+			<object name="leaderboardBox" style="ModernList" type="olist" size="19 19 100%-19 100%-62">
| 298| 295| 				<column id="rank" color="255 255 255" width="15%">
| 299| 296| 					<translatableAttribute id="heading">Rank</translatableAttribute>
| 300| 297| 				</column>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 339| 339| 			<object name="profileWindowPanel" size="25 95 100%-25 100%-60">
| 340| 340| 			<object name="profileWindowBox" type="image" sprite="ModernDarkBoxGold" size="0 0 100% 100%">
| 341| 341| 				<object name="profileWindowArea" size="0 0 100% 100%" hidden="true">
| 342|    |-					<object name="profileUsernameText" size="0 0 100% 25" type="text" style="ModernLabelText" font="sans-bold-16" />
|    | 342|+					<object name="profileUsernameText" size="0 0 100% 25" type="text" style="ModernLabelText" font="sans-bold-16"/>
| 343| 343| 					<object size="0 30 40%+40 50" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 344| 344| 						<translatableAttribute id="caption">Current Rank:</translatableAttribute>
| 345| 345| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 343| 343| 					<object size="0 30 40%+40 50" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 344| 344| 						<translatableAttribute id="caption">Current Rank:</translatableAttribute>
| 345| 345| 					</object>
| 346|    |-					<object name="profileRankText" size="40%+45 30 100% 50" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    | 346|+					<object name="profileRankText" size="40%+45 30 100% 50" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
| 347| 347| 					<object size="0 50 40%+40 70" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 348| 348| 						<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
| 349| 349| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 347| 347| 					<object size="0 50 40%+40 70" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 348| 348| 						<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
| 349| 349| 					</object>
| 350|    |-					<object name="profileHighestRatingText" size="40%+45 50 100% 70" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    | 350|+					<object name="profileHighestRatingText" size="40%+45 50 100% 70" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
| 351| 351| 					<object size="0 70 40%+40 90" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 352| 352| 						<translatableAttribute id="caption">Total Games:</translatableAttribute>
| 353| 353| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 351| 351| 					<object size="0 70 40%+40 90" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 352| 352| 						<translatableAttribute id="caption">Total Games:</translatableAttribute>
| 353| 353| 					</object>
| 354|    |-					<object name="profileTotalGamesText" size="40%+45 70 100% 90" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    | 354|+					<object name="profileTotalGamesText" size="40%+45 70 100% 90" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
| 355| 355| 					<object size="0 90 40%+40 110" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 356| 356| 						<translatableAttribute id="caption">Wins:</translatableAttribute>
| 357| 357| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 355| 355| 					<object size="0 90 40%+40 110" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 356| 356| 						<translatableAttribute id="caption">Wins:</translatableAttribute>
| 357| 357| 					</object>
| 358|    |-					<object name="profileWinsText" size="40%+45 90 100% 110" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    | 358|+					<object name="profileWinsText" size="40%+45 90 100% 110" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
| 359| 359| 					<object size="0 110 40%+40 130" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 360| 360| 						<translatableAttribute id="caption">Losses:</translatableAttribute>
| 361| 361| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 359| 359| 					<object size="0 110 40%+40 130" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 360| 360| 						<translatableAttribute id="caption">Losses:</translatableAttribute>
| 361| 361| 					</object>
| 362|    |-					<object name="profileLossesText" size="40%+45 110 100% 130" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    | 362|+					<object name="profileLossesText" size="40%+45 110 100% 130" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
| 363| 363| 					<object size="0 130 40%+40 150" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 364| 364| 						<translatableAttribute id="caption">Win Rate:</translatableAttribute>
| 365| 365| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 363| 363| 					<object size="0 130 40%+40 150" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 364| 364| 						<translatableAttribute id="caption">Win Rate:</translatableAttribute>
| 365| 365| 					</object>
| 366|    |-					<object name="profileRatioText" size="40%+45 130 100% 150" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    | 366|+					<object name="profileRatioText" size="40%+45 130 100% 150" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
| 367| 367| 				</object>
| 368| 368| 				<object name="profileErrorText" size="25% 25% 75% 75%" type="text" style="ModernLabelText" font="sans-bold-stroke-13" hidden="false">
| 369| 369| 					<translatableAttribute id="caption">Please enter a player name.</translatableAttribute>
Executing section Python...
Executing section Perl...

http://jw:8080/job/phabricator_lint/250/ for more details.

elexis updated this revision to Diff 2729.Jun 28 2017, 12:27 AM

Also select the game of the currently selected player if a different game was selected before but clicking on the same player again (by subscribing to a click event instead of a player-selection-actually-changed-event).

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK!
Checking XML files...

http://jw:8080/job/phabricator/1646/ for more details.

Executing section Default...
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  41|  41|  * The playerlist will be assembled using these values.
|  42|  42|  */
|  43|  43| const g_PlayerStatuses = {
|  44|    |-	"available": { "color": "0 219 0",     "status": translate("Online") },
|    |  44|+	"available": { "color": "0 219 0", "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  42|  42|  */
|  43|  43| const g_PlayerStatuses = {
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|    |-	"away":      { "color": "229 76 13",   "status": translate("Away") },
|    |  45|+	"away":      { "color": "229 76 13", "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  43|  43| const g_PlayerStatuses = {
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|    |-	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|    |  46|+	"playing":   { "color": "200 0 0", "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|  49|  49| };
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|    |-	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|    |  47|+	"offline":   { "color": "0 0 0", "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|  49|  49| };
|  50|  50| 

binaries/data/mods/public/gui/lobby/lobby.js
| 891| »   »   switch·(sortBy)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/lobby/lobby.js
|1130| »   while·(true)
|    | [NORMAL] ESLintBear (no-constant-condition):
|    | Unexpected constant condition.

binaries/data/mods/public/gui/lobby/lobby.js
|1269| »   »   switch·(command)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/lobby/lobby.js
| 452| »   if·(mapSizeFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 456| »   if·(playersNumberFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 460| »   if·(mapTypeFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 591| »   »   case·'name':
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/lobby/lobby.js
|1150| »   »   if·(msg.type·==·"chat"·&&·Engine.LobbyGetMucMessageCount()·==·0)
|    | [NORMAL] JSHintBear:
|    | Use '===' to compare with '0'.
Executing section XML GUI...
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|   1|   1| <?xml version="1.0" encoding="utf-8"?>
|   2|    |-
|   3|   2| <objects>
|   4|   3| 	<script file="gui/common/color.js"/>
|   5|   4| 	<script file="gui/common/functions_global_object.js"/>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  24|  24| 
|  25|  25| 		<!-- Left panel: Player list. -->
|  26|  26| 		<object name="leftPanel" size="20 30 20% 100%-310">
|  27|    |-			<object name="playersBox"
|  28|    |-				style="ModernList"
|  29|    |-				sprite_asc="ModernArrowDown"
|  30|    |-				selected_column="name"
|  31|    |-				selected_column_order="1"
|  32|    |-				sprite_desc="ModernArrowUp"
|  33|    |-				sprite_not_sorted="ModernNotSorted"
|  34|    |-				type="olist"
|  35|    |-				sortable="true"
|  36|    |-				size="0 0 100% 100%"
|  37|    |-				font="sans-bold-stroke-13"
|  38|    |-			>
|    |  27|+			<object name="playersBox" style="ModernList" sprite_asc="ModernArrowDown" selected_column="name" selected_column_order="1" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" type="olist" sortable="true" size="0 0 100% 100%" font="sans-bold-stroke-13">
|  39|  28| 				<column id="buddy" width="12"/>
|  40|  29| 				<column id="status" width="26%">
|  41|  30| 					<translatableAttribute id="heading">Status</translatableAttribute>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  60|  60| 		<object name="profilePanel" size="20 100%-305 20% 100%-110">
|  61|  61| 			<object name="profileBox" type="image" sprite="ModernDarkBoxGold" size="0 0 100% 100%">
|  62|  62| 				<object name="profileArea" size="0 0 100% 100%" hidden="true">
|  63|    |-					<object name="usernameText" size="0 0 100% 45" type="text" style="ModernLabelText" font="sans-bold-16" />
|  64|    |-					<object name="roleText" size="0 45 100% 70" type="text" style="ModernLabelText" font="sans-bold-stroke-12" />
|    |  63|+					<object name="usernameText" size="0 0 100% 45" type="text" style="ModernLabelText" font="sans-bold-16"/>
|    |  64|+					<object name="roleText" size="0 45 100% 70" type="text" style="ModernLabelText" font="sans-bold-stroke-12"/>
|  65|  65| 					<object size="0 70 40%+40 90" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  66|  66| 						<translatableAttribute id="caption">Current Rank:</translatableAttribute>
|  67|  67| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-p

http://jw:8080/job/phabricator_lint/252/ for more details.

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK!
Checking XML files...

http://jw:8080/job/phabricator/1648/ for more details.

elexis updated this revision to Diff 2734.Jun 28 2017, 5:17 PM

Add comment to the XML.
Add the selectGameFromPlayername(); call back to onPlayerListSelection() so that it's also executed when changing the selected player via the arrow keys.

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK!
Checking XML files...

http://jw:8080/job/phabricator/1650/ for more details.

Executing section Default...
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  41|  41|  * The playerlist will be assembled using these values.
|  42|  42|  */
|  43|  43| const g_PlayerStatuses = {
|  44|    |-	"available": { "color": "0 219 0",     "status": translate("Online") },
|    |  44|+	"available": { "color": "0 219 0", "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  42|  42|  */
|  43|  43| const g_PlayerStatuses = {
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|    |-	"away":      { "color": "229 76 13",   "status": translate("Away") },
|    |  45|+	"away":      { "color": "229 76 13", "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  43|  43| const g_PlayerStatuses = {
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|    |-	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|    |  46|+	"playing":   { "color": "200 0 0", "status": translate("Busy") },
|  47|  47| 	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|  49|  49| };
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before '"status"'.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.js
|  44|  44| 	"available": { "color": "0 219 0",     "status": translate("Online") },
|  45|  45| 	"away":      { "color": "229 76 13",   "status": translate("Away") },
|  46|  46| 	"playing":   { "color": "200 0 0",     "status": translate("Busy") },
|  47|    |-	"offline":   { "color": "0 0 0",       "status": translate("Offline") },
|    |  47|+	"offline":   { "color": "0 0 0", "status": translate("Offline") },
|  48|  48| 	"unknown":   { "color": "178 178 178", "status": translateWithContext("lobby presence", "Unknown") }
|  49|  49| };
|  50|  50| 

binaries/data/mods/public/gui/lobby/lobby.js
| 892| »   »   switch·(sortBy)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/lobby/lobby.js
|1131| »   while·(true)
|    | [NORMAL] ESLintBear (no-constant-condition):
|    | Unexpected constant condition.

binaries/data/mods/public/gui/lobby/lobby.js
|1270| »   »   switch·(command)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/lobby/lobby.js
| 452| »   if·(mapSizeFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 456| »   if·(playersNumberFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 460| »   if·(mapTypeFilter.selected·!=·0·&&
|    | [NORMAL] JSHintBear:
|    | Use '!==' to compare with '0'.

binaries/data/mods/public/gui/lobby/lobby.js
| 591| »   »   case·'name':
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/lobby/lobby.js
|1151| »   »   if·(msg.type·==·"chat"·&&·Engine.LobbyGetMucMessageCount()·==·0)
|    | [NORMAL] JSHintBear:
|    | Use '===' to compare with '0'.
Executing section XML GUI...
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|   1|   1| <?xml version="1.0" encoding="utf-8"?>
|   2|    |-
|   3|   2| <objects>
|   4|   3| 	<script file="gui/common/color.js"/>
|   5|   4| 	<script file="gui/common/functions_global_object.js"/>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  24|  24| 
|  25|  25| 		<!-- Left panel: Player list. -->
|  26|  26| 		<object name="leftPanel" size="20 30 20% 100%-310">
|  27|    |-			<object name="playersBox"
|  28|    |-				style="ModernList"
|  29|    |-				sprite_asc="ModernArrowDown"
|  30|    |-				selected_column="name"
|  31|    |-				selected_column_order="1"
|  32|    |-				sprite_desc="ModernArrowUp"
|  33|    |-				sprite_not_sorted="ModernNotSorted"
|  34|    |-				type="olist"
|  35|    |-				sortable="true"
|  36|    |-				size="0 0 100% 100%"
|  37|    |-				font="sans-bold-stroke-13"
|  38|    |-			>
|    |  27|+			<object name="playersBox" style="ModernList" sprite_asc="ModernArrowDown" selected_column="name" selected_column_order="1" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" type="olist" sortable="true" size="0 0 100% 100%" font="sans-bold-stroke-13">
|  39|  28| 				<column id="buddy" width="12"/>
|  40|  29| 				<column id="status" width="26%">
|  41|  30| 					<translatableAttribute id="heading">Status</translatableAttribute>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  63|  63| 		<object name="profilePanel" size="20 100%-305 20% 100%-110">
|  64|  64| 			<object name="profileBox" type="image" sprite="ModernDarkBoxGold" size="0 0 100% 100%">
|  65|  65| 				<object name="profileArea" size="0 0 100% 100%" hidden="true">
|  66|    |-					<object name="usernameText" size="0 0 100% 45" type="text" style="ModernLabelText" font="sans-bold-16" />
|  67|    |-					<object name="roleText" size="0 45 100% 70" type="text" style="ModernLabelText" font="sans-bold-stroke-12" />
|    |  66|+					<object name="usernameText" size="0 0 100% 45" type="text" style="ModernLabelText" font="sans-bold-16"/>
|    |  67|+					<object name="roleText" size="0 45 100% 70" type="text" style="ModernLabelText" font="sans-bold-stroke-12"/>
|  68|  68| 					<object size="0 70 40%+40 90" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  69|  69| 						<translatableAttribute id="caption">Current Rank:</translatableAttribute>
|  70|  70| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  68|  68| 					<object size="0 70 40%+40 90" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  69|  69| 						<translatableAttribute id="caption">Current Rank:</translatableAttribute>
|  70|  70| 					</object>
|  71|    |-					<object name="rankText" size="40%+45 70 100% 90" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  71|+					<object name="rankText" size="40%+45 70 100% 90" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  72|  72| 					<object size="0 90 40%+40 110" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  73|  73| 						<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
|  74|  74| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  72|  72| 					<object size="0 90 40%+40 110" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  73|  73| 						<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
|  74|  74| 					</object>
|  75|    |-					<object name="highestRatingText" size="40%+45 90 100% 110" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  75|+					<object name="highestRatingText" size="40%+45 90 100% 110" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  76|  76| 					<object size="0 110 40%+40 130" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  77|  77| 						<translatableAttribute id="caption">Total Games:</translatableAttribute>
|  78|  78| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  76|  76| 					<object size="0 110 40%+40 130" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  77|  77| 						<translatableAttribute id="caption">Total Games:</translatableAttribute>
|  78|  78| 					</object>
|  79|    |-					<object name="totalGamesText" size="40%+45 110 100% 130" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  79|+					<object name="totalGamesText" size="40%+45 110 100% 130" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  80|  80| 					<object size="0 130 40%+40 150" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  81|  81| 						<translatableAttribute id="caption">Wins:</translatableAttribute>
|  82|  82| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  80|  80| 					<object size="0 130 40%+40 150" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  81|  81| 						<translatableAttribute id="caption">Wins:</translatableAttribute>
|  82|  82| 					</object>
|  83|    |-					<object name="winsText" size="40%+45 130 100% 150" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  83|+					<object name="winsText" size="40%+45 130 100% 150" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  84|  84| 					<object size="0 150 40%+40 170" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  85|  85| 						<translatableAttribute id="caption">Losses:</translatableAttribute>
|  86|  86| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  84|  84| 					<object size="0 150 40%+40 170" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  85|  85| 						<translatableAttribute id="caption">Losses:</translatableAttribute>
|  86|  86| 					</object>
|  87|    |-					<object name="lossesText" size="40%+45 150 100% 170" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  87|+					<object name="lossesText" size="40%+45 150 100% 170" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  88|  88| 					<object size="0 170 40%+40 190" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  89|  89| 						<translatableAttribute id="caption">Win Rate:</translatableAttribute>
|  90|  90| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|  88|  88| 					<object size="0 170 40%+40 190" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
|  89|  89| 						<translatableAttribute id="caption">Win Rate:</translatableAttribute>
|  90|  90| 					</object>
|  91|    |-					<object name="ratioText" size="40%+45 170 100% 190" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    |  91|+					<object name="ratioText" size="40%+45 170 100% 190" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
|  92|  92| 				</object>
|  93|  93| 			</object>
|  94|  94| 		</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 114| 114| 		</object>
| 115| 115| 
| 116| 116| 		<!-- Right panel: Game details. -->
| 117|    |-		<object name="rightPanel" size="100%-250 30 100%-20 100%-20" >
|    | 117|+		<object name="rightPanel" size="100%-250 30 100%-20 100%-20">
| 118| 118| 			<object name="gameInfoEmpty" size="0 0 100% 100%-60" type="image" sprite="ModernDarkBoxGold" hidden="false">
| 119| 119| 				<object name="logo" size="50%-110 40 50%+110 140" type="image" sprite="logo"/>
| 120| 120| 				<object name="subjectBox" type="image" sprite="ModernDarkBoxWhite" size="3% 180 97% 99%">
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 191| 191| 
| 192| 192| 		<!-- Middle panel: Filters, game list, chat box. -->
| 193| 193| 		<object name="middlePanel" size="20%+5 5% 100%-255 97.2%">
| 194|    |-			<object name="gamesBox"
| 195|    |-				style="ModernList"
| 196|    |-				sprite_asc="ModernArrowDown"
| 197|    |-				selected_column="name"
| 198|    |-				selected_column_order="1"
| 199|    |-				sprite_desc="ModernArrowUp"
| 200|    |-				sprite_not_sorted="ModernNotSorted"
| 201|    |-				type="olist"
| 202|    |-				sortable="true"
| 203|    |-				size="0 25 100% 48%"
| 204|    |-				font="sans-stroke-13"
| 205|    |-			>
|    | 194|+			<object name="gamesBox" style="ModernList" sprite_asc="ModernArrowDown" selected_column="name" selected_column_order="1" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" type="olist" sortable="true" size="0 25 100% 48%" font="sans-stroke-13">
| 206| 195| 				<action on="SelectionChange">updateGameSelection();</action>
| 207| 196| 				<action on="SelectionColumnChange">applyFilters();</action>
| 208| 197| 				<action on="mouseleftdoubleclickitem">joinButton();</action>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 229| 229| 
| 230| 230| 			<object name="filterPanel" size="0 0 100% 24">
| 231| 231| 
| 232|    |-				<object name="mapSizeFilter"
| 233|    |-					type="dropdown"
| 234|    |-					style="ModernDropDown"
| 235|    |-					size="58%-5 0 74%-10 100%"
| 236|    |-					font="sans-bold-13">
|    | 232|+				<object name="mapSizeFilter" type="dropdown" style="ModernDropDown" size="58%-5 0 74%-10 100%" font="sans-bold-13">
| 237| 233| 					<action on="SelectionChange">applyFilters();</action>
| 238| 234| 				</object>
| 239| 235| 
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 237| 237| 					<action on="SelectionChange">applyFilters();</action>
| 238| 238| 				</object>
| 239| 239| 
| 240|    |-				<object name="mapTypeFilter"
| 241|    |-					type="dropdown"
| 242|    |-					style="ModernDropDown"
| 243|    |-					size="74%-5 0 90%-10 100%"
| 244|    |-					font="sans-bold-13">
|    | 240|+				<object name="mapTypeFilter" type="dropdown" style="ModernDropDown" size="74%-5 0 90%-10 100%" font="sans-bold-13">
| 245| 241| 					<action on="SelectionChange">applyFilters();</action>
| 246| 242| 				</object>
| 247| 243| 
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 245| 245| 					<action on="SelectionChange">applyFilters();</action>
| 246| 246| 				</object>
| 247| 247| 
| 248|    |-				<object name="playersNumberFilter"
| 249|    |-					type="dropdown"
| 250|    |-					style="ModernDropDown"
| 251|    |-					size="90%-5 0 100%-10 100%"
| 252|    |-					font="sans-bold-13">
|    | 248|+				<object name="playersNumberFilter" type="dropdown" style="ModernDropDown" size="90%-5 0 100%-10 100%" font="sans-bold-13">
| 253| 249| 					<action on="SelectionChange">applyFilters();</action>
| 254| 250| 				</object>
| 255| 251| 
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 253| 253| 					<action on="SelectionChange">applyFilters();</action>
| 254| 254| 				</object>
| 255| 255| 
| 256|    |-				<object name="gameRatingFilter"
| 257|    |-					type="dropdown"
| 258|    |-					style="ModernDropDown"
| 259|    |-					size="84%-5 0 100%-10 100%"
| 260|    |-					font="sans-bold-13">
|    | 256|+				<object name="gameRatingFilter" type="dropdown" style="ModernDropDown" size="84%-5 0 100%-10 100%" font="sans-bold-13">
| 261| 257| 					<action on="SelectionChange">applyFilters();</action>
| 262| 258| 				</object>
| 263| 259| 
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 264| 264| 				<object type="text" size="22 0 52%-10 100%" text_align="left" textcolor="white">
| 265| 265| 					<translatableAttribute id="caption">Show only open games</translatableAttribute>
| 266| 266| 				</object>
| 267|    |-				<object name="filterOpenGames"
| 268|    |-					type="checkbox"
| 269|    |-					checked="false"
| 270|    |-					style="ModernTickBox"
| 271|    |-					size="0 0 20 20"
| 272|    |-					font="sans-bold-13">
|    | 267|+				<object name="filterOpenGames" type="checkbox" checked="false" style="ModernTickBox" size="0 0 20 20" font="sans-bold-13">
| 273| 268| 					<action on="Press">
| 274| 269| 						applyFilters();
| 275| 270| 					</action>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 281| 281| 				<object name="chatInput" size="0 94% 100% 100%" type="input" style="ModernInput" font="sans-13">
| 282| 282| 					<action on="Press">submitChatInput();</action>
| 283| 283| 					<action on="Tab">
| 284|    |-						autoCompleteNick(this, Engine.GetPlayerList().map(player => player.name));
|    | 284|+						autoCompleteNick(this, Engine.GetPlayerList().map(player =&gt; player.name));
| 285| 285| 					</action>
| 286| 286| 				</object>
| 287| 287| 			</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 295| 295| 			<object style="ModernLabelText" type="text" size="50%-128 -18 50%+128 14">
| 296| 296| 				<translatableAttribute id="caption">Leaderboard</translatableAttribute>
| 297| 297| 			</object>
| 298|    |-			<object name="leaderboardBox"
| 299|    |-				style="ModernList"
| 300|    |-				type="olist"
| 301|    |-				size="19 19 100%-19 100%-62">
|    | 298|+			<object name="leaderboardBox" style="ModernList" type="olist" size="19 19 100%-19 100%-62">
| 302| 299| 				<column id="rank" color="255 255 255" width="15%">
| 303| 300| 					<translatableAttribute id="heading">Rank</translatableAttribute>
| 304| 301| 				</column>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 343| 343| 			<object name="profileWindowPanel" size="25 95 100%-25 100%-60">
| 344| 344| 			<object name="profileWindowBox" type="image" sprite="ModernDarkBoxGold" size="0 0 100% 100%">
| 345| 345| 				<object name="profileWindowArea" size="0 0 100% 100%" hidden="true">
| 346|    |-					<object name="profileUsernameText" size="0 0 100% 25" type="text" style="ModernLabelText" font="sans-bold-16" />
|    | 346|+					<object name="profileUsernameText" size="0 0 100% 25" type="text" style="ModernLabelText" font="sans-bold-16"/>
| 347| 347| 					<object size="0 30 40%+40 50" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 348| 348| 						<translatableAttribute id="caption">Current Rank:</translatableAttribute>
| 349| 349| 					</object>
|    | [INFO] XMLBear:
|    | XML can be formatted better.
|----|    | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
|    |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/lobby/lobby.xml
| 347| 347| 					<object size="0 30 40%+40 50" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 348| 348| 						<translatableAttribute id="caption">Current Rank:</translatableAttribute>
| 349| 349| 					</object>
| 350|    |-					<object name="profileRankText" size="40%+45 30 100% 50" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12" />
|    | 350|+					<object name="profileRankText" size="40%+45 30 100% 50" type="text" style="ModernLeftLabelText" font="sans-bold-stroke-12"/>
| 351| 351| 					<object size="0 50 40%+40 70" type="text" style="ModernRightLabelText" font="sans-bold-stroke-13">
| 352| 352| 						<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
| 353| 353| 					</object>
|    | [INFO] XMLBear:
|    | XML

http://jw:8080/job/phabricator_lint/254/ for more details.

This revision is now accepted and ready to land.Jun 28 2017, 9:46 PM
This revision was automatically updated to reflect the committed changes.