bubbletea icon indicating copy to clipboard operation
bubbletea copied to clipboard

Pager example with high performance rendering loses first line on resize

Open leg100 opened this issue 8 months ago • 3 comments

Describe the bug I'm running the pager example, albeit with high performance rendering turned on. It works fine until the window is resized, at which point the first line of the viewport is 'lost', i.e. it is re-rendered as an empty line.

Setup

  • Arch
  • Bash
  • Alacritty

To Reproduce Steps to reproduce the behavior:

  1. go to ./examples/pager
  2. edit main.go to enable high performance renderer:
index 12a71a3..fd677d5 100644
--- a/examples/pager/main.go
+++ b/examples/pager/main.go
@@ -19,7 +19,7 @@ import (
 // Also keep in mind that high performance rendering only works for programs
 // that use the full size of the terminal. We're enabling that below with
 // tea.EnterAltScreen().
-const useHighPerformanceRenderer = false
+const useHighPerformanceRenderer = true
  1. run: go run main.go
  2. resize terminal window

Screenshots Before resize:

image After resize:

image

Further info

The line does reappear if you scroll down and then back up again.

It also re-appears if you full screen the terminal and then un-fullscreen the terminal.

If you scroll down before a window resize, and then resize the window, then the first visible line is missing and stays missing until you scroll it out of view and back into view.

leg100 avatar Jun 11 '24 21:06 leg100