63 Commits
Author SHA1 Message Date
Rob Oblack 4fcafc7e42 Parse allowed products in org settings 2025-12-10 07:53:01 +00:00
Mateusz Armatys a44b79c533 chore: Update plugins and libraries.
AGP 8.9.1
Gradle 8.13
Dagger/Hilt 2.53.1
Jacoco to Cobertura 1.3.2
Room 2.7.2
Store 5.0.0
2025-09-18 17:05:30 +02:00
Mateusz Armatys 606b9b678c feat(device-migration): UI for showing QR code for sign-in. 2025-04-07 16:30:41 +02:00
Marcin Simonides 738ba26a27 fix: Update Cache4k to improve start time.
Old Cache4k uses old Stately library with some questionable choices that
causes slow initialization of IsoMutableMap and Cache objects. The new
version should be ok.
2025-04-03 10:14:32 +02:00
Mateusz Armatys 7e144c3026 feat(user-settings)!: Add new flag for Easy Device Migration.
MIGRATION: UserSettingsDatabase.MIGRATION_8.
2025-03-04 12:58:07 +01:00
Neil Marietta a16d576c70 refactor(auth): Refactored Global SSO workflows. 2024-10-08 18:25:02 +02:00
Neil MariettaandMargeBot 3fec6f03d2 refactor(auth): Various Global SSO screen/handling improvements. 2024-10-02 11:57:57 +00:00
Mateusz Armatys d6e61bcd18 refactor(user-settings, auth, observability): Refactor to use SecondFactorProof instead of the duplicate SecondFactorFido.kt. 2024-06-28 14:50:42 +02:00
dkadrikjandMateusz Armatys d4f0d5544d feat(user-settings, auth, observability): Add Fido2 observability for change password and recovery email. 2024-06-26 17:45:41 +02:00
dkadrikjandMateusz Armatys 028b00c322 feat(user-settings, auth): Integrate Fido2 when changing password. Update password change UI. 2024-06-26 17:06:33 +02:00
Mateusz Armatys 4008fc60c4 feat(auth): Add use case for performing 2FA with a FIDO2 security key. 2024-06-13 18:17:44 +02:00
Mateusz Armatys ab636f03fd feat(user-settings)!: Store info about FIDO2 in local DB.
- Store registered keys in `UserSettingsEntity`.
- Store FIDO2 auth options in `SessionDetailsEntity`.

