Send the error as a task argument

Note that if apptask dies, we will automatically restart the repair
task with the args.
This commit is contained in:
Girish Ramakrishnan
2019-09-22 22:50:33 -07:00
parent 0cd4f133aa
commit a89482d4fa
2 changed files with 10 additions and 8 deletions
+8 -7
View File
@@ -1060,13 +1060,14 @@ function run(appId, args, progressCallback, callback) {
case apps.ISTATE_PENDING_RESTORE:
return install(app, args, progressCallback, callback);
case apps.ISTATE_PENDING_REPAIR:
if (app.error.task.installationState === apps.ISTATE_PENDING_UNINSTALL) {
return uninstall(app, app.error.task.args, progressCallback, callback);
} else if (app.error.task.installationState === apps.ISTATE_PENDING_DATA_DIR_MIGRATION) {
return migrateDataDir(app, app.error.task.args, progressCallback, callback);
} else if (app.error.task.installationState === apps.ISTATE_PENDING_INSTALL
|| app.error.task.installationState === apps.ISTATE_PENDING_CLONE
|| app.error.task.installationState === apps.ISTATE_PENDING_RESTORE) {
let prevState = args.error && args.error.task ? args.error.task.installationState : apps.ISTATE_PENDING_CONFIGURE;
if (prevState === apps.ISTATE_PENDING_UNINSTALL) {
return uninstall(app, error.task.args, progressCallback, callback);
} else if (prevState === apps.ISTATE_PENDING_DATA_DIR_MIGRATION) {
return migrateDataDir(app, error.task.args, progressCallback, callback);
} else if (prevState === apps.ISTATE_PENDING_INSTALL
|| prevState === apps.ISTATE_PENDING_CLONE
|| prevState === apps.ISTATE_PENDING_RESTORE) {
return install(app, args, progressCallback, callback);
} else {
return configure(app, args, progressCallback, callback);