Repository: vscode
Issue: 1.92 Regression: scrolling in integrated terminal is borked
Labels: bug,upstream,upstream-issue-linked,terminal-layout

<!-- ⚠️⚠️ Do Not Delete This! bug_report_template ⚠️⚠️ -->
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
<!-- 🕮 Read our guide about submitting issues: https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions -->
<!-- 🔎 Search existing issues to avoid creating duplicates. -->
<!-- 🧪 Test using the latest Insiders build to see if your issue has already been fixed: https://code.visualstudio.com/insiders/ -->
<!-- 💡 Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. -->
<!-- 🔧 Launch with `code --disable-extensions` to check. -->
Does this issue occur when all extensions are disabled?: **Yes**.

After updating to VS Code 1.92, I noticed several scroll-related issues with the integrated terminal:

1. After exiting a full screen CLI app (`git diff` or `git log`), sometimes scroll up or down doesn't work anymore until I press cmd+c - at which point I am teleported back to the start of the cli log.
  
   See the below video:

   https://github.com/user-attachments/assets/58e3c21e-c7fc-4e53-ba43-cc4708e0e8fd

   - start `git log`
   - scroll works (though way too sensitive - see issue 2)
   - press `q`
   - scroll up down no longer works
   - press `cmd+c`
   - as soon as I try to scroll again, I am teleported to the top of the cli log output (though, at least scroll works after that)

   - Note, while the above triggers the issue, sometimes the issue also occurs even without that (at one point I just run `git status` and this bug was triggered)

2. In full-screen CLI apps (`vim`, `git log`, `man`), the scroll sensitivity is way higher than when scrolling in non-full-screen apps. This scroll sensitivity is uncomfortably high, way higher than it was before, and remains high even if I set `terminal.integrated.mouseWheelScrollSensitivity` to a very low value like 0.1.

   https://github.com/user-attachments/assets/6315ab60-bf33-42ac-a5ac-b68981fa4790

3. When scrolling through full-screen CLI app (`git log` or `git diff`), sometimes the terminal will not let me scroll up. If I try to scroll up, I am "teleported" back to previous position. As soon as I scroll down, I can't scroll back up to the previous text.

    https://github.com/user-attachments/assets/5f8855ba-bbf4-4096-bcd0-ea17ada0aa58

<!-- 🪓 If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. -->
<!-- 📣 Issues caused by an extension need to be reported directly to the extension publisher. The 'Help > Report Issue' dialog can assist with this. -->
Relevant information:
- VS Code Version: 1.92
- OS Version: macOS 14.5
- Issues are reproducible in ZSH. I was also able to trigger issue 1 in BASH
  - In ZSH, I am using oh-my-zsh and powerlevel19k, BUT I was able to reproduce the issues even after I temporary disabled oh-my-zsh and powerlevel19k in my `.zshrc`
- Issues are reproducible even if I start VS Code with empty user dir and empty extensions dir.


A few relevant settings:
`terminal.integrated.smoothScrolling` is off. Enabling it does not make things better
`terminal.integrated.fastScrollSensitivity` - N/A as I am not holding the `Alt` key - I am just scrolling using the touchpad
`terminal.integrated.stickyScroll.enabled` is off. Enabling it did not make things better

I am sorry if some of the above reproduction steps a bit vague - some of these don't happen each time so it's hard to see what triggered it. But these all started happening as soon as VS Code got updated to 1.92. I will keep updating this issue if I have more details.

<details>
<summary>System info</summary>

General:

```yaml
VS Code Version: 1.92.0
Commit: b1c0a14de1414fcdaa400695b4db1c0799bc3124
Date: 2024-07-31T23:26:45.634Z
Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.92.0 Chrome/124.0.6367.243 Electron/30.1.2 Safari/537.36
```

System info:

System Information | _
-- | --
CPUs | Apple M1 Pro (10 x 2400)
GPU Status | 2d_canvas: enabled canvas_oop_rasterization: enabled_on direct_rendering_display_compositor: disabled_off_ok gpu_compositing: enabled multiple_raster_threads: enabled_on opengl: enabled_on rasterization: enabled raw_draw: disabled_off_ok skia_graphite: disabled_off video_decode: enabled video_encode: enabled webgl: enabled webgl2: enabled webgpu: enabled webnn: disabled_off
Load (avg) | 2, 2, 3
Memory (System) | 32.00GB (6.06GB free)
Process Argv | /Users/mak13180/site/esri/arcgis-web-components --crash-reporter-id eb79c588-0746-4857-a17b-b971547fd81f
Screen Reader | no
VM | 0%

Enabled extensions (BUT, issues are reproducible with all extensions disabled):

Extension | Author (truncated) | Version
-- | -- | --
vite | ant | 0.2.5
shell-syntax | bma | 1.0.5
vscode-tailwindcss | bra | 0.12.5
vscode-eslint | dba | 3.0.10
apc-extension | drc | 0.4.1
gitlens | eam | 15.2.3
vscode-html-css | ecm | 2.0.10
prettier-vscode | esb | 10.4.0
lintlens | ghm | 7.5.0
copilot | Git | 1.219.0
copilot-chat | Git | 0.18.1
vscode-github-actions | git | 0.26.3
vscode-pull-request-github | Git | 0.92.0
gc-excelviewer | Gra | 4.2.59
todo-tree | Gru | 0.0.226
search-node-modules | jas | 1.3.0
nodejs-repl | los | 0.5.15
rainbow-csv | mec | 3.12.0
remote-ssh | ms- | 0.112.0
remote-ssh-edit | ms- | 0.86.0
remote-explorer | ms- | 0.4.3
vscode-css-peek | pra | 4.4.1
vscode-yaml | red | 1.15.0
code-spell-checker | str | 3.0.1
vscode-stylelint | sty | 1.4.0
vscode-mdx | uni | 1.8.9
vscodeintellicode | Vis | 1.3.1
explorer | vit | 1.0.6
vim | vsc | 1.27.3
pretty-ts-errors | Yoa | 0.6.0
markdown-all-in-one | yzh | 3.6.2

A/B experiment info:

```yaml
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscorecescf:30445987
vscod805cf:30301675
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:31024239
vscaac:30438847
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythongtdpath:30769146
welcomedialog:30910333
pythonnoceb:30805159
asynctok:30898717
pythonregdiag2:30936856
pythonmypyd1:30879173
2e7ec940:31000449
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
da93g388:31013173
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
dwnewjupyter:31046869
2f103344:31071589
impr_priority:31102340
nativerepl2:31104044
refactort:31108082
ccplc:31103425
pythonrstrctxt:31103193
hdi1a554:31097393
wkspc-onlycs-t:31106322
wkspc-ranged-t:31107835
```

My settings.json (BUT, issues are also reproducible when VS Code is started with empty user dir):
[settings.json](https://github.com/user-attachments/files/16488599/settings.json)


The `Output -> Terminal` log when VS Code is started as `code --log trace --user-data-dir ~/Downloads/user-dir --extensions-dir ~/Downloads/extensions-dir`:

[trace.log](https://github.com/user-attachments/files/16488583/trace.log)

</details>