diff --git a/backend/mpc-system/services/server-party/cmd/server/main.go b/backend/mpc-system/services/server-party/cmd/server/main.go index e504f29d..c0bfff35 100644 --- a/backend/mpc-system/services/server-party/cmd/server/main.go +++ b/backend/mpc-system/services/server-party/cmd/server/main.go @@ -568,7 +568,9 @@ func createSessionEventHandler( // Automatically participate based on session type go func() { - ctx := context.Background() + // Use parent context to allow proper cancellation + participateCtx, cancel := context.WithTimeout(ctx, 5*time.Minute) + defer cancel() // Determine session type from event if event.EventType == "session_created" { @@ -585,7 +587,7 @@ func createSessionEventHandler( JoinToken: joinToken, } - result, err := participateKeygenUC.Execute(ctx, input) + result, err := participateKeygenUC.Execute(participateCtx, input) if err != nil { logger.Error("Keygen participation failed", zap.Error(err), @@ -617,7 +619,7 @@ func createSessionEventHandler( zap.Int32("party_index", event.DelegateUserShare.PartyIndex)) } - result, err := participateSigningUC.Execute(ctx, input) + result, err := participateSigningUC.Execute(participateCtx, input) if err != nil { logger.Error("Signing participation failed", zap.Error(err),