From 0e7cf0f988ac4e52895a8aebc736841a8562de5d Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 21:10:41 +0000 Subject: [PATCH] Fix ambiguous 'online' column on character pages The bot-account filter joins acore_auth.account, which has its own `online` column. The character query selected several columns unqualified, so `online` became ambiguous and every character page returned a 500: Error: Column 'online' in field list is ambiguous at CharacterController.getCharacterData Qualifies every column in that SELECT with `characters`, rather than only the one that collided, so a future join cannot reintroduce this. The search and guild listings were never affected: DataTablesSsp always qualifies its columns with the base table, and only this hand-written query did not. Verified against the live realm - the previously failing query for Heavenlymagi now returns its row, and a bot name still returns none. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01NW2ooBP2KPqQVzdZZDMvZd --- src/armory/controllers/CharacterController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/armory/controllers/CharacterController.ts b/src/armory/controllers/CharacterController.ts index 2a9f682..4ff44eb 100644 --- a/src/armory/controllers/CharacterController.ts +++ b/src/armory/controllers/CharacterController.ts @@ -354,7 +354,7 @@ export class CharacterController { const [rows] = await this.armory.getCharactersDb(realm.name).query({ sql: ` - SELECT \`characters\`.\`guid\`, \`characters\`.\`name\`, \`race\`, \`class\`, \`gender\`, \`level\`, \`skin\`, \`face\`, \`hairStyle\`, \`hairColor\`, \`facialStyle\`, \`playerFlags\`, \`online\`, \`guild\`.\`name\` AS \`guild\` + SELECT \`characters\`.\`guid\`, \`characters\`.\`name\`, \`characters\`.\`race\`, \`characters\`.\`class\`, \`characters\`.\`gender\`, \`characters\`.\`level\`, \`characters\`.\`skin\`, \`characters\`.\`face\`, \`characters\`.\`hairStyle\`, \`characters\`.\`hairColor\`, \`characters\`.\`facialStyle\`, \`characters\`.\`playerFlags\`, \`characters\`.\`online\`, \`guild\`.\`name\` AS \`guild\` FROM \`characters\` LEFT JOIN \`guild_member\` ON \`guild_member\`.\`guid\` = \`characters\`.\`guid\` LEFT JOIN \`guild\` ON \`guild\`.\`guildid\` = \`guild_member\`.\`guildid\`