Repository sync in tasks page shows percentage in 17 decimal points
Description of problem:
When we sync a repository and see the task status in the Monitor -> Tasks page, the percentage is not rounded off rather it shows up to 17 decimal points like "0.44999999999999996% Complete"
Steps to Reproduce:
1. Sync a larger repository (so that the sync doesn't complete quickly)
2. Go to Monitor -> Tasks page and select the repo sync tasks
3. Observe the increase in percent, it says 0.44999999999999996% Complete
Repo Sync tasks show % completion in up to 17 decimal points
It should be rounded to 2 digit.
Fixes #29203 - Fix an edge case with excessive progress precision
Before this patch we took a float in the range from 0 to 1, turned it into a
string with desired precision and then multiplied it with 100 to get the
percentage. However, this didn't really work for all inputs, because of the well
known issues when multiplying floats.
x = 0.004545454545454546
x.toFixed(4) * 100
parseFloat((x * 100).toFixed(2))