Sunil Mohan Adapa e039f9f061
upgrades: Show notification before, during, and after a dist upgrade
- Show a notification 60 days, 30 days, 1 week, and 1 day before distribution
upgrade. If a notification is dismissed for any of these periods don't show
again until new period starts. Override any previous notification.

- Show a notification just before the distribution upgrade showing that the
process has started. Override any previous notification.

- Show a notification after the distribution upgrade is completed that it is
done. Override any previous notification. Keep this until it is 60 days before
next distribution upgrade. If user dismisses the notification, don't show it
again.

Tests:

- Start a bookworm VM.

- Disable the auto updates. Set the date to 2025-08-01. Start the service.
Notification is not shown when distribution check is done. Enable auto updates.

- Set the date to 2025-07-01. Start the service. No notification is shown after
distribution upgrade check is run.

- Set the date to 2025-08-01. Start the service. Notification is shown when
distribution check is done. Clicking on the 'Go to Distribution Update' takes to
distribution update page.

- Set the date to 2025-08-02. Start the service. Notification is not updated
when distribution check is done. Dismiss the notification.

- Set the date to 2025-08-03. Start the service. Notification is not shown when
distribution check is done.

- Set the date to 2025-08-22. Start the service. Notification is shown when
distribution check is done. Dismiss the notification.

- Set the date to 2025-08-23. Start the service. Notification is not shown when
distribution check is done.

- Set the date to 2025-09-15. Start the service. Notification is shown when
distribution check is done.

- Set the date to 2025-09-18 18:00. Start the service. Notification is shown
when distribution check is done.

- Set the date to 2025-09-19 18:00. Start the service. Notification is shown
that distribution update has started. Distribution upgrade has started. Dismiss
this notification. Upgrade does not succeed to due timestamp miss matches with
release file.

- Once the distribution upgrade has started. Start the service. Notification is
not shown when distribution check is done.

- Rollback to a snapshot before distribution upgrade. Start the distribution
upgrade manually and notice that notification is not shown when distribution
check is done.

- Once the distribution upgrade has completed, start the service. Notification
is shown the distribution upgrade has completed when distribution check is done.
Dismiss this notification.

- Restart the service. Notification is not shown when distribution check is
done.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-04-06 09:37:59 -04:00
..