Skip to content

Release 0.54.0#185

Merged
tudddorrr merged 3 commits intomainfrom
develop
Mar 18, 2026
Merged

Release 0.54.0#185
tudddorrr merged 3 commits intomainfrom
develop

Conversation

@tudddorrr
Copy link
Copy Markdown
Contributor

No description provided.

@tudddorrr tudddorrr added the release This pull request contains a release label Mar 18, 2026
@claude
Copy link
Copy Markdown

claude bot commented Mar 18, 2026

PR Review: Release 0.54.0

The Google Play Games integration is straightforward and follows existing patterns. One concrete issue to address:


Code Quality / Potential Bug

Unencoded authCode in URL query parameter

IdentifyGooglePlayGames passes authCode directly to Identify(), which constructs the URL as:

{baseUrl}/identify?service=google_play_games&identifier={authCode}

Google Play Games server-side auth codes from RequestServerSideAccess() are OAuth 2.0 authorization codes that contain literal / characters (e.g. 4/0AfJohXl...). Without encoding, the / is interpreted as a path separator, corrupting the URL and causing the request to fail or hit the wrong endpoint.

Steam tickets are hex-encoded so they are URL-safe; Google Play Games auth codes are not. This is why the pre-existing Identify() implementation works fine for Steam but breaks here.

Fix - encode in IdentifyGooglePlayGames before passing to Identify:

public async Task IdentifyGooglePlayGames(string authCode)
{
await Identify(google_play_games, Uri.EscapeDataString(authCode));
return Talo.CurrentPlayer;
}

Alternatively, encoding the identifier inside Identify() itself would protect all future callers.


Other categories
No issues found in backwards compatibility, security, or performance for the remaining changes.

@tudddorrr tudddorrr merged commit cb90015 into main Mar 18, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release This pull request contains a release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant