fix(web): restore public game pages #114

Closed
Toutsu wants to merge 0 commits from codex/fix-public-pages-500 into main
Owner

Summary

Fixes production 500 errors on public game pages after v3.5.0.

Root cause

The new public master-profile link queries ordered owner managers by gm.added_at, but the production schema created group_managers.created_at in V008__add_group_managers.sql. Routes that execute those queries (/showcase, /club/{slug}, /s/{id}) failed during prerender with HTTP 500.

Changes

  • Use gm.created_at in public page owner profile link lookups.
  • Add regression coverage that checks public profile-link queries use the existing group manager timestamp column.
  • Bump patch version to 3.5.1.

Test plan

  • Reproduced production 500 on https://game.codeanddice.ru/showcase, /club/test, /s/00000000-0000-0000-0000-000000000000
  • dotnet test tests\GmRelay.Bot.Tests\GmRelay.Bot.Tests.csproj --filter "FullyQualifiedName~MasterProfilesTests" --verbosity minimal
  • dotnet test tests\GmRelay.Bot.Tests\GmRelay.Bot.Tests.csproj --verbosity normal
  • dotnet build
  • dotnet format --verify-no-changes --verbosity diagnostic
  • git diff --check
  • Gitea Actions run #280 passed
  • Production verification after deploy: /showcase, /club/kulaki, /s/c7336ee7-84f3-4b34-9d07-9bf82460bb97 return HTTP 200 and render content

Workflow

  • CI passes
  • Deployed via Gitea Actions run #281
  • Release published: v3.5.1

Note: PR was integrated into main via fallback merge commit 394bd19b95bc4148cd349da0116089a1e6c1656e after API merge returned 405.

## Summary Fixes production 500 errors on public game pages after v3.5.0. ## Root cause The new public master-profile link queries ordered owner managers by `gm.added_at`, but the production schema created `group_managers.created_at` in `V008__add_group_managers.sql`. Routes that execute those queries (`/showcase`, `/club/{slug}`, `/s/{id}`) failed during prerender with HTTP 500. ## Changes - Use `gm.created_at` in public page owner profile link lookups. - Add regression coverage that checks public profile-link queries use the existing group manager timestamp column. - Bump patch version to `3.5.1`. ## Test plan - [x] Reproduced production 500 on `https://game.codeanddice.ru/showcase`, `/club/test`, `/s/00000000-0000-0000-0000-000000000000` - [x] `dotnet test tests\GmRelay.Bot.Tests\GmRelay.Bot.Tests.csproj --filter "FullyQualifiedName~MasterProfilesTests" --verbosity minimal` - [x] `dotnet test tests\GmRelay.Bot.Tests\GmRelay.Bot.Tests.csproj --verbosity normal` - [x] `dotnet build` - [x] `dotnet format --verify-no-changes --verbosity diagnostic` - [x] `git diff --check` - [x] Gitea Actions run #280 passed - [x] Production verification after deploy: `/showcase`, `/club/kulaki`, `/s/c7336ee7-84f3-4b34-9d07-9bf82460bb97` return HTTP 200 and render content ## Workflow - [x] CI passes - [x] Deployed via Gitea Actions run #281 - [x] Release published: v3.5.1 Note: PR was integrated into `main` via fallback merge commit `394bd19b95bc4148cd349da0116089a1e6c1656e` after API merge returned 405.
Toutsu added 1 commit 2026-05-29 09:28:14 +03:00
fix(web): restore public game pages
PR Checks / test-and-build (pull_request) Successful in 11m56s
b52d4000b4
Use the existing group_managers.created_at column when picking owner profile links for public pages.

Bump version -> 3.5.1
Toutsu closed this pull request 2026-05-29 09:53:58 +03:00
Some checks are pending
PR Checks / test-and-build (pull_request) Successful in 11m56s

Pull request closed

Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Toutsu/GmRelayBot#114