-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Work on the Progress Bar UI #247
Conversation
Some notes:
|
Co-authored-by: Itay Cohen <[email protected]>
Sometimes (especially on HDDs and similar slower hardware, and when datasets are large) the db is stuck in the 0/0 state for some time (double digit number of seconds). For me it's obvious that the DB is working, but it may be not obvious for users. The "spinning" element sends a clear (IMO) message that things are set in motion and that DB is working hard on giving some results. Even worse, when the users becomes impatient, they may click "query" again, and accidentally create a second similar query. This is another issue (or non-issue, depending on PoV), but clearer UI should solve it. But I'm not too attached to this particular spinner. Just want to be as clear as possible that the query is running, and not "stuck" when at 0/0. (Another quick idea - have min-width for progress bar and use animated style like bottom of https://getbootstrap.com/docs/4.0/components/progress/) |
Agree, I think it has become redundant. I'll remove it. |
recording.mp4Updated version. I've also moved matches to the left, and unified progress bar in the status page with the progess bar in the recents page (they are almost the same now). |
Your checklist for this pull request
What is the current behaviour?
This is my attempt to solve many of the issues plaguing our progress bar, including:
#64
#183
#193
What is the new behaviour?
Unfortunately, I'm very bad at UIs, and these are primarily UI fixes.
/recent
window a bit, to show query duration. I couldn't find a good place for it anywhere, so I've added it below the progress bar:First I've tried to solve this by adding more information (yay for 5 colors at once on one progress bar), but I saw the error of my ways, repented, and actually removed some information. See the result on the video below:
recording.mp4
The main addition is the spinner in the lower-left corner. It can be in one of the few states:
Collecting datasets...
- the query execution didn't start. Database doesn't even know how many datasets there are to query.Searching for candidates X/Y (nn%)
- mquery is querying ursadb for candidates. Yara matching is done in the background, and is shown on the progress bar (scaled by the percent of queried datasets - for example 50/100 files tested with 1/2 datasets queried = estimated 25% progress).Matching Yara X/Y (nn%)
- finally, the final step.The new behaviour is superior in many ways. For example, when ursadb is slower than mquery it shows progress (more) correctly:
Instead of the old behaviour:
I'm not sure if it looks good though. But at least I think it's more understandable?
Test plan
Clone this branch and ensure that progress bar works as expected.
Closing issues
fixes #64
fixes #183
fixes #193