Add OAuth login and logout for Murena.
Description
This MR adds support for logging into Murena account, as well as logging out from the browser when the account is removed.
For logout to work, we store the auth state in preferences and reuse it during logout. This approach was also used in our old account manager.
The following apps should work with these changes:
- Calendar
- Contacts
- Tasks
Screenshots
https://gitlab.e.foundation/e/os/backlog/-/issues/3511#note_717383
Technical details
Tests
Issues
https://gitlab.e.foundation/e/os/backlog/-/issues/3511
10 commandments of code review
Summary by CodeRabbit
-
New Features
- Added Murena account type with OAuth sign-in and sign-out.
- Introduced a dedicated Murena login screen with auto account creation; restricts device to a single Murena account.
- Enabled sync for Email, Media, Notes, App Data, and E‑Drive, alongside calendars, contacts, and tasks variants.
- Added a Murena account overview entry in sync preferences.
-
Enhancements
- Extended automatic sync handling to new data types.
- Improved back navigation during Murena login.
-
Chores
- CI now injects Murena configuration via environment variables.
Edited by CodeRabbitAI