on main help sign in
fix: build linux/386 (#2153)

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

commitdc890f399504b6158a8d6b70edc449b7cb646a8a authorCarlos Alexandro Becker <caarlos0@users.noreply.github.com> dateFri 6 Feb 2026, 17:00 (8 months ago) parente54c5ae
4 files changed+39−3
internal/ui/model/clipboard.go+15 internal/ui/model/clipboard_linux_386.go+7 internal/ui/model/clipboard_other.go+15 internal/ui/model/ui.go+2−3
internal/ui/model/clipboard.gonew file+15
@@ -0,0 +1,15 @@
1+package model
2+
3+import "errors"
4+
5+type clipboardFormat int
6+
7+const (
8+ clipboardFormatText clipboardFormat = iota
9+ clipboardFormatImage
10+)
11+
12+var (
13+ errClipboardPlatformUnsupported = errors.New("clipboard operations are not supported on this platform")
14+ errClipboardUnknownFormat = errors.New("unknown clipboard format")
15+)
internal/ui/model/clipboard_linux_386.gonew file+7
@@ -0,0 +1,7 @@
1+//go:build linux && 386
2+
3+package model
4+
5+func readClipboard(clipboardFormat) ([]byte, error) {
6+ return nil, errClipboardPlatformUnsupported
7+}
internal/ui/model/clipboard_other.gonew file+15
@@ -0,0 +1,15 @@
1+//go:build !linux || !386
2+
3+package model
4+
5+import "github.com/aymanbagabas/go-nativeclipboard"
6+
7+func readClipboard(f clipboardFormat) ([]byte, error) {
8+ switch f {
9+ case clipboardFormatText:
10+ return nativeclipboard.Text.Read()
11+ case clipboardFormatImage:
12+ return nativeclipboard.Image.Read()
13+ }
14+ return nil, errClipboardUnknownFormat
15+}
internal/ui/model/ui.go+2−3
@@ -24,7 +24,6 @@ import (
2424 tea "charm.land/bubbletea/v2"
2525 "charm.land/catwalk/pkg/catwalk"
2626 "charm.land/lipgloss/v2"
27− nativeclipboard "github.com/aymanbagabas/go-nativeclipboard"
2827 "github.com/charmbracelet/crush/internal/agent/tools/mcp"
2928 "github.com/charmbracelet/crush/internal/app"
3029 "github.com/charmbracelet/crush/internal/commands"
@@ -3086,7 +3085,7 @@ func (m *UI) handleFilePathPaste(path string) tea.Cmd {
30863085// creates an attachment. If no image data is found, it falls back to
30873086// interpreting clipboard text as a file path.
30883087func (m *UI) pasteImageFromClipboard() tea.Msg {
3089− imageData, err := nativeclipboard.Image.Read()
3088+ imageData, err := readClipboard(clipboardFormatImage)
30903089 if int64(len(imageData)) > common.MaxAttachmentSize {
30913090 return util.InfoMsg{
30923091 Type: util.InfoTypeError,
@@ -3103,7 +3102,7 @@ func (m *UI) pasteImageFromClipboard() tea.Msg {
31033102 }
31043103 }
31053104
3106− textData, textErr := nativeclipboard.Text.Read()
3105+ textData, textErr := readClipboard(clipboardFormatText)
31073106 if textErr != nil || len(textData) == 0 {
31083107 return util.NewInfoMsg("Clipboard is empty or does not contain an image")
31093108 }