diff --git a/services/connectors/slack.go b/services/connectors/slack.go index ab6cb2d..2e4e1ea 100644 --- a/services/connectors/slack.go +++ b/services/connectors/slack.go @@ -196,28 +196,28 @@ func (t *Slack) handleChannelMessage( currentConv := t.conversationTracker.GetConversation(t.channelID) - // Lock the conversation mutex to update the conversation history - t.processing.Lock() - - // If we are already processing something, stop the current action - if t.processingMessage { - a.StopAction() - } else { - t.processingMessage = true - } - t.processing.Unlock() - - // Defer to reset the processing flag - defer func() { - t.processing.Lock() - t.processingMessage = false - t.processing.Unlock() - }() - message := replaceUserIDsWithNamesInMessage(api, cleanUpUsernameFromMessage(ev.Text, b)) go func() { + // Lock the conversation mutex to update the conversation history + t.processing.Lock() + + // If we are already processing something, stop the current action + if t.processingMessage { + a.StopAction() + } else { + t.processingMessage = true + } + t.processing.Unlock() + + // Defer to reset the processing flag + defer func() { + t.processing.Lock() + t.processingMessage = false + t.processing.Unlock() + }() + imageBytes := new(bytes.Buffer) mimeType := "image/jpeg"