sxyazi / yazi

💥 Blazing fast terminal file manager written in Rust, based on async I/O.
https://yazi-rs.github.io
MIT License
16.72k stars 389 forks source link

Holding arrow key does not trigger repeat commands (holding 'down' does not repeatedly move down the pane) #1922

Closed gohma231 closed 1 day ago

gohma231 commented 2 days ago

What system are you running Yazi on?

macOS

What terminal are you running Yazi in?

Iterm2

yazi --debug output

Yazi
    Version: 0.3.3 (af565fb 2024-11-19)
    Debug  : false
    Triple : aarch64-apple-darwin (macos-aarch64)
    Rustc  : 1.82.0 (f6e511ee 2024-10-15)

Ya
    Version: 0.3.3 (Homebrew 2024-09-04)

Emulator
    Emulator.via_env: ("xterm-256color", "iTerm.app")
    Emulator.via_csi: Ok(Iterm2)
    Emulator.detect : Iterm2

Adapter
    Adapter.matches: Iip

Desktop
    XDG_SESSION_TYPE           : None
    WAYLAND_DISPLAY            : None
    DISPLAY                    : Some("/private/tmp/com.apple.launchd.8RJzp8AkAx/org.xquartz:0")
    SWAYSOCK                   : None
    HYPRLAND_INSTANCE_SIGNATURE: None
    WAYFIRE_SOCKET             : None

SSH
    shared.in_ssh_connection: false

WSL
    WSL: false

Variables
    SHELL           : Some("/opt/homebrew/bin/fish")
    EDITOR          : None
    VISUAL          : None
    YAZI_FILE_ONE   : None
    YAZI_CONFIG_HOME: None
    YAZI_ZOXIDE_OPTS: None
    FZF_DEFAULT_OPTS: None

Text Opener
    default     : Some(Opener { run: "open \"$@\"", block: false, orphan: false, desc: "Default App", for_: None, spread: true })
    block-create: Some(Opener { run: "${EDITOR:=vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR", for_: None, spread: true })
    block-rename: Some(Opener { run: "${EDITOR:=vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR", for_: None, spread: true })

Multiplexers
    TMUX               : false
    tmux version       : tmux 3.5a
    tmux build flags   : enable-sixel=Unknown
    ZELLIJ_SESSION_NAME: None
    Zellij version     : No such file or directory (os error 2)

Dependencies
    file             : 5.41
    ueberzugpp       : No such file or directory (os error 2)
    ffmpegthumbnailer: No such file or directory (os error 2)
    pdftoppm         : 24.11.0
    magick           : No such file or directory (os error 2)
    fzf              : 0.56.3
    fd               : 10.2.0
    fdfind           : No such file or directory (os error 2)
    rg               : 14.1.1
    chafa            : No such file or directory (os error 2)
    zoxide           : No such file or directory (os error 2)
    7z               : No such file or directory (os error 2)
    7zz              : No such file or directory (os error 2)
    jq               : No such file or directory (os error 2)

Clipboard
    wl-copy/paste: No such file or directory (os error 2) / No such file or directory (os error 2)
    xclip        : No such file or directory (os error 2)
    xsel         : No such file or directory (os error 2)

--------------------------------------------------
When reporting a bug, please also upload the `yazi.log` log file - only upload the most recent content by time.
You can find it in the "/Users/goulejg1/.local/state/yazi" directory.

Yazi Log

  2024-11-19T20:23:08.678021Z  WARN yazi_adapter::emulator: [Adapter] No special environment variables detected
    at yazi-adapter/src/emulator.rs:73

  2024-11-19T20:23:08.678273Z  WARN yazi_adapter::adapter: [Adapter] Could not identify XDG_SESSION_TYPE
    at yazi-adapter/src/adapter.rs:108

  2024-11-19T20:23:08.680270Z  WARN yazi_adapter::ueberzug: ueberzugpp spawning failed: No such file or directory (os error 2)
    at yazi-adapter/src/ueberzug.rs:96

  2024-11-19T20:27:42.598520Z ERROR yazi_plugin::utils::log: "spawn `7z` and `7zz` both commands failed, error code: 2"
    at yazi-plugin/src/utils/log.rs:17

  2024-11-19T20:27:42.625892Z ERROR yazi_plugin::utils::log: "spawn `7z` and `7zz` both commands failed, error code: 2"
    at yazi-plugin/src/utils/log.rs:17

  2024-11-19T20:27:42.660127Z ERROR yazi_plugin::utils::log: "spawn `7z` and `7zz` both commands failed, error code: 2"
    at yazi-plugin/src/utils/log.rs:17

  2024-11-19T20:27:42.692524Z ERROR yazi_plugin::utils::log: "spawn `7z` and `7zz` both commands failed, error code: 2"
    at yazi-plugin/src/utils/log.rs:17

  2024-11-19T20:27:42.834835Z ERROR yazi_plugin::utils::log: "spawn `7z` and `7zz` both commands failed, error code: 2"
    at yazi-plugin/src/utils/log.rs:17

  2024-11-19T20:27:43.343617Z ERROR yazi_plugin::utils::log: "spawn `7z` and `7zz` both commands failed, error code: 2"
    at yazi-plugin/src/utils/log.rs:17

  2024-11-19T20:27:43.368260Z ERROR yazi_plugin::utils::log: "spawn `7z` and `7zz` both commands failed, error code: 2"
    at yazi-plugin/src/utils/log.rs:17


### Describe the bug

Holding down an arrow key (up, down, left, or right) will not repeatedly fire the expected command. Holding down 'h, j, k, l' repeated moves the navigation pane as expected.

### Minimal reproducer

1. Run yazi
2. Navigate to a directory with multiple files
3. Hold the arrow key down for 5+ seconds. Note that the selected file has only moved down once. 
4. Hold down 'j' for 5+ seconds. Note that the selected file continues to change.

### Anything else?

yazi works appropriately on the default 'Terminal' app

### Validations

- [X] I tried the [latest nightly build](https://yazi-rs.github.io/docs/installation#official-binaries), and the issue is still reproducible
- [X] I updated the debug information (`yazi --debug`) input box to the nightly that I tried
- [X] I can reproduce it after disabling all custom configs/plugins (`mv ~/.config/yazi ~/.config/yazi-backup`)
sxyazi commented 2 days ago

I can't reproduce it in iTerm2.

What's your iTerm2 version? Are you using the default settings for iTerm2? Do other terminals have the same problem?

sxyazi commented 2 days ago

Also a video would be great to see what exactly going on

gohma231 commented 1 day ago

An update was released from iterm2 that resolved this issue

sxyazi commented 1 day ago

Glad to see the issue got resolved.

Closing as its a bug with iTerm2 itself not Yazi