Skip to content

Fix duplicate variable names when multiple middleware return OutgoingMessages#2327

Merged
jeremydmiller merged 1 commit intomainfrom
fix/2326-disambiguate-outgoing-messages-variable
Mar 19, 2026
Merged

Fix duplicate variable names when multiple middleware return OutgoingMessages#2327
jeremydmiller merged 1 commit intomainfrom
fix/2326-disambiguate-outgoing-messages-variable

Conversation

@jeremydmiller
Copy link
Copy Markdown
Member

Summary

  • Fixed Chain.AddMiddleware() resetting the OutgoingMessages variable counter to 100 on every call, causing duplicate outgoingMessages101 variable names when multiple middleware methods (e.g., Before and Load) return OutgoingMessages
  • Changed the counter from a local variable to a persistent instance field (_middlewareOutgoingCounter) so each middleware gets a unique variable name
  • Added regression test reproducing the exact scenario from the issue

Closes #2326

Test plan

  • Added Bug_2326_disambiguate_outgoing_messages_from_multiple_middleware test that verifies a handler with two middleware methods both returning OutgoingMessages compiles successfully
  • All 1183 CoreTests pass with no regressions

🤖 Generated with Claude Code

…Messages

The OutgoingMessages variable counter in Chain.AddMiddleware() was reset to 100
on every call, causing duplicate variable names (outgoingMessages101) when
multiple middleware methods returned OutgoingMessages. Changed to a persistent
instance field so each middleware gets a unique variable name.

Closes #2326

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Invalid code gen when having multiple middleware functions returning OutgoingMessages

1 participant