Skip to content

Regression - Touch scrolling not functioning in 6.0.0 #5489

@RahjIII

Description

@RahjIII

Upgraded xtermjs and its addons from 5.5.0 -> 6.0.0. The touch scrolling behavior has stopped working across multiple browser platforms.

I see:

#5096 Integrate base/ platform from VS Code and adopt scroll bar
⚠️ This is a potential breaking change, the viewport/scroll bar works very differently now

in the release notes that the scrollbar implementation has changed. Not sure if there is there is some setting or something else that I'm missing around the change to enable the old touch scroll behavior, and none of my supporting application code has changed, just the bump to xtermjs 6.0.0. Therefore, I believe this is likely a functional regression in xtermjs.

Details

  • Browser and browser version:
    Chrome/Linux 143.0.7499.40
    Chrome/iOS 143.0.7499.108
    Edge/Windows (unknown)
    Chrome/Android Android 16; Pixel 9 Pro Build/BP3A.251105.015

  • xterm.js version: 6.0.0
    "@xterm/addon-attach": "^0.12.0",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-image": "^0.9.0",
    "@xterm/addon-serialize": "^0.14.0",
    "@xterm/addon-unicode11": "^0.9.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/addon-webgl": "^0.19.0",
    "@xterm/xterm": "^6.0.0"

Steps to reproduce

  1. Under xterm.js 5.5.0, note that user could scroll the terminal buffer using a touch and drag on the terminal screen itself, or a touch and drag on the scroll bar.
  2. Upgrade to xterm.js 6.0.0
  3. Touch and drag on terminal does not scroll the terminal.
  4. Touch and drag on the scrollbar moves the scrollbar a few pixels and then stops.
  5. Also reproducible in Chrome dev tools without touch screen under 'toggle device toolbar' if device is set to Pixel phone type.

Appears to affect all touch based platforms, ipad, android phone, windows touch screen laptop, etc. Note that mouse-drag and wheel based scrolling appear to function as before, without issue.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions