Skip to content

Preserve signed arguments after custom argument parse failures - #14348

Open
neonjava wants to merge 1 commit into
PaperMC:mainfrom
neonjava:fix/custom-argument-signature
Open

neonjava wants to merge 1 commit into
PaperMC:mainfrom
neonjava:fix/custom-argument-signature

Conversation

@neonjava

@neonjava neonjava commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Fixes #14076

When a custom argument parser fails before a signed message argument, Paper may parse fewer signed arguments than the client sent. The signature check then rejects the command and breaks the player's chat chain.

If the custom parse fails, parse the command again using the argument types sent to the client for signature checking. Keep the original parse result for command execution.

Tested on Paper 26.3 with a custom argument that fails before a signed message: the original build reported an argument signature mismatch and rejected the next chat message; this build reports the command parse error and accepts the next chat message. The regression test and :paper-server:compileJava pass.

@neonjava
neonjava requested a review from a team as a code owner October 4, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Awaiting review

Development

Successfully merging this pull request may close these issues.

Throwing exception in custom arg before signed arg causes mismatch

1 participant