xterm.js icon indicating copy to clipboard operation
xterm.js copied to clipboard

BUG: Certain characters disappear at certain zooms

Open srobertjames opened this issue 2 years ago • 7 comments

Details

At certain zoom settings, certain characters will completely disappear. For example, the 'L' character will go blank, wherever it is on the screen. If I type 'L' on the keyboard, it will likewise be blank.

Zooming out or in will usually fix this. But then another char may disappear! Eventually zooming in and out back and forth will solve this for all characters I see.

This bug has happened dozens of times. I don't know what triggers it. Screenshots below.

  • Browser and browser version: Experienced on both Hyper 3.1.4 and vscode 1.63.2 (see details below)
  • OS version: Linux Ubuntu 21.04 (VMware guest)
  • xterm.js version:
vscode ver:
Version: 1.63.2
Commit: 899d46d82c4c95423fb7e10e68eba52050e30ba3
Date: 2021-12-15T09:39:46.686Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Linux x64 5.11.0-49-generic

Steps to reproduce

  1. Zoom in or out

In the screenshot below, you'll see the lower case 's' is not appearing: (Screenshot in VS Code Terminal)

image

I'll now zoom in or out -- the 's' should reappear, but something else may disappear:

image

Now the uppercase 'L' has disappeared. Let me zoom back and forth: image

The '(' has disappeared.

Zooming in now, it is fixed: image

I have experienced this multiple times with the two xterm.js I use: Hyper and VS Code. I have not experienced this with any other terminal emulator or program. It never starts with hidden chars: it's only when zooming in or out.

srobertjames avatar Feb 10 '22 02:02 srobertjames

Have to been able to look into this bug? It unfortunately makes xterm.js unusable when zooming.

srobertjames avatar Feb 16 '22 14:02 srobertjames

I'm seeing the issue in proxmox and here: https://espresense.com/terminal

DTTerastar avatar Feb 20 '22 04:02 DTTerastar

Seems related to https://github.com/xtermjs/xterm.js/issues/3653

Changing the renderer to dom should work, it will be slower though. I've always had problems reproducing these problems so it's hard for me to fix them.

Tyriar avatar Feb 22 '22 15:02 Tyriar

Yes, I'm seeing it more like https://github.com/xtermjs/xterm.js/issues/3653.

DTTerastar avatar Feb 22 '22 15:02 DTTerastar

@Tyriar Can you please clarify what you are recommending?

Also: It seems that Chrome itself, without xterm.js, sometimes has this bug also, when displaying monospaced fonts! Is that relevant?

srobertjames avatar Feb 22 '22 21:02 srobertjames

Also: It seems that Chrome itself, without xterm.js, sometimes has this bug also, when displaying monospaced fonts! Is that relevant?

Have you found that reported in chrome's bug db?

DTTerastar avatar Feb 23 '22 00:02 DTTerastar

I did not, although I'm not well versed in it, and not a regular Chromium user.

srobertjames avatar Feb 24 '22 22:02 srobertjames

Can no longer reproduce

Tyriar avatar Dec 15 '22 16:12 Tyriar