Warp icon indicating copy to clipboard operation
Warp copied to clipboard

Unable to pause scroll

Open hrdwdmrbl opened this issue 3 years ago • 3 comments

Discord username (optional)

No response

Describe the bug

When a command is running which outputs a lot of logs, the text scrolls very quickly. I like to be able to read some samples of what is going on. To do that on iTerm, I scroll up and then I'm removed from autoscroll-mode. I can then calmly scroll up and down the still text. Below where I'm reading, new logs are continuing to be generated and so my scrollbar is continually moving up slowly as my relative position in the logs changes. If at some point my position reaches the top then yes, my text will scroll off the terminal and I'll basically be looking at the head (as opposed to the tail) of the autoscrolling logs. Am I making sense? Effectively I just want to be able to read quickly scrolling logs. In Warp though, when I scroll up from the "tail" of the logs, the text continues to scroll past me just as quickly. This is because my relative scroll position in the terminal remains fixed.

To Reproduce

Steps to reproduce:

  1. Generate a lot of logs
  2. Scroll up

Expected behaviour

Relative scroll position should move so that the text does not move.

Screenshots

a video would be more help but I can't be bothered.

Operating System

No response

OS Version

666

Shell Version

666

Additional context

No response

Warp Internal (ignore): linear-label:24888f54-df93-45d5-9bdd-e38f740cac19

No response

hrdwdmrbl avatar May 14 '22 10:05 hrdwdmrbl

Experimented with this a bit. It seems that when the output is produced rapidly, it's hard to scroll up and read a particular line. But when the output is not produced as quickly, this seems to work well today. Here's a repro:

# produce_output.py
from time import sleep

i = 0
while True:
    print(f"THIS IS LINE i={i}")
    i += 1
    # Without this sleep, it becomes impossible to read data at 
    # a fixed position line. With the sleep however, scrolling
    # to some part in the already-produced output seems to work
    # well.
    sleep(0.1)

szgupta avatar May 17 '22 18:05 szgupta

Came here to file this bug. Enjoying the terminal - today's use case I was executing a long-running batch job interactively and I was unable to copy/paste output for debugging. I'm aware I could send to background, but I also need the full log for other purposes so I get to watch it scroll in entirety.

Ideally, I would like to be able to pause the buffer at the current location for introspection, and then once finished advance back to the latest stream. Even when I scroll back, the buffer is moving around and adjusting my relative location in the output stream to the viewing buffer.

Hopefully this context makes sense.

v0.2022.05.16.09.01.stable_01

jfryman avatar May 19 '22 17:05 jfryman

would love to pause logs as it is difficult to pinpoint to problems of running application

gregkonush avatar Aug 02 '22 23:08 gregkonush

This is quite an important feature. It seems like the problem is only really happening when there are lots of logs very quickly and the maximum block length is reached. Lines seem to be removed from the beginning of the block, causing data loss and this bug. Is it a performance tradeoff?

carlosbaraza avatar Sep 23 '22 23:09 carlosbaraza

Bump - this is basically the only case where iTerm 2 is better for me than Warp. When I attach to logs of a Docker container, it's impossible to stop the automatic scroll behavior to pause and read some logs while new ones keep coming in.

macbem avatar Jan 03 '23 13:01 macbem

Agreed. This and #610, which seem to be tightly related, are real blockers for using Warp. I'm hoping with the recent comment in that ticket that it will be worked on, that this one will be fixed in tandem.

ericmerrill avatar Jan 25 '23 16:01 ericmerrill

So, part of the issue here might be that we currently limit the length of a block to 10k lines - this is due to performance issues, and we've got an engineer actively working on resolving those so that we can raise the limit/let users set it to values in the millions.

Would that be sufficient to address the concerns here? Or does iTerm do anything fancy like stop reading output from the shell (effectively halting the running process) if you've paused auto-scroll but the output has reached the maximum line limit?

vorporeal avatar Jan 26 '23 22:01 vorporeal

