2c9016a383
The 3.9.1 hotfix only repaired WizardDraftRepository, the most common
Dapper call in the wizard. The same AOT-unsafe CommandDefinition pattern
remained in 4 other places that the user hit immediately after the
deploy: the 'Choose visibility' wizard step triggers GetOwnerClubsAsync
when the user picks 'Публичная в витрине клуба' or 'Только для членов
клуба'. The wizard swallowed PlatformNotSupportedException, the
callback ack replied with '⚠️ Ошибка', and the next step never rendered.
Privacy 'didn't stick' from the user's perspective.
Two changes to fix the Discord side as well:
1. Switched GetOwnerClubsAsync / LoadClubsAsync / LoadManagerUserIdsAsync
to the direct (sql, params) overload across TelegramWizardMessenger,
DiscordWizardMessenger, DiscordWizardInteractionModule, and
DiscordPermissionLookup — same pattern as the 3.9.1 fix.
2. Added Dapper.AOT module attribute ([module: Dapper.DapperAot]) and
InterceptorsPreviewNamespaces to the DiscordBot project. The
DiscordBot assembly was previously skipped by the AOT source
generator, so even the direct-overload fix wouldn't have produced
interceptors for the Discord-specific Dapper call sites. With this
addition, the generator emits 3 DiscordBot-specific interceptors
(DiscordWizardMessenger, DiscordWizardInteractionModule,
DiscordPermissionLookup) and the AssemblyLoad ships with the right
GmRelay.DiscordBot.generated.cs.
Also expanded the AOT shape regression tests to cover all 4
CommandDefinition sites + added a 'containingClass' parameter to
ExtractMethodBody to disambiguate the duplicated LoadClubsAsync names
in DiscordWizardInteractionModule.
Bumps: 3.9.1 -> 3.9.2.
15 lines
1.0 KiB
Plaintext
15 lines
1.0 KiB
Plaintext
[2026-06-05 18:26:37.058] [0000D0D0] === Logging started ===
|
|
[2026-06-05 18:26:37.064] [0000D0D0] Executing: "C:\Program Files\dotnet\dotnet.exe" test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --no-build --filter FullyQualifiedName~Discord|FullyQualifiedName~Wizard --verbosity minimal, PID: 53456, PPID: 37984
|
|
[2026-06-05 18:26:37.066] [0000D0D0] IsElevated: False
|
|
[2026-06-05 18:26:37.066] [0000D0D0] Is64BitProcess: True
|
|
[2026-06-05 18:26:37.066] [0000D0D0] RebootPending: True
|
|
[2026-06-05 18:26:37.066] [0000D0D0] ProcessorArchitecture: amd64
|
|
[2026-06-05 18:26:37.066] [0000D0D0] HostArchitecture: x64
|
|
[2026-06-05 18:26:37.066] [0000D0D0] SdkDirectory: 10.0.201
|
|
[2026-06-05 18:26:37.066] [0000D0D0] VerifySignatures: False
|
|
[2026-06-05 18:26:37.066] [0000D0D0] SDK feature band: 10.0.200
|
|
[2026-06-05 18:26:44.412] [0000D0D0] Shutting down
|
|
[2026-06-05 18:26:44.412] [0000D0D0] Shutdown completed.
|
|
[2026-06-05 18:26:44.412] [0000D0D0] Restart required: False
|
|
[2026-06-05 18:26:44.413] [0000D0D0] === Logging ended ===
|