Fix the Dapr guild server build, which breaks the whole solution build - #1004
Merged
Merged
Conversation
c51d62b added a masterTotalLevel parameter to IGuildServer.ChangeGuildMemberPositionByNameAsync, for the battle master limit. The real implementation and its caller were updated, but the two Dapr projects were not, so MUnique.OpenMU.ServerClients no longer implements the interface: src/Dapr/ServerClients/GuildServer.cs(15,28): error CS0535: 'GuildServer' does not implement interface member 'IGuildServer.ChangeGuildMemberPositionByNameAsync(uint, string, GuildPosition, int)' The .NET Core workflow only publishes src/Startup, which doesn't reference the Dapr projects, so it stayed green while the solution build has been failing. The parameter is now carried through the Dapr path as well: the arguments record gained the field, the client forwards it, and the host controller passes it on to the guild server. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UYEj5xw6iAJKEoDX3hyMZh
sven-n
pushed a commit
that referenced
this pull request
Sep 29, 2026
Brings in the Dapr guild server build fix (#1004), so the whole solution compiles again. The Selupan fall skill took update version 120, so the illusion temple update moves to 121. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UYEj5xw6iAJKEoDX3hyMZh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Master doesn't compile. Building the solution the way the pipeline does —
dotnet build --configuration Release -p:ci=trueinsrc— fails on pristineorigin/master:Reproduced in a clean worktree checked out at
origin/master, with no other changes present.Cause
c51d62b ("fix(guild): cross-server role assignment, save-failure restore, role limits") added a fourth parameter
int masterTotalLeveltoIGuildServer.ChangeGuildMemberPositionByNameAsyncfor the battle master limit. It was applied to the real implementation and the caller:src/GuildServer/GuildServer.cs✅src/GameLogic/PlayerActions/Guild/GuildRoleAssignAction.cs✅but not to the Dapr path, which implements the same interface:
src/Dapr/ServerClients/GuildServer.cs❌src/Dapr/GuildServer.Host/GuildServerController.cs❌Why CI didn't catch it before merge
The
.NET CoreGitHub workflow runsdotnet publish src/Startup/MUnique.OpenMU.Startup.csproj, which doesn't reference the Dapr projects — so a solution that doesn't compile still shows a green check there. Nothing else in the GitHub checks builds the whole solution.The change
The new parameter is carried through the Dapr path as well, so the remote call behaves like the in-process one:
GuildMemberRoleChangeByNameArgumentsgains aMasterTotalLevelfieldmasterTotalLeveland puts it in the requestdata.MasterTotalLevelon to the guild serverWithout this the battle master limit would be silently skipped whenever the guild server runs out of process, so forwarding it is both what makes it compile and what keeps the behaviour consistent.
Verification
Run locally with a .NET 10 SDK, from a clean tree (all
bin/objremoved):dotnet build --configuration Release -p:ci=trueoversrc/MUnique.OpenMU.sln— 0 errors (the same command reproduces the failure on master without this change)dotnet teston everytests/*Tests/*.csproj— all green: AttributeSystem 44 · ChatServer 26 · Network.Packets 608 · Network 73 · Pathfinding 10 · Persistence.Initialization 32 · PlugIns 41 · MUnique.OpenMU 1101 · Web 95Note: the
MUnique.OpenMUAzure check is red on this PR, but that is unrelated — the pipeline is out of credits, so it fails regardless of the code. I originally assumed that red was this compile error, because the "1 errors / 0 warnings" summary matched; that inference was wrong, and merging this will not turn that check green. The compile failure above is real and verified independently of it.Found while keeping #974 current with master; it is unrelated to that PR, so it's here on its own.
🤖 Generated with Claude Code
https://claude.ai/code/session_01UYEj5xw6iAJKEoDX3hyMZh