linter-ui-default
linter-ui-default copied to clipboard
Duplicating Text Buffers
I have been having trouble with lines of text duplicating as I am editing Lua scripts. The text is not a part of the file, and will disappear if the line it is on is edited. This happens regularly for me in atom, and I have narrowed down the cause to the linter-ui-default package.
Here is a demonstration of the bug on a Lua script, with only linter packages enabled:

The text buffers with collapsed code appear are the only ones to duplicate. They do not duplicate on their own, but only occasionally when the script is scrolled through or edited. The duplicate text disappears if the line it appears on is edited, scrolled off screen or uncollapsed. Using the command in atom to collapse everything strangely also dismisses all duplicate text, despite the buffers it appears on always being lines where the code is already collapsed. I can repeat this bug in nearly all Lua scripts on my machine. I have also noticed the bug occuring when I'm editing Python, but not C++. I don't know how many other languages are affected or why.
I am running the latest version of atom 1.24.1 on Windows 10. I have gone through many updates to linter-ui-default and its dependencies, and have not seen this bug clear up. language-lua, linter, linter-luacheck and linter-ui-default are currently their most up to date version. The glitch occurs it seems even if I change theme, reset my config or reinstall atom. I do not have another machine to test if I can reproduce the bug on it.
I can confirm this bug while editing javascript files.
This appears to be an Atom rendering issue. Linter just happens to be using some marking APIs that make that Atom issue visible.
I could write a PoC package that makes a few markers using Atom API so you can test if the error is reproducable with the PoC package. If it is, it would be confirmed to be an Atom issue.
Linter or the default UI don't have any logic to manipulate editor text while the user scrolls.
Can those of you seeing this try Atom v1.26.0-beta0? This is likely fixed by https://github.com/atom/atom/pull/15831 which was first included in that build.