on main help sign in
fix(ui): filepicker: defer image preview until after transmission
commit9f5284f56cebf49d8a13d5bbfb294c0499bb820d authorAyman Bagabas <ayman.bagabas@gmail.com> dateTue 13 Jan 2026, 13:50 (9 months ago) parentadef6e6
1 file changed+9−6
internal/ui/dialog/filepicker.go+9−6
internal/ui/dialog/filepicker.go+9−6
@@ -185,14 +185,17 @@ func (f *FilePicker) HandleMsg(msg tea.Msg) Action {
185185
186186 f.previewingImage = allowed
187187 if allowed && !fimage.HasTransmitted(selFile, f.imgPrevWidth, f.imgPrevHeight) {
188+ f.previewingImage = false
188189 img, err := loadImage(selFile)
189− if err != nil {
190− f.previewingImage = false
190+ if err == nil {
191+ cmds = append(cmds, tea.Sequence(
192+ f.imgEnc.Transmit(selFile, img, f.cellSize, f.imgPrevWidth, f.imgPrevHeight),
193+ func() tea.Msg {
194+ f.previewingImage = true
195+ return nil
196+ },
197+ ))
191198 }
192−
193− cmds = append(cmds, f.imgEnc.Transmit(
194− selFile, img, f.cellSize, f.imgPrevWidth, f.imgPrevHeight))
195− f.previewingImage = true
196199 }
197200 }
198201 if cmd != nil {