fiso64 / slsk-batchdl

A batch downloader for Soulseek
GNU General Public License v3.0
233 stars 16 forks source link

Printed output broken in windows terminal and git bash (and possibly others) #55

Open fiso64 opened 2 months ago

fiso64 commented 2 months ago

Progress bars and percentage lines are often not updated and sometimes overlap in windows terminal once the last line is reached and the view needs to be scrolled. Pressing enter until the view in windows terminal starts to scroll, then starting sldl with a normal download with multiple tracks gives broken output.

In git bash, nothing is displayed at all.

The developer of the progress bar library used by sldl has no plans to fix it: https://github.com/goblinfactory/progress-bar/issues/3

I was unable to create a suitable alternative myself, nor find any library that

  1. Supports multiple bars at once and is thread-safe
  2. Supports continuously adding new bars
  3. Is reliable (e.g: does not misbehave when a bar is scrolled out of view)
  4. Works in all common terminals on both linux and windows
goblinfactory commented 1 week ago

hi @fiso64 Just a quick update; it's true that I have no plans to update the goblinfactory/progress-bar library; however I do still want to work on goblinfactory/konsole which includes a more stable progressBar, that works well in the latest alpha package, 7.0.0.7-alpha, however, not one that scrolls on non windows machines sadly. I'm working on quite a radical update to Konsole that will fix that problem which involves bringing out a whole high speed cross platform console writer, but have no timeline for a release because while Konsole has a lot of downloads and users, I've had very little 1 on 1 engagement or feedback directly with any users, meaning that there's no reason to put lots of effort into the project apart from the personal satisfaction of a job well done, and fixing a glaringly large hole in the .net ecosystem.

I'm updating the licence for Goblinfactory.Konsole (which has an improved progress bar) package for For version 7 and 8; but will be requiring that devs that use it must connect with me on Linkedin, mentioning Konsole when connecting, https://www.linkedin.com/in/goblinfactory/, so that I can know a little about, and connect with my userbase to help build a better product.

goblinfactory commented 1 week ago

@fiso64 if you switch to goblinfactory.konsole, version 7.0.0.7-alpha it's 100% compatible with the other progress bar, and will immediately fix any progress-bar issues on Windows.