From f4a092bc24b2ba6ae197332d68c504178a2bf4fc Mon Sep 17 00:00:00 2001 From: Ayyan Date: Thu, 11 Dec 2025 14:35:53 -0800 Subject: [PATCH] fix(message_input): prevent resource leak in send() method (#662) --- cmd/message_input.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/cmd/message_input.go b/cmd/message_input.go index e54b7a8..35ed6c1 100644 --- a/cmd/message_input.go +++ b/cmd/message_input.go @@ -156,6 +156,15 @@ func (mi *messageInput) send() { return } + // Close attached files on return + defer func() { + for _, file := range mi.sendMessageData.Files { + if closer, ok := file.Reader.(io.Closer); ok { + closer.Close() + } + } + }() + text = processText(app.chatView.selectedChannel, []byte(text)) if mi.edit { @@ -179,13 +188,6 @@ func (mi *messageInput) send() { } } - // Close the attached files after sending the message. - for _, file := range mi.sendMessageData.Files { - if closer, ok := file.Reader.(io.Closer); ok { - closer.Close() - } - } - mi.reset() app.chatView.messagesList.Highlight() app.chatView.messagesList.ScrollToEnd()