Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content

feat: add Murena SSO migration

Fahim M. Choudhury requested to merge 2097-murena-sso-users-migration into main

Description

This MR enables the user to migrate to Murena SSO.

Screenshots

Technical details

The entry point of the Murena SSO migration is on the BootCompletedReceiver. If the user is using Murena cloud (and not a custom Nextcloud instance), and has username and password-based authentication, then a non-dismissible notification is displayed, prompting the user to migrate to Murena SSO.

When clicked on the notification, MurenaSsoMigrationService kicks in and opens the UI to log in to Murena account.

When the migration is successful, the previous non-SSO Murena account is updated with SSO-based configuration, migration service is stopped, resulting in the notification being dismissed.

This migration doesn't apply to Murena accounts using custom Nextcloud instance.

Tests

  1. Log in using username and password in Account Manager bundled with the OS.
  2. Let os-bundled eDrive finish syncing files.
  3. Wait for sync to complete for Address Book, Calendar, Notes, Tasks, Mail.
  4. Install Account Manager from MR's pipeline artifact (debug or release — whichever applies to your device).
  5. Reboot device.
  6. After rebooting, observe a notification from Account Manager prompting you to switch to an improved login system.
  7. Click on the notification and observe Account Manager opens a new UI and is prompting you to provide a user ID.
  8. Observe that you cannot dismiss the notification.
  9. Complete login from browser and return to Account Manager
  10. Observe that the notification now disappears.
  11. Observe that eDrive doesn't start syncing files.
  12. Observe eDrive's sync works while adding, modifying, or deleting files.
  13. Observe that Address Book, Calendar, Notes, Tasks, Mail — all apps dependent on Account Manager are working without having to sync again.
  14. Now, reboot again.
  15. Observe that the notification is not there.
  16. Go to Account Manager and log out.
  17. Add Murena account and observe that the new SSO-based login is active.
  18. Observe that eDrive starts syncing all the files from your device.
  19. Observe that Address Book, Calendar, Notes, Tasks, Mail — all apps are resyncing their data.

For Murena accounts using custom Nextcloud instance, the feature is not applicable. Here's how to test it:

  1. Complete up to step 5.
  2. After rebooting, observe that the notification doesn't appear.

Issues

https://gitlab.e.foundation/e/os/backlog/-/issues/2097

10 commandments of code reviews

👪 ❤️ https://gitlab.e.foundation/internal/wiki/-/wikis/mobile-team/guidelines/Code-review

Edited by Fahim M. Choudhury

Merge request reports

Loading