Skip to content

Commit 4285bab

Browse files
committed
trying another time
1 parent 2e9f365 commit 4285bab

2 files changed

Lines changed: 28 additions & 16 deletions

File tree

‎internal/ui/model.go‎

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1453,10 +1453,8 @@ func removeMessageFromSlice(messages []store.Message, messageID string) []store.
14531453
func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
14541454
if token, ok := shiftedEnterTokenFromMsg(msg); ok {
14551455
updated, cmd := m.handleSpecialKeyToken(token)
1456-
if next, ok := updated.(Model); ok {
1457-
return next.withPreviewCmd(cmd)
1458-
}
1459-
return updated, cmd
1456+
next := updated.(Model)
1457+
return next.withPreviewCmd(cmd)
14601458
}
14611459

14621460
switch msg := msg.(type) {
@@ -1557,16 +1555,12 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
15571555
return m.handlePickedSticker(msg)
15581556
case mediaPreviewReadyMsg:
15591557
updated, cmd := m.handleMediaPreviewReady(msg)
1560-
if next, ok := updated.(Model); ok {
1561-
return next.withPreviewCmd(cmd)
1562-
}
1563-
return updated, cmd
1558+
next := updated.(Model)
1559+
return next.withPreviewCmd(cmd)
15641560
case mediaDownloadedMsg:
15651561
updated, cmd := m.handleMediaDownloaded(msg)
1566-
if next, ok := updated.(Model); ok {
1567-
return next.withPreviewCmd(cmd)
1568-
}
1569-
return updated, cmd
1562+
next := updated.(Model)
1563+
return next.withPreviewCmd(cmd)
15701564
case mediaSavedMsg:
15711565
return m.handleMediaSaved(msg)
15721566
case audioStartedMsg:
@@ -1681,10 +1675,8 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
16811675
return next, batchCmds(cmd, nextPoll)
16821676
case tea.KeyMsg:
16831677
updated, cmd := m.handleKey(msg)
1684-
if next, ok := updated.(Model); ok {
1685-
return next.withPreviewCmd(cmd)
1686-
}
1687-
return updated, cmd
1678+
next := updated.(Model)
1679+
return next.withPreviewCmd(cmd)
16881680
}
16891681

16901682
return m, nil

‎internal/ui/model_test.go‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7550,6 +7550,26 @@ func TestPendingMediaOverlayDoesNotRenderLowResolutionFallback(t *testing.T) {
75507550
}
75517551
}
75527552

7553+
func TestKeyMsgRunsPreviewSyncForVisibleOverlay(t *testing.T) {
7554+
localPath := filepath.Join(t.TempDir(), "photo.jpg")
7555+
if err := os.WriteFile(localPath, []byte("fake"), 0o644); err != nil {
7556+
t.Fatalf("WriteFile() error = %v", err)
7557+
}
7558+
model := mediaTestModel(localPath, media.BackendUeberzugPP)
7559+
cacheOverlayPreview(t, &model, localPath)
7560+
model.mode = ModeNormal
7561+
model.focus = FocusMessages
7562+
7563+
updated, cmd := model.Update(tea.KeyMsg{Type: tea.KeyRunes, Runes: []rune("x")})
7564+
model = updated.(Model)
7565+
if cmd == nil {
7566+
t.Fatal("KeyMsg returned nil command, want overlay sync from withPreviewCmd")
7567+
}
7568+
if !model.overlaySyncPending || model.overlayPendingSignature == "" {
7569+
t.Fatalf("overlay pending = %v signature %q, want key-driven preview sync", model.overlaySyncPending, model.overlayPendingSignature)
7570+
}
7571+
}
7572+
75537573
func TestSnapshotReloadPausesTerminalOverlays(t *testing.T) {
75547574
localPath := filepath.Join(t.TempDir(), "photo.jpg")
75557575
if err := os.WriteFile(localPath, []byte("fake"), 0o644); err != nil {

0 commit comments

Comments
 (0)