-
Notifications
You must be signed in to change notification settings - Fork 43
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
feat: unify progress handling #1356
Conversation
95f1adb
to
666fa0e
Compare
* Use the same mechanism in product selection and installation. * Display the texts from the backend.
666fa0e
to
f0c5135
Compare
@@ -132,11 +132,11 @@ def probe | |||
logger.info "Probing software" | |||
|
|||
if repositories.empty? | |||
start_progress(3) | |||
start_progress_with_size(3) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this case the descriptions are known in advance. Should we use the with_descritptions
constructor?
}, [cancellablePromise, setSoftwareProgress, software]); | ||
if (!selectedProduct) { | ||
return; | ||
} | ||
|
||
if (status === IDLE) return <Navigate to="/" replace />; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably we could move this navigation to App
:
if (status === IDLE && location.pathname === "/products/progress") {
return <Navigate to="/" />;
}
So App would contain all the "routing" logic until we will improve the router usage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see your point, but it is not part of this PR and, most importantly, I am scared of breaking the navigation again 😅. I would keep it as it is until we fix the router usage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Prepare for releasing Agama 9. It includes the following pull requests: - #1101 - #1202 - #1228 - #1231 - #1236 - #1238 - #1239 - #1240 - #1242 - #1243 - #1244 - #1245 - #1246 - #1247 - #1248 - #1249 - #1250 - #1251 - #1252 - #1253 - #1254 - #1255 - #1256 - #1257 - #1258 - #1259 - #1260 - #1261 - #1264 - #1265 - #1267 - #1268 - #1269 - #1270 - #1271 - #1272 - #1273 - #1274 - #1279 - #1280 - #1284 - #1285 - #1286 - #1287 - #1288 - #1289 - #1290 - #1291 - #1292 - #1293 - #1294 - #1295 - #1296 - #1298 - #1299 - #1300 - #1301 - #1302 - #1303 - #1304 - #1305 - #1306 - #1307 - #1308 - #1309 - #1310 - #1311 - #1312 - #1313 - #1314 - #1315 - #1316 - #1317 - #1318 - #1319 - #1320 - #1321 - #1322 - #1323 - #1324 - #1325 - #1326 - #1328 - #1329 - #1331 - #1332 - #1334 - #1338 - #1340 - #1341 - #1342 - #1343 - #1344 - #1345 - #1348 - #1349 - #1351 - #1352 - #1353 - #1354 - #1355 - #1356 - #1357 - #1358 - #1359 - #1360 - #1361 - #1362 - #1363 - #1365 - #1366 - #1367 - #1368 - #1371 - #1372 - #1374 - #1375 - #1376 - #1379 - #1380 - #1381 - #1383 - #1384 - #1385 - #1386 - #1387 - #1388 - #1389 - #1391 - #1392 - #1394 - #1395 - #1397 - #1398 - #1399 - #1400 - #1403
Trello: https://trello.com/c/Miuvai6N/3706-5-better-progress-report-during-installation
The main goal of this PR is to implement a better mechanism for displaying progress in the web UI. It takes the product selection progress as inspiration but eliminates hardcoded values.
Progress API problem
When we designed the initial progress API, Agama was quite different. While working on this PR, we have identified a relevant problem: there is no way to have a subprogress in the same service.
The manager service defines the main steps (e.g., "Probing Software") and the details are just the progress from software and storage services (e.g., "Refreshing repositories metadata").
As a consequence, we cannot have a detailed "Configuring system" step at the end of the installation with its details (e.g., "Writing users"). You can only have either 1) a "Configuring system" with no details or several separate steps, which is too much.
In general, we are telling people that they can use the WS to track the progress, so we should decide on a stable API as soon as possible.
Screenshots
Installation progress
Product selection selection progress
As you may see in the following screenshot, some texts have been changed. The reason is that now it uses the texts from the backend. We should consider adjusting them.