@vorporeal So what iTerm does, is if you are at the top or bottom of an ongoing scrollback, you will see the lines being added (at the bottom), and removed (at the top), so scrolling by however fast they are being created, but when you are in the middle, your view remains static on the lines in your view, with lines being added below your current view, and being removed above it, until you run out of scroll back buffer. This in practice means, that once you detach from the bottom, to look at a set of lines, then scroll bar on the right will slide up, showing where you are in the scroll back buffer.

Because of how Warp is handling its scrolling with blocks, no matter where you are in the scroll, if lines are being truncated, you can never get lines to stop - because they are sliding by 'in the block', and the scroll is relative to the block container (I think).

Since I don't know if that all makes sense, I made this short screen capture of iTerm, that hopefully makes sense.

ericmerrill avatar Jan 27 '23 18:01 ericmerrill

+1 this is a blocker preventing from switching totally from iterm to warp.

isaacpovey avatar Mar 09 '23 16:03 isaacpovey

I completely switched to Warp, but after facing this issue, I had to fall back.

vasilev-alex avatar Mar 14 '23 13:03 vasilev-alex

Same here. I really enjoy Warp. But this feature makes me return to iTerm.

exotexot avatar Mar 14 '23 18:03 exotexot

Sorry for the delays here; I've watched the above video and understand the scrolling issue being described! I'm aiming to work on improving this soon, hopefully next week.

vorporeal avatar Mar 14 '23 22:03 vorporeal

+1 really waiting for the fix!

arnassavickas avatar Apr 13 '23 10:04 arnassavickas

+1 really enjoyed warp so far, but this is a very painful issue. Any updates on a fix?

yvesshum avatar May 12 '23 02:05 yvesshum

I have a working prototype that ties the scroll position to a line in a block (as @ericmerrill was describing), but still need to figure out a small issue leading to occasional jitter. Aiming to get that done and launched in the next week or two!

vorporeal avatar May 12 '23 18:05 vorporeal

any news with this one ? :)

lupuszr avatar Jun 06 '23 16:06 lupuszr

This has been put on the back burner for now, but we'll post any updates/progress on this thread if/when we have them. Appreciate your patience folks!

dannyneira avatar Jun 08 '23 21:06 dannyneira

It's unreal to read logs while this bug not fixed. Any updates?

Cianidos avatar Aug 07 '23 13:08 Cianidos

I love Warp, but I'm also on the verge of moving back to iTerm as this issue ruins my user experience

smurrayroberts avatar Aug 16 '23 10:08 smurrayroberts

Also having this issue with a long-running Python task. Would appreciate a fix!

shrey150 avatar Aug 18 '23 14:08 shrey150

This is a huge issue for my workflow. I'll have to switch back to iTerm for now.

ev01ve avatar Aug 24 '23 18:08 ev01ve

I love Warp, but this thing makes me want to search for an alternative. It's very annoying to limit the number of lines where we have to look for live production logs.

iammohan01 avatar Aug 25 '23 13:08 iammohan01

Same issue with a GO service printing a lot of logs... it's very frustrating to not be able to have enough time to select intereting logs to at least copy them... Switching back to iTerm2 until this is fixed...

maxime-menant avatar Aug 29 '23 08:08 maxime-menant

iterm + fig + atuin is a pretty great replacement. Not sure if I'll be returning to warp after finding this combo.

ev01ve avatar Aug 30 '23 16:08 ev01ve

@ev01ve thanks for sharing about atuin, this is awesome

gregkonush avatar Aug 31 '23 08:08 gregkonush

Gonna close this in favor of #610 --which is the root issue of this problem

elviskahoro avatar Sep 01 '23 22:09 elviskahoro

uhhh seriously you can't make logs stop scrolling? I thought for sure it was my fault, goodbye warp

djkgamc avatar Feb 27 '24 23:02 djkgamc

Anxious for this fix

jefaokpta avatar Mar 01 '24 00:03 jefaokpta

Forced to uninstall, this is too frustrating

ziscky avatar Apr 16 '24 12:04 ziscky