fix(shared): bind platform when creating group manager (v3.9.8) #134

Closed
Toutsu wants to merge 0 commits from fix/issue-133-on-conflict-inference into main
Owner

Summary

Fixes #133.

Production PostgreSQL logs showed that CreateSessionHandler sent this statement during new group creation:

WHERE p.platform = @Platform

Dapper.AOT had replaced the other parameters with $1/$2/$3, but @Platform stayed literal because the anonymous parameter object for the group_managers insert did not include Platform. PostgreSQL then parsed @ as an operator and returned 42883: operator does not exist: @ character varying.

Changes

  • Add the missing Platform = platform parameter for the group_managers owner insert.
  • Add a Testcontainers/PostgreSQL regression test that runs production migrations and creates a session for a new platform group.
  • Bump version to 3.9.8 across Directory.Build.props, compose.yaml, deploy workflow, and web nav version.

Test plan

  • dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --nologo --verbosity normal --filter "FullyQualifiedName~CreateSessionHandlerIntegrationTests"
    • RED before fix: 42883: operator does not exist: @ character varying
    • GREEN after fix: 1 passed
  • dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --nologo --verbosity quiet
    • 604 passed, 2 skipped, 606 total
  • dotnet format --verify-no-changes --verbosity quiet
  • dotnet build --nologo --verbosity quiet

Workflow

  • CI passes (#313)
  • Code review approved
  • Deployed (#314)
  • Release published (v3.9.8)

Merged via fallback local merge because Gitea MCP merge returned HTTP 405. Merge commit: 5014ca5c58cb5c43cb0d64ce90077bce780dbdf3.

## Summary Fixes #133. Production PostgreSQL logs showed that `CreateSessionHandler` sent this statement during new group creation: ```sql WHERE p.platform = @Platform ``` Dapper.AOT had replaced the other parameters with `$1/$2/$3`, but `@Platform` stayed literal because the anonymous parameter object for the `group_managers` insert did not include `Platform`. PostgreSQL then parsed `@` as an operator and returned `42883: operator does not exist: @ character varying`. ## Changes - Add the missing `Platform = platform` parameter for the `group_managers` owner insert. - Add a Testcontainers/PostgreSQL regression test that runs production migrations and creates a session for a new platform group. - Bump version to `3.9.8` across `Directory.Build.props`, `compose.yaml`, deploy workflow, and web nav version. ## Test plan - `dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --nologo --verbosity normal --filter "FullyQualifiedName~CreateSessionHandlerIntegrationTests"` - RED before fix: `42883: operator does not exist: @ character varying` - GREEN after fix: 1 passed - `dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --nologo --verbosity quiet` - 604 passed, 2 skipped, 606 total - `dotnet format --verify-no-changes --verbosity quiet` - `dotnet build --nologo --verbosity quiet` ## Workflow - [x] CI passes (#313) - [x] Code review approved - [x] Deployed (#314) - [x] Release published (`v3.9.8`) Merged via fallback local merge because Gitea MCP merge returned HTTP 405. Merge commit: `5014ca5c58cb5c43cb0d64ce90077bce780dbdf3`.
Toutsu added 1 commit 2026-06-09 15:20:20 +03:00
fix(shared): bind platform when creating group manager
PR Checks / test-and-build (pull_request) Successful in 12m53s
efd86bca0a
Add a PostgreSQL integration regression test for new-platform-group session creation. The production failure was a missing Platform parameter in the group_managers insert, leaving @Platform in SQL and causing PostgreSQL 42883. Bump version to 3.9.8.
Toutsu closed this pull request 2026-06-09 15:56:40 +03:00
Some checks are pending
PR Checks / test-and-build (pull_request) Successful in 12m53s

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#134