ctongfei / progressbar

Terminal-based progress bar for Java / JVM
http://tongfei.me/progressbar/
MIT License
1.08k stars 103 forks source link

Latest version 0.9.1 cascading progressbars in Cygwin #100

Closed ghost closed 1 year ago

ghost commented 3 years ago

I just updated and noticed cascading progressbars. export TERM=cygwin or export TERM=xterm both have the same problem.
Also, from a Windows DOS box 0.9.1 is working. It looks like a Cygwin compatibility problem at this point to me.

I rolled back to 0.9.0 and all is working.

Task: 3% [====> ] 3/100 (0:00:01 / 0:00:33) Task: 7% [==========> ] 7/100 (0:00:02 / 0:00:27) ←[ Task: 14% [====================> ] 14/100 (0:00:03 / 0:00:18) ←[ Task: 23% [=================================> ] 23/100 (0:00:04 / 0:00:13) ←[ Task: 30% [===========================================> ] 30/100 (0:00:05 / 0:00:11) ←[ Task: 36% [====================================================> ] 36/100 (0:00:06 / 0:00:10) ←[ Task: 41% [===========================================================> ] 41/100 (0:00:07 / 0:00:10) ←[ Task: 52% [===========================================================================> ] 52/100 (0:00:08 / 0:00:07) ←[ Task: 59% [======================================================================================>] 59/100 (0:00:09 / 0:00:06) ←[

ctongfei commented 3 years ago

Can you try using the setMaxRenderedLength method on ProgressBarBuilder to set the max length in 0.9.1? And does it work in Windows WSL?

ghost commented 3 years ago

I'll test it out, however, this breaks previous versions the way it is in ProgressBar - meaning it is still a bug that needs to be addressed.

ctongfei commented 3 years ago

Yes it should be fixed, however I do not have a Windows machine at hand to debug and test -- the library itself is only tested under Linux and Mac OSX. The various windows shells are pretty hard to support (CMD/Cygwin/Powershell/WSL), though I guess that WSL should work out of the box since it is essentially Linux.

ghost commented 3 years ago

Yes, it works on WSL2 and Windows CMD.exe no problems. Many folks before WSL used Cygwin and MSYS and I can only imagine this breaking in those environments. People just need to know it is broken on Cygwin, otherwise it works well.

Maybe (wishful) Cygwin might fix their terminal cap. - I'm not a fan of Cygwin - despise it. However, many still use it.

ctongfei commented 3 years ago

Hmmm jline is updated from 3.16.0 to 3.19.0 from progressbar 0.9.0 to 0.9.1. This might be a regression on the jline side. One might try to force jline 3.16.0 in Maven dependency settings.

ghost commented 3 years ago

Hmmm jline is updated from 3.16.0 to 3.19.0 from progressbar 0.9.0 to 0.9.1. This might be a regression on the jline side. One might try to force jline 3.16.0 in Maven dependency settings.

Are you planning on reverting jline version to 3.16.0? Otherwise, I’ll wait until jline team fixes this problem. Has this problem been reported to them?

Avec112 commented 2 years ago

I have this problem with both CMD and Powershell on Win 7 but ok when running on Win 10.

Same issue with Progressbar 0.9.0 and 0.9.2 regarding jline.

ghost commented 1 year ago

This is now working fine in version 0.9.4 on Windows DOS Prompt and Cygwin. I'm on the latest version of Windows 10 Pro and Cygwin to date.