Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression: Can only scroll about one screen up before it stops #6397

Closed
aral opened this issue Mar 21, 2023 · 10 comments · Fixed by #6440
Closed

Regression: Can only scroll about one screen up before it stops #6397

aral opened this issue Mar 21, 2023 · 10 comments · Fixed by #6440
Labels
C-bug Category: This is a bug

Comments

@aral
Copy link
Contributor

aral commented Mar 21, 2023

Summary

When scrolling with the mouse wheel, I can only scroll up for about a screenful before it stops. I then have to click in the page again before I can scroll another screenful using the mouse wheel.

I noticed this after updating to the latest Helix today but I hadn’t updated in a bit so I don’t know exactly when the regression occurred.

Reproduction Steps

  1. Open a long piece of code

  2. Scroll down using the mouse wheel and notice that you can scroll without problems as much as you like (on my Logitech mouse, the mouse wheel as a mode where it spins freely so I can flick it, watch it keep scrolling and stop it when I’m where I want to be to quickly scroll).

  3. Scroll up using the mouse wheel and notice that it stops after about a screen’s worth of scrolling.

Workaround

Click anywhere in the terminal and scroll again. Rinse and repeat for every page you want to scroll up.

Helix log

No log statements output while scrolling.

Platform

Linux

Terminal Emulator

Tested in latest WezTerm and latest GNOME Console (it’s not the terminal)

Helix Version

22.12-443-g78613ac0

@aral aral added the C-bug Category: This is a bug label Mar 21, 2023
@pascalkuthe
Copy link
Member

I can not reproduce this. What settings are you using?

@pascalkuthe pascalkuthe added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Mar 22, 2023
@aral
Copy link
Contributor Author

aral commented Mar 24, 2023

@pascalkuthe I’m running on latest Fedora Silverblue (GNOME under Wayland)

Config file:

theme = "onelight"

[editor]
soft-wrap.enable = true
scroll-lines = 1
idle-timeout = 0
bufferline = "multiple"
color-modes = true
cursorline = true
auto-format = false
# rulers = [80]
# gutter = ["diagnostics", "spacer", "line-numbers", "spacer", "diff"]

[editor.statusline]
right = ["spinner", "selections", "mode"]
left = ["diagnostics", "file-name", "file-encoding", "position", "position-percentage"]
mode.normal = "NORMAL"
mode.insert = "INSERT"
mode.select = "SELECT"

[editor.indent-guides]
render = true

[editor.cursor-shape]
insert = "bar"

[editor.lsp]
auto-signature-help = false

[editor.whitespace.render]
space = "all"
tab = "all"
newline = "none"

[keys.normal]
C-s = ":write"
C-q = ":quit"
"'" = "save_selection"
S-tab = "jump_backward"
C-w = ":buffer-close"
C-z = "undo"
"C-a" = "signature_help"
C-x = "increment"
C-S-x = "decrement"

[keys.insert]
up = ["normal_mode", "move_line_up"]
down = ["normal_mode", "move_line_down"]
left = "move_char_left"
right = "move_char_right"
C-left = "move_prev_word_end"
C-right = "move_next_word_start"
end = "goto_line_end_newline"
home = "goto_line_start"
j = {k = "normal_mode"}
"C-a" = "signature_help"

[keys.select]
C-s = ":write"

[editor.file-picker]
hidden = false
parents = true

@aral
Copy link
Contributor Author

aral commented Mar 24, 2023

Here’s a video demonstrating the problem.

Between each click, I’m free spinning the scroll wheel to try and get to the top of the page. Previously, it would just freely scroll to the top.

Screencast.from.2023-03-24.09-52-20.webm

 
To contrast, here’s what scrolling down by free-spinning the mouse wheel (which works the same as it did previously) looks like:

Screencast.from.2023-03-24.09-54-37.webm

 
(This is with just one free spin of the wheel. Scrolling up used to have the same behaviour.)

@aral
Copy link
Contributor Author

aral commented Mar 24, 2023

@pascalkuthe Reverting this commit fixes the issue: 5c716af

(I’m sorry I’m not familiar enough with the codebase to narrow it down further but I hope this helps.) :)

Behaviour with one free spin of the mouse wheel after reverting the commit:

Screencast.from.2023-03-24.10-03-28.webm

@pascalkuthe
Copy link
Member

pascalkuthe commented Mar 24, 2023

Ah interesting I did discover further bugs in the scrolling. I still can't really reproduce this but I can imagine this only manifests with very particular scroll of/view height combinations.. Please try with #6417. If that fixes the issue I will try to back port that specific fix

@pascalkuthe pascalkuthe removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Mar 24, 2023
@aral
Copy link
Contributor Author

aral commented Mar 24, 2023

@pascalkuthe I can’t reproduce the bug with your inline-diagnostics branch (https://github.com/pascalkuthe/helix/tree/inline-diagnostics)

@pascalkuthe
Copy link
Member

pascalkuthe commented Mar 24, 2023

Great so I did stumble across the same bug :D I am going to post a PR with smaller fixes extracted from that branch to before the next release. I will include the fix for the scrolling. I will let you know once that PR is ready. Would be great if you could test again since I can't really reproduce locally

@aral
Copy link
Contributor Author

aral commented Mar 24, 2023

Would be great if you could test again since I can't really reproduce locally

Happy to :)

@pascalkuthe
Copy link
Member

Should be fixed by #6440, could you test to confirm?

@aral
Copy link
Contributor Author

aral commented Mar 25, 2023

@pascalkuthe Can confirm that I cannot reproduce the scroll wheel issue with e6b386f from the cherry-pick branch in #6440. Thanks, Pascal :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants