micro-editor / micro-editor/micro

scrolling performance very slow (scrolling)

Open
#2,344 40 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
29.6k
Forks
1.4k
Avg merge
2d 18h
Merged PRs (30d)
10

Description

Description of the problem or steps to reproduce

Perhaps related to #1108
I ssh into another machine, then run micro on that device, open a somewhat large file (longer than one page) and use the arrow keys to scroll down, and down, and down past the first page (so it has to start updating the screen), then let go of the arrow key. It will continue to scroll, very slowly line by line, for a long time after you've stopped pressing down.

Specifications

The "server" is a laptop with an AMD E2-1800 APU, basically a 10 year old laptop so it's not very fast. But it is not running any graphics, and every other text editor I tried (namely nano, vim, and tilde), and I also tried locally on the laptop and the the same issue occurs on both Debian and Ubuntu. I forget if I tried it on CentOS.

Commit hash: Version: 2.0.8
OS: running Micro on Debian bullseye, connected to via SSH from both Ubuntu 21.10 and Android 12
Terminal: happens on both Tilix and GNOME Terminal (both VTE based), and kitty terminal on the desktop. As well as Termux and JuiceSSH on Android.

I am using zsh on both the host (server) and desktop and pretty sure Termux is running bash, but there doesn't seem to be a difference if I switch to bash on desktop. or on the server before running micro
Here's the issue happening on my 100 line .zshrc using Termux (Android app) using ssh to connect to the server. I enabled the option so you can see when I'm tapping, the scrolling is happening long after the taps have ceased.
https://user-images.githubusercontent.com/2936638/150813638-ccde2bdd-e1ac-4c86-ba2d-912421949670.mp4

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. First reproduce the delayed line-by-line scrolling with Micro 2.0.8 over SSH and locally on a large file, then trace the scrolling and screen-update path. Done means releasing the arrow key no longer leaves the editor scrolling for an extended period, including on the reported terminal and operating-system combinations.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.