Comments (3)
While making a start on this I ran into some confusing results and ended up uncovering #4096; so I think this will result in a revamp of how ProgressBar
does the calculations even in the most simplistic of situations.
Some form of "please reset this ProgressBar
for reuse" method might also be a good idea.
from textual.
WiP on this has addressed #4096, but also uncovered a further issue where the ETAStatus
appeared to be updating when it wasn't necessary; this has now been identified and fixed too.
An updated method of calculating the ETA is now in place and seems to produce reasonable results; for constant-time progress the timer looks spot on; and for accelerating, decelerating and reasonably random progress the results look good too, and generally more/less optimistic/pessimistic where appropriate.
Work on this is having further knock-on effects on how the documentation screen shots are generated, and also their use in snapshot tests; this will likely need some more work on how the docs for ProgressBar
are handled, and might require removal of that code from snapshot tests. If the latter happens we'll need to do a bit of work on producing unit tests for the ETA calculation (which might require isolating the ETA code somewhat).
A question has also been raised about the newer approach taken to slide a window over the updates to perform the calculation.
+1d
from textual.
Don't forget to star the repository!
Follow @textualizeio for Textual updates.
from textual.
Related Issues (20)
- Emojis in command names HOT 1
- Input templates HOT 1
- `grid-rows: auto` does not consider height for rows that are spanned HOT 1
- Markdown Widget Lagging when Opening Large Files HOT 2
- Focussing a widget inside a tab should switch tabs HOT 4
- Command palette top option should be highlighted by default
- CommandPalette events HOT 2
- DataTable flickers on scrolling using cursor HOT 1
- Crash when using hot-reloading with new hatch CSS rule HOT 1
- `hatch: <type> <colour-name>` results in parsing error HOT 1
- Crash on pushing screen when a toast is active HOT 7
- Style(bgcolor="$success") results in an exception, same with Text("value", "bgcolor: $success") HOT 3
- Add feature: TCSS property font-size HOT 5
- Header Expansion HOT 6
- Color Palete HOT 1
- `pop_screen()` triggering randomly after hoovering buttons under heavy load HOT 12
- The type of dark attribute of class App might be inaccurate. (Reactive[bool] -> bool) HOT 5
- Broken Links in Reference/Widgets sections HOT 2
- Add tooltips to all input widgets HOT 1
- How to change text background on button click HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from textual.