From 9250e4c6399b2a8b9a8cbfd7f0cbdb76c324a758 Mon Sep 17 00:00:00 2001 From: Dean Wenstrand Date: Mon, 11 May 2026 17:16:28 -0700 Subject: [PATCH] Add username + profileImageUri to PlayerClusterGQL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The labeling UI was falling back to "user N" for any assigned cluster whose user wasn't the video owner — e.g. an admin re-labels a video they don't own. With the resolver now resolving usernames for every confirmed cluster, the FE can render real names regardless of who's viewing. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/index.tsx | 10 ++++++++++ src/operations/shooter.gql | 2 ++ src/schema.gql | 2 ++ 3 files changed, 14 insertions(+) diff --git a/src/index.tsx b/src/index.tsx index f10ef38..dfb9d8e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -2701,9 +2701,11 @@ export type PlayerClusterGql = { clusterId: Scalars["Int"]["output"]; confirmed: Scalars["Boolean"]["output"]; nShots: Scalars["Int"]["output"]; + profileImageUri?: Maybe; score?: Maybe; shots: Array; userId?: Maybe; + username?: Maybe; videoId: Scalars["Int"]["output"]; }; @@ -5040,6 +5042,8 @@ export type PlayerClusterFieldsFragment = { clusterId: number; nShots: number; userId?: number | null; + username?: string | null; + profileImageUri?: string | null; confirmed: boolean; score?: number | null; shots: Array<{ @@ -5068,6 +5072,8 @@ export type VideoPlayerClustersQuery = { clusterId: number; nShots: number; userId?: number | null; + username?: string | null; + profileImageUri?: string | null; confirmed: boolean; score?: number | null; shots: Array<{ @@ -5097,6 +5103,8 @@ export type FinalizePlayerAssignmentsMutation = { clusterId: number; nShots: number; userId?: number | null; + username?: string | null; + profileImageUri?: string | null; confirmed: boolean; score?: number | null; shots: Array<{ @@ -6874,6 +6882,8 @@ export const PlayerClusterFieldsFragmentDoc = gql` clusterId nShots userId + username + profileImageUri confirmed score shots { diff --git a/src/operations/shooter.gql b/src/operations/shooter.gql index e27c9ae..1277bf5 100644 --- a/src/operations/shooter.gql +++ b/src/operations/shooter.gql @@ -30,6 +30,8 @@ fragment PlayerClusterFields on PlayerClusterGQL { clusterId nShots userId + username + profileImageUri confirmed score shots { diff --git a/src/schema.gql b/src/schema.gql index 82d95e2..5043e09 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -882,6 +882,8 @@ type PlayerClusterGQL { clusterId: Int! nShots: Int! userId: Int + username: String + profileImageUri: String confirmed: Boolean! score: Int shots: [PlayerClusterShotGQL!]! -- 2.49.1