-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Labels
Description
Currently, when a user’s license expires, the only option displayed is to renew. Based on user feedback, we want to introduce a more discoverable, reversible way to switch to the Free version while preserving the renewal-first UX and backup of the license key.
Benefits
- Preserves renewal-first behavior for users who may want to renew.
- Makes Free version discoverable after a reasonable grace period.
- Communicates that switching to Free is reversible.
- Minimal changes to the existing UI and l10n.
Proposed changes
-
Grace period for renewal-first UX
- For 28 days after license expiry, only the renewal path is shown.
- Yellow expired label remains:
"The license key you entered is expired. Please press the button below to renew your license."
-
After 28 days
- Append a hint string to the expired label:
"Alternatively, you can try the Free version for now — you can restore your license anytime." - Display a [Switch to Free version] button.
- Confirm action with a dialog explaining license backup:
"Switch to Free version?\nYour license key will be kept on this computer so you can renew it later at the discounted renewal price."
- Append a hint string to the expired label:
-
License backup & recovery
- Keep the expired license key in prefs when switching to Free version.
- Display a [Recover license key] button if a backup exists.
-
L10n entities
These are all strings related to license expiry / recovery. (qf.licenseValidation.expiredalready existed)
"qf.licenseBackup.confirmation": {
"message": "{P}Switch to Basic version?{br}Your license key will be kept on this computer so you can renew it later at the discounted {b}renewal price{/b}.{/P}{P}Thank you for having supported quickFilters — licenses make independent software development possible and help keep the project going. Even when expired, you can renew your license or upgrade from a Standard license anytime to use the {a class=features}Pro Features{/a} for a full year.{/P}"
},
"qf.licenseBackup.recover": { "message": "Recover license key" },
"qf.licenseBackup.recoverable": {
"message": "You can restore your previous license to get cheaper renewal conditions."
},
"qf.licenseBackup.restored": {
"message": "Your key was safely restored. Even though it expired, you can get a fresh key for a discount."
},
"qf.licenseBackup.switch": { "message": "Switch to Basic version" },
"qf.licenseValidation.expired": {
"message": "The license key you entered is expired. Please press the button below to renew your license."
},
"qf.licenseValidation.expired.freeHint": {
"message": "Alternatively, you can use the Basic version for now — you can still restore your license later."
},Reactions are currently unavailable