MIGRATIONS:
- `AccountDatabase.MIGRATION_8`
- `UserSettingsDatabase.MIGRATION_7`
2024-05-16 12:08:54 +02:00
Mateusz Armatys 46893613c3 feat(user-settings)!: Add UserSettingsEntity.sessionAccountRecovery property.
MIGRATION: UserSettingsDatabase.MIGRATION_6.
2024-04-30 14:17:18 +02:00
Neil Marietta db6de90587 feat(user-recovery): Added User Recovery modules.
Added GetRecoveryFile/GetRecoveryPrivateKeys.
Added GetRecoveryInactivePrivateKeys.
Added DeviceRecoveryHandler/DeviceRecoveryHandlerInitializer.
2024-04-02 16:15:03 +02:00
Mateusz ArmatysandNeil Marietta 8b6cf5e597 fix(user-settings, user): Avoid calling some API endpoints for credential-less users. 2024-03-08 16:02:18 +00:00
dkadrikj 20d70b0e41 feat(user, key): Add recovery secret and recovery secret signature. 2024-01-15 12:41:13 +01:00
Neil MariettaandMargeBot e1347384ab feat(user-settings): Added Set Recovery Secret (+Worker). 2024-01-10 19:31:04 +00:00
dkadrikj 8b2ed272f0 feat(user-settings): Add device recovery user settings and FF. 2024-01-10 10:23:39 +01:00
Nicolas Mouchel 4f063142be chore(settings) Telemetry and CrashReports in Settings from user settings 2023-11-14 16:39:56 +00:00
Nicolas MouchelandMargeBot 47419576c8 feat(telemetry)!: Added Telemetry modules.
Migrations: TelemetryDatabase.MIGRATION_0 and UserSettingsDatabase.MIGRATION_3.
2023-09-14 10:57:42 +00:00
Neil Marietta ebfa017f37 chore!: Upgraded AGP to 8.0.2 (+Java 17). 2023-07-04 16:22:38 +02:00
Neil Marietta 2d1d7554ce refactor(usersettings)!: Removed unused properties: "invoiceText", "theme", "themeType", "welcome" and "flags_welcomed".
Migration: UserSettingsDatabase.MIGRATION_2.
2023-07-03 14:04:30 +00:00
Neil Marietta 170f99cdea fix(user-settings)!: Removed Organization vpnPlanName property.
NEW MIGRATION: OrganizationDatabase.MIGRATION_2.
2023-03-29 15:29:44 +00:00
Niccolò Forlini f7d23113cf test: Update existing unit tests. 2023-03-10 17:23:31 +00:00
Niccolò Forlini db035d7c24 refactor: Make ServerProof validation an usecase. 2023-03-10 17:23:31 +00:00
Neil Marietta ce6d8ee44a refactor: Added prefix and version to Proton endpoints (auth, keys, users, addresses, organizations, settings). 2023-02-21 09:06:53 +00:00
Mateusz Armatys b1c4e41746 test: Migrate tests to the new coroutines-test APIs. 2022-12-05 13:33:57 +00:00
Mateusz Armatys ae89fc06cf refactor: Add explicit coroutine scope for repositories for easier testing. 2022-12-05 13:33:57 +00:00
Neil Marietta cc379c4136 feat(user-settings): Added DeviceSettingsRepository (DeviceSettings: isTelemetryEnabled & isCrashReportEnabled). 2022-11-02 19:06:43 +01:00
Stefanija Boshkovska 804bfd6b93 fix: Use deserialize instead of deserializeOrNull in event listeners.
The goal is to prevent exceptions from being swallowed and to make issues easier to detect.
2022-10-12 23:49:40 +02:00
Marino Meneghel 34a6c9219b fix: Pass test dispatcher to runTest method.
This is to solve test failures which started happening after updating
AGP to 7.1.3 (error `Detected use of different schedulers..`)
2022-09-28 17:50:17 +02:00
Mateusz Armatys 9730dc01a6 test: Use TestDispatcherProvider when creating ApiProvider. 2022-07-27 18:41:21 +02:00
Mateusz Armatys d444094979 refactor: Use @Binds whenever possible (instead of @Provide). 2022-07-25 19:55:43 +02:00
Mateusz Armatys 749b6b488c Revert "Create Dagger module for all Core modules"
This reverts commit 94ca12a41e.
2022-07-25 19:53:13 +02:00
Jorge MartinandMargeBot 94ca12a41e Create Dagger module for all Core modules 2022-07-25 16:47:31 +00:00
Neil Marietta 09d446a23b refactor(user-setting): Removed deprecated UserSettings twoFA u2fKeys property. 2022-06-13 14:34:47 +00:00
Neil Marietta 929cd7b299 fix(user-setting): Updated UserSettings Boolean conversions to be more resilient to unexpected values from server. 2022-06-13 14:34:47 +00:00
Neil Marietta bb01f7f6c9 Refactored TestApiManager and ApiResultUtils. 2022-04-13 16:02:56 +02:00
Marino Meneghel 4f356450a3 Update UserSettingsRepositoryImplTest to consider changes to TestApiManager
Commit `3d280a1e3bd4` changed TestApiManager to return failure when the
executed block throws, which in turns required this test to be adapted
to consider this exception.
This should bring this test's assertion closer to checking what happens
at runtime, given that the "real" ApiManager is expected to wrap
exceptions in `ApiExceptions` as now TestApiManager does

MAILANDR-111
2022-03-31 12:17:11 +02:00
dkadrikj c9fc00e1af Add support styles and utils for plans redesign. 2022-02-18 15:52:09 +01:00
Marino Meneghel 3e2c9416c3 Extract TestApiManager to test module to avoid duplication
MAILANDR-48
2022-02-16 15:36:22 +01:00
Jorge Martin 5ce7ce5a3a Add ProtonStore to get the stack trace of a Store operation 2022-01-25 17:45:17 +01:00
marin thiercelin 25a05071ff Check SRP server proofs during user settings operations
Check the SRP server proof after SRP authentication
when changing user settings. Abort operation if it doesn't match.

CRYPTO-25
2022-01-07 16:38:20 +01:00
Jorge Martin b9b1e2fd8f Make EventListeners open 2021-12-29 12:38:18 +01:00
Neil Marietta 9cf66be008 Added EventManagerConfig parameter to all EventListener functions. 2021-11-18 13:35:50 +01:00
Neil Marietta 351fa5eb7b Added EventManager Domain/Data and Event Listeners.
Added EventManager LogTags.
Added EventManagerConfig and EventManagerConfigProvider.
Added EventWorkManager and EventManagerWorker.

Added UserEventListener.
Added UserAddressEventListener.
Added MailSettingsEventListener.
Added UserSettingsEventListener.
Added ContactEventListener.
Added ContactEmailsEventListener.

Added AppLifecycleObserver and AppLifecycleProvider.
2021-10-25 12:47:04 +02:00
Jorge Martín 5fc2de6837 Added IntEnum support for UserSettings 2021-09-20 17:12:30 +02:00
dkadrikj 67ccc4b7cd Bump dependencies version to 1.6. 2021-08-21 00:44:49 +02:00
Neil MariettaandDino Kadrikj 6a56670f70 Refactored Crypto related to change password. 2021-08-20 17:12:25 +00:00
dkadrikj 2d7ab4fa4e Cleanup and organize code.
Set organization name not null.
Update CHANGELOG.md.
2021-08-20 17:12:25 +00:00