zellij-org / zellij

A terminal workspace with batteries included
https://zellij.dev
MIT License
21.75k stars 658 forks source link

CJK font causes blank character blocks when switching buffers in neovim #3783

Open MrConnorKenway opened 2 hours ago

MrConnorKenway commented 2 hours ago

Basic information

zellij --version: zellij 0.41.1

stty size: 52 198

uname -av: Linux 5.4.143.bsk.8-amd64 SMP Debian 5.4.143.bsk.8 Wed Jul 20 08:43:36 UTC x86_64 GNU/Linux

neovim --version: NVIM v0.10.2 with colortheme: https://github.com/catppuccin/nvim

Steps to reproduce bug

  1. Open an English text file: image
  2. Switch buffer to another Chinese-English mixed text file: image
  3. Switch back to previous buffer: image It seems that zellij fails to render the background color of Chinese characters to neovim's theme background color when leaving buffer with Chinese characters.

/tmp/zellij-1001/zellij-log/zellij.log

INFO   |zellij_client            | 2024-11-16 15:09:27.885 [main      ] [zellij-client/src/lib.rs:182]: Starting Zellij client! 
INFO   |zellij_server            | 2024-11-16 15:09:27.900 [main      ] [zellij-server/src/lib.rs:522]: Starting Zellij server! 
WARN   |zellij_utils::kdl        | 2024-11-16 15:09:27.903 [main      ] [zellij-utils/src/kdl/mod.rs:695]: Converting new tab action without arguments, original action saved to .bak.kdl file 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.907 [server_router] [zellij-server/src/route.rs:1110]: Server not ready, trying to place instruction in retry queue... 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.908 [server_router] [zellij-server/src/route.rs:1228]: Server ready, retrying sending instruction. 
INFO   |zellij_server            | 2024-11-16 15:09:27.908 [main      ] [zellij-server/src/lib.rs:1493]: Compiling plugins using Cranelift 
INFO   |zellij_server::plugins   | 2024-11-16 15:09:27.909 [wasm      ] [zellij-server/src/plugins/mod.rs:232]: Wasm main thread starts 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.913 [server_router] [zellij-server/src/route.rs:1110]: Server not ready, trying to place instruction in retry queue... 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.913 [server_router] [zellij-server/src/route.rs:1119]: Server not ready, trying to place instruction in retry queue... 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.913 [server_router] [zellij-server/src/route.rs:1228]: Server ready, retrying sending instruction. 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.918 [server_router] [zellij-server/src/route.rs:1110]: Server not ready, trying to place instruction in retry queue... 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.918 [server_router] [zellij-server/src/route.rs:1228]: Server ready, retrying sending instruction. 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.923 [server_router] [zellij-server/src/route.rs:1119]: Server not ready, trying to place instruction in retry queue... 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.923 [server_router] [zellij-server/src/route.rs:1130]: Server not ready, trying to place instruction in retry queue... 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.923 [server_router] [zellij-server/src/route.rs:1228]: Server ready, retrying sending instruction. 
WARN   |zellij_utils::input::layo| 2024-11-16 15:09:27.924 [wasm      ] [zellij-utils/src/input/layout.rs:109]: Overriding plugin alias 
ERROR  |zellij_utils::input::layo| 2024-11-16 15:09:27.924 [screen    ] [zellij-utils/src/input/layout.rs:1120]: Failed to read layout dir: Os { code: 2, kind: NotFound, message: "No such file or directory" } 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.928 [server_router] [zellij-server/src/route.rs:1228]: Server ready, retrying sending instruction. 
ERROR  |zellij_utils::input::layo| 2024-11-16 15:09:27.932 [screen    ] [zellij-utils/src/input/layout.rs:1120]: Failed to read layout dir: Os { code: 2, kind: NotFound, message: "No such file or directory" } 
WARN   |zellij_server::route     | 2024-11-16 15:09:27.934 [server_router] [zellij-server/src/route.rs:1228]: Server ready, retrying sending instruction. 
ERROR  |zellij_utils::input::layo| 2024-11-16 15:09:27.939 [screen    ] [zellij-utils/src/input/layout.rs:1120]: Failed to read layout dir: Os { code: 2, kind: NotFound, message: "No such file or directory" } 
INFO   |zellij_server::plugins::p| 2024-11-16 15:09:27.941 [async-std/runti] [zellij-server/src/plugins/plugin_loader.rs:525]: Loaded plugin 'compact-bar' from cache folder at '/home//.cache/zellij' in 523.308µs 
ERROR  |zellij_utils::input::layo| 2024-11-16 15:09:27.952 [screen    ] [zellij-utils/src/input/layout.rs:1120]: Failed to read layout dir: Os { code: 2, kind: NotFound, message: "No such file or directory" } 
ERROR  |zellij_utils::input::layo| 2024-11-16 15:09:27.953 [screen    ] [zellij-utils/src/input/layout.rs:1120]: Failed to read layout dir: Os { code: 2, kind: NotFound, message: "No such file or directory" } 
WARN   |zellij_server::panes::gri| 2024-11-16 15:09:28.175 [screen    ] [zellij-server/src/panes/grid.rs:2459]: Unhandled osc: [[49], [126]] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:09:28.289 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 61->[] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:09:32.617 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 62->[] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:09:32.635 [screen    ] [zellij-server/src/panes/grid.rs:2459]: Unhandled osc: [[49], []] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:09:32.677 [screen    ] [zellij-server/src/panes/grid.rs:2459]: Unhandled osc: [[49], [126]] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:09:32.686 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 61->[] 
ERROR  |zellij_utils::input::layo| 2024-11-16 15:09:36.770 [screen    ] [zellij-utils/src/input/layout.rs:1120]: Failed to read layout dir: Os { code: 2, kind: NotFound, message: "No such file or directory" } 
ERROR  |zellij_utils::input::layo| 2024-11-16 15:09:38.379 [screen    ] [zellij-utils/src/input/layout.rs:1120]: Failed to read layout dir: Os { code: 2, kind: NotFound, message: "No such file or directory" } 
ERROR  |zellij_utils::input::layo| 2024-11-16 15:09:39.698 [screen    ] [zellij-utils/src/input/layout.rs:1120]: Failed to read layout dir: Os { code: 2, kind: NotFound, message: "No such file or directory" } 
WARN   |zellij_server::panes::gri| 2024-11-16 15:10:01.796 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 62->[] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:10:01.811 [screen    ] [zellij-server/src/panes/grid.rs:2459]: Unhandled osc: [[49], []] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:10:01.823 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 61->[] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:10:01.823 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 92->[] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:10:01.829 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 92->[] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:10:01.829 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 92->[] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:11:09.699 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 62->[] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:11:09.731 [screen    ] [zellij-server/src/panes/grid.rs:2459]: Unhandled osc: [[49], [126]] 
WARN   |zellij_server::panes::gri| 2024-11-16 15:11:09.745 [screen    ] [zellij-server/src/panes/grid.rs:3134]: Unhandled esc_dispatch: 61->[] 
ERROR  |zellij_utils::input::layo| 2024-11-16 15:11:11.182 [screen    ] [zellij-utils/src/input/layout.rs:1120]: Failed to read layout dir: Os { code: 2, kind: NotFound, message: "No such file or directory" } 
INFO   |zellij_server::plugins   | 2024-11-16 15:11:11.182 [wasm      ] [zellij-server/src/plugins/mod.rs:894]: wasm main thread exits 
INFO   |zellij_server::plugins::w| 2024-11-16 15:11:11.182 [wasm      ] [zellij-server/src/plugins/wasm_bridge.rs:318]: Bye from plugin 0 
ERROR  |zellij_server::os_input_o| 2024-11-16 15:11:11.183 [screen    ] [zellij-server/src/os_input_output.rs:917]: Failed to apply cached resizes: failed to send message to pty writer 
INFO   |zellij_client            | 2024-11-16 15:11:11.183 [main      ] [zellij-client/src/lib.rs:584]: Bye from Zellij! 
ERROR  |zellij_server::os_input_o| 2024-11-16 15:11:11.183 [screen    ] [zellij-server/src/os_input_output.rs:906]: Failed to cache resizes: failed to send message to pty writer 
ERROR  |zellij_server::os_input_o| 2024-11-16 15:11:11.183 [screen    ] [zellij-server/src/os_input_output.rs:917]: Failed to apply cached resizes: failed to send message to pty writer 

