Skip to content

N°9455 - Feature removal - console screen behavior#924

Open
eespie wants to merge 4 commits into
developfrom
feature/uninstallation
Open

N°9455 - Feature removal - console screen behavior#924
eespie wants to merge 4 commits into
developfrom
feature/uninstallation

Conversation

@eespie
Copy link
Copy Markdown
Member

@eespie eespie commented Jun 1, 2026

Add a fast track button to the first setup screen to compile iTop with the current choices (only on update)

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 1, 2026

Greptile Summary

This PR adds a fast-track path from the setup welcome screen into the update compatibility check. The main changes are:

  • A “Keep current choices” setup form on update installations.
  • Direct navigation from the welcome step to WizStepLandingBeforeAudit.
  • Restoration of database, module, and extension choices for the skipped wizard path.
  • Setup context tags added to wizard and ajax setup entry points.
  • A new wizard pre-form display hook.

Confidence Score: 3/5

This should be fixed before merging.

  • The fast-track path skips part of the normal module-choice finalization.

  • Removed extensions can be lost before compatibility audit and cleanup.

  • The symlink setting can be changed silently during the fast-track audit compile.

  • setup/wizardsteps/WizStepLandingBeforeAudit.php

Important Files Changed

Filename Overview
setup/wizardsteps/WizStepLandingBeforeAudit.php Adds the fast-track state reconstruction, but misses some parameters normally produced by module-choice finalization.
setup/wizardsteps/WizStepWelcome.php Creates the setup token earlier and renders the update-only fast-track form.

Comments Outside Diff (1)

  1. setup/wizardsteps/WizStepLandingBeforeAudit.php, line 24 (link)

    P1 Symlink flag disabled

    On the fast-track form there is no use_symbolic_links checkbox field, so SaveParameter() stores the default from MFCompiler::UseSymbolicLinks() as a boolean. DataAuditSequencer later enables symlinks only when the parameter is exactly the string "on", so an existing true symlink setting is silently turned off for the compatibility compile. That makes the fast-track audit compile with copied files instead of the current symlink behavior.

Reviews (1): Last reviewed commit: "Setup fast track (keep current options)" | Re-trigger Greptile

Comment on lines +59 to +64
if ($this->oWizard->GetParameter('skip_wizard', false)) {
$oExtensionMap = new iTopExtensionsMap($oRuntimeEnv->GetBuildEnv());
$aExtensionsFromDatabase = $oExtensionMap->GetChoicesFromDatabase($oConfig);
$this->oWizard->SetParameter('selected_extensions', json_encode($aExtensionsFromDatabase));
$adModulesFromDatabase = ModuleInstallationRepository::GetInstance()->ReadComputeInstalledModules($oConfig);
$this->oWizard->SetParameter('selected_modules', json_encode(array_keys($adModulesFromDatabase)));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Extension diff missing

When the fast-track path is used, this branch only restores selected_extensions and selected_modules from the current database. It skips the normal GetAddedAndRemovedExtensions() finalization, so downstream audit and cleanup forms receive removed_extensions as the default empty list. If an installed extension is no longer present or should be treated as removed during the update, the compatibility compile and feature-removal flow can run without the required removal set and miss cleanup work before the upgrade continues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Work made by Combodo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants