diff --git a/internal/tui/components/chat/messages/messages.go b/internal/tui/components/chat/messages/messages.go index 2d96bba6c9cb86de028d9521353d388c787844ef..f953b139968a4231dcc803c09f848363c7ed2160 100644 --- a/internal/tui/components/chat/messages/messages.go +++ b/internal/tui/components/chat/messages/messages.go @@ -209,11 +209,15 @@ func (m *messageCmp) renderUserMessage() string { for _, attachment := range m.message.BinaryContent() { file := filepath.Base(attachment.Path) var filename string - if len(file) > 10 { - filename = fmt.Sprintf(" %s %s... ", styles.DocumentIcon, file[0:7]) + runes := []rune(file) + + const truncatePathAt = 7 + if len(runes) > truncatePathAt { + filename = fmt.Sprintf(" %s %s... ", styles.DocumentIcon, string(runes[0:truncatePathAt])) } else { filename = fmt.Sprintf(" %s %s ", styles.DocumentIcon, file) } + attachments = append(attachments, attachmentStyles.Render(filename)) }