Mixed text:

Do not go gentle into that good night,
Old age should burn and rave at close of day;
Rage, rage against the dying of the light.

不要温和地走进那个良夜,
晚年应该在黄昏时燃烧狂怒;
愤怒,愤怒,不要让光芒消逝。

Though wise men at their end know dark is right,
Because their words had forked no lightning they
Do not go gentle into that good night.

尽管智者在临终时知道黑暗是正确的,
因为他们的话语并未分叉出闪电,
但他们也不会温和地走进那个良夜。

Good men, the last wave by, crying how bright
Their frail deeds might have danced in a green bay,
Rage, rage against the dying of the light.

好人,最后一波人潮,哭泣着,因为他们脆弱的行为本可能在绿色海湾中舞动,
愤怒,愤怒,不要让光芒消逝。

Wild men who caught and sang the sun in flight,
And learn, too late, they grieved it on its way,
Do not go gentle into that good night.

狂野的人们追逐并歌唱着太阳的飞行,
但他们也太晚了,因为他们在太阳逝去的路上感到悲伤,
所以他们不会温和地走进那个良夜。

Grave men, near death, who see with blinding sight
Blind eyes could blaze like meteors and be gay,
Rage, rage against the dying of the light.

临死的严肃的人们,以盲目的视野看到了死亡,
他们的盲目的眼睛也会像流星一样炽热而快乐,
愤怒,愤怒,不要让光芒消逝。

And you, my father, there on the sad height,
Curse, bless me now with your fierce tears, I pray.
Do not go gentle into that good night.
Rage, rage against the dying of the light.

而你,我的父亲,在悲伤的高处,
我恳求你用你猛烈的眼泪诅咒和祝福我,
不要温和地走进那个良夜,
愤怒,愤怒,不要让光芒消逝。
MrConnorKenway commented 2 hours ago

This issue occurs on iTerm2, windows terminal, alacritty, kitty and wezterm. Similar issue: https://github.com/wez/wezterm/issues/3498