fix(player): pick most-recent squadron_members row when uid has duplicates
A player who changed squadrons could end up with two rows in squadron_members (old + new clan). Without ORDER BY, LIMIT 1 returned whichever row the primary-key B-tree (clan_id, uid) put first — i.e. the lowest clan_id, which was the stale entry. This caused the player page to show the old squadron while the homepage search (which only reads player_games_hist) showed the correct one. Fix: add ORDER BY updated_at DESC to both the API roster lookup in server.js and the web fallback lookup in web/server.js, so the most recently synced membership always wins. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -74,6 +74,7 @@ function getRosterMemberByUid(uid) {
|
||||
FROM squadron_members sm
|
||||
LEFT JOIN squadrons_data sd ON sm.clan_id = sd.clan_id
|
||||
WHERE sm.uid = ?
|
||||
ORDER BY sm.updated_at DESC
|
||||
LIMIT 1
|
||||
`,
|
||||
[uid],
|
||||
|
||||
Reference in New Issue
Block a user