Not much to this one. Integrated terminal, which is very slow and kinda sketchy in general, but I use it because of the “add to chat” feature, has a rather severe scrolling bug. After a lot of commands, if I try to scroll up a little, it will initially appear as though it does. Then if I try to interact with the content that is visible, it won’t work, and the moment I try to scroll down, it snaps right to the top! I have a 10k history (pretty standard), so this goes WAY UP.
Terminal needs to stay put, wherever you scroll it do, and not automatically do any scrolling, EXCEPT when you are at the bottom. Then new lines of text in the terminal should scroll by as normal.
Steps to Reproduce
Open integrated terminal.
Run a process, say unit testing, that produces more lines than fit in the viewport.
Scroll up a few lines, try to interact.
Scroll down.
POW! TOPPED.
Expected Behavior
Scroll stays put.
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Hey, thanks for the report. Unfortunately, I couldn’t reproduce the issue. Could you please record a short video of this behavior? Also, could you try updating to version 1.5.7? We’ve made several improvements in this update.
Yeah, shouldn’t be too hard. I’ve noticed that it happens most often, when I try to select and copy. Most common use case is running my Jest test suite in a terminal, then selecting the error report, if any, at the bottom of the Jest output, so I can add it to the chat. This pretty much always, at least 99% if not 100% of the time, causes the issue. Soon as I try to drag my selection, terminal pops to the top.
I guess, it wasn’t quite registering before, but, it appears that the agent has a similar problem. I’ve noticed, as I’ve been switching back and forth between chat tabs a lot the last day, that every time I go from one tab to another, the one I’m moving TO is always scrolled to the top. I then have to scroll down to get back to where the current work is being done (I often have several chats going at a time, one or two doing coding work (different repositories, so isolated from each other), another doing planning work (or maybe a couple), and then one that is just kind of an arbitrary research tab.
So I am often switching around these tabs, and with the volume of tab switching the last day here, I’ve realized I have to scroll down every single time I switch a tab. So there seem to be some scroll issues in a few places.
I haven’t actually captured an example of the terminal issue yet, becasue every time it happens, it happened before I thought to set up a video screen cap. O_o I’ll try to remember at some point here. Same for chats, I’ll see if I can capture a video of that as well.
This has been happening in all versions of 1.5.x, but I think it was also happening with 1.4.6 as well. I’m about to go back to 1.4.x here, because 1.5.x is having severe problems with the agent. I’ll confirm if the scroll issue was happening with those versions as well.
FWIW, definitely happening with 1.4.6. Same general scrolling issues seem to occur in all terminals and agent chat panels. A pop to top under certain circumstances.
This is a massive problem right now. I definitely experience this in terminals, the agent chats, and the agent prompt input.
It is like any time certain events happen, there is a handler in the Cursor code that resets the scroll position to 0 (zero). For agent chats, this is very CLEARLY every time you change tabs. Change tab, agent chat scroll position is reset to zero, AND the prompt input is also reset to zero. In terminals, it seems any time more than a few lines of text are output into the terminal, it does a “soft” reset of the position to 0. However, the auto-scroll, I think, semi-counteracts the reset, so you still SEE the bottom of the terminal chat, but hte position is in fact still, actually, zet to zero (you can tell this, because the scroll thumbnail is at the top, not at the bottom.)
This happens constantly, and I spend a significant amount of time every day, scrolling these vertically long panels, back down to the bottom!