Commit Graph

28 Commits

Author SHA1 Message Date
78f403ff45 address code review comments 2025-02-18 14:50:09 -08:00
f9c7ead160 cmd: eliminate flickering with synchronized output 2025-02-17 20:01:03 -08:00
5930aaeb1a cmd: fix cursor flickering in progress bar
The previous commit fixed flickering in the progress bar itself. Cursor
flickering is harder to address.

Cursor flickering could be fixed by hiding the cursor altogether while
the progress bar is displayed. The downside of this is that if the
program is killed in such a way that it can't clean up its state, it
would leave the cursor invisible.

Instead, this commit introduces an output buffer. All of the escape
codes and content for a single progress update are written to a buffer,
which is then flushed to the terminal all at once. This significantly
decreases the time during which the terminal has seen the cursor-hiding
code but has not yet seen the cursor-showing code, thus minimizing (but
not 100% eliminating) cursor flickering.

For more context, see:
https://gitlab.gnome.org/GNOME/vte/-/issues/2837#note_2269501
2025-02-17 14:56:57 -08:00
faf67db089 cmd: fix progress bar flickering
Previous code cleared the display before writing new content, creating a
window where the terminal could (and in some cases did) render empty lines.

Instead, we now write new content over the old content, only clearing
the trailing end of lines for cases where the new line is shorter.

Fixes #1664
2025-02-17 13:39:02 -08:00
f7e3b9190f cmd: spinner progress for transfer model data (#6100) 2024-08-12 11:46:32 -07:00
b732beba6a lint 2024-08-01 17:06:06 -07:00
e40145a39d lint 2024-06-04 11:13:30 -07:00
1b272d5bcd change github.com/jmorganca/ollama to github.com/ollama/ollama (#3347) 2024-03-26 13:04:17 -07:00
2bb2bdd5d4 fix lint 2024-01-09 09:36:58 -08:00
424d53ac70 progress: fix bar rate 2023-11-28 11:44:56 -08:00
f2113c1fc7 fix potential error in progress bar calculation 2023-11-21 12:48:20 -05:00
6452e2ecb8 fix cases where progress bar would not be fixed size 2023-11-21 12:07:25 -05:00
aabd71aede fix rendering and variable width issues on progress bar 2023-11-21 10:02:37 -05:00
8c4022b06b fix initial progress stats 2023-11-20 14:33:46 -05:00
433702f421 hide progress stats on completion 2023-11-20 14:22:39 -05:00
f10ac5de19 restore stats updated every second to progress bar 2023-11-20 10:58:19 -05:00
6bbd6e26fb fix temporary newline created and removed with spinner in ollama run 2023-11-20 00:49:08 -05:00
e6ad4813d3 dont crash when redirecting stderr 2023-11-19 23:50:45 -05:00
258addc799 fix comment in progress.go 2023-11-19 13:46:19 -05:00
c06b9b7304 update progress rendering to be closer to v0.1.10 2023-11-19 13:43:21 -05:00
95b9acd324 improve pull percentage rendering 2023-11-19 11:00:43 -05:00
04cbf5ccc0 progress bar styling improvements 2023-11-19 09:54:33 -05:00
3cb07d2773 simplify StopAndClear 2023-11-17 10:26:22 -08:00
976068369b stop all spinners on progress stop 2023-11-17 10:06:19 -08:00
4d677ee389 no divide by zero 2023-11-17 10:06:19 -08:00
7ea905871a only move cursor up if pos > 0 2023-11-17 10:06:19 -08:00
4dcf7a59b1 generate progress 2023-11-17 10:06:19 -08:00
c4a3ccd7ac progress 2023-11-17 10:06:19 -08:00