fix(server-party): fix context leak in GetPendingMessages acknowledgment

Fixed the acknowledgment goroutine in GetPendingMessages to use parent
context instead of context.Background(), preventing orphan goroutines
that can't be cancelled.

This completes all context bug fixes:
- server-party-api event handler (commit 450163a)
- server-party event handler (commit 99ff3ac)
- message acknowledgment in SubscribeMessages (commit 450163a)
- message acknowledgment in GetPendingMessages (this commit)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
hailin 2025-12-06 06:42:07 -08:00
parent 99ff3ac130
commit 5344af465b
1 changed files with 2 additions and 1 deletions

View File

@ -268,7 +268,8 @@ func (c *MessageRouterClient) GetPendingMessages(
// Send acknowledgment for each received message
go func(messageID, sessionIDStr, pID string) {
ackCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
// Use parent context to allow proper cancellation
ackCtx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
sid, _ := uuid.Parse(sessionIDStr)
if err := c.AcknowledgeMessage(ackCtx, messageID, sid, pID, true, ""); err != nil {