Skip to content

Add "Clear saved customisation" button to App Options #1501

Merged
tdewey-rpi merged 1 commit into
raspberrypi:mainfrom
4RH1T3CT0R7:main
Feb 27, 2026
Merged

Add "Clear saved customisation" button to App Options #1501
tdewey-rpi merged 1 commit into
raspberrypi:mainfrom
4RH1T3CT0R7:main

Conversation

@4RH1T3CT0R7

Copy link
Copy Markdown
Contributor
  • Adds a "Clear" button in App Options to bulk-delete all saved OS customisation settings (hostname, WiFi, user credentials, locale, SSH)
  • Includes a confirmation dialog before clearing
  • Resolves the issue where users had no way to perform a clean fresh install without previously saved settings being silently reused

Fixes #1498

Changes

  • imagewriter.h / imagewriter.cpp — new clearSavedCustomisationSettings() method that removes all keys from the imagecustomization QSettings group
  • AppOptionsDialog.qml — new ImOptionButton + BaseDialog confirmation, following the existing confirmDisableWarnings pattern (including screen reader and
    keyboard navigation support)

@tdewey-rpi

Copy link
Copy Markdown
Collaborator

Thanks for the submission, @4RH1T3CT0R7 - I'm particularly impressed that you followed the pattern for screen reader support, and appear to have designed this carefully.

One thing we should consider, though: Users already had the ability to write an OS 'fresh' using the 'skip customisation' button. Do you have an opinion on whether that button is now effectively redundant?

Comment thread src/wizard/dialogs/AppOptionsDialog.qml Outdated
@lurch

lurch commented Feb 10, 2026

Copy link
Copy Markdown
Collaborator

It's not something that you've added @4RH1T3CT0R7 , but I've just noticed that our code has an awkward mix of "Customisation" / "Customization" spellings 😕 E.g. getSavedCustomisationSettings vs. imageSupportsCustomization
@tdewey-rpi Should we prefer one spelling in the code over the other, for consistency? (or am I just being too pedantic again?)

@lurch

lurch commented Feb 10, 2026

Copy link
Copy Markdown
Collaborator

One thing we should consider, though: Users already had the ability to write an OS 'fresh' using the 'skip customisation' button. Do you have an opinion on whether that button is now effectively redundant?

IMHO those two buttons serve different purposes - the "skip customisation" button is still the only way to skip all the customisation questions, and ensure that no customisations are applied to the image? Whereas this new button is just "forget my previously-used answers".

@tdewey-rpi

Copy link
Copy Markdown
Collaborator

One thing we should consider, though: Users already had the ability to write an OS 'fresh' using the 'skip customisation' button. Do you have an opinion on whether that button is now effectively redundant?

IMHO those two buttons serve different purposes - the "skip customisation" button is still the only way to skip all the customisation questions, and ensure that no customisations are applied to the image? Whereas this new button is just "forget my previously-used answers".

That's certainly how I saw it, but we don't have a metrics hook on the button, so I'm soliciting feedback from the author on if the alternative flow is clearer:

Before:

  • Press 'skip' at any stage
  • No explicit clear-everything button, clear stage-by-stage

After:

  • Explicit clear-everything button
  • Remove 'skip', to not customise clear-everything

@lurch

lurch commented Feb 10, 2026

Copy link
Copy Markdown
Collaborator

@4RH1T3CT0R7 I've just noticed that the commits in this PR include:

  • Handle overestimated extract sizes: switch to indeterminate progress for unexpected large writes and cap verification progress at 100%.
  • Revert "Handle overestimated extract sizes: switch to indeterminate progress for unexpected large writes and cap verification progress at 100%."

Could you squash the PR down to a single commit please? Thank you.

@4RH1T3CT0R7

Copy link
Copy Markdown
Contributor Author

@tdewey-rpi @lurch I agree with lurch's take here — the two buttons serve different purposes and should coexist. "Skip customisation" lets the user write an image with no customisations applied at all, while "Clear saved customisation" simply forgets previously saved answers, allowing the user to start fresh if they want to fill in new settings. Removing "Skip" would force users who don't want any customisation to manually clear everything, which is a worse experience. So I'd prefer to keep both buttons

@4RH1T3CT0R7

Copy link
Copy Markdown
Contributor Author

@4RH1T3CT0R7 I've just noticed that the commits in this PR include:

  • Handle overestimated extract sizes: switch to indeterminate progress for unexpected large writes and cap verification progress at 100%.
  • Revert "Handle overestimated extract sizes: switch to indeterminate progress for unexpected large writes and cap verification progress at 100%."

Could you squash the PR down to a single commit please? Thank you.

done

@tdewey-rpi

Copy link
Copy Markdown
Collaborator

Tested on macOS - a delightfully unobtrusive change.

@tdewey-rpi tdewey-rpi merged commit 3988000 into raspberrypi:main Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG]: can't delete cached metadata

3 participants