Commit Graph

186 Commits

Author SHA1 Message Date
Neil Marietta f3495d65c2 fix(account-manager): AccountManager remove/disable Account must not be cancelled by caller. 2024-05-15 16:37:13 +02:00
Mateusz Armatys 8fafd3f500 fix(user-recovery)!: Remove RecoverySecret from DB.
MIGRATION:
- Add `UserKeyDatabase.MIGRATION_1`.
2024-05-15 16:37:13 +02:00
Mateusz Armatys 3df23cfea1 feat!: Added Device Recovery Handler.
- If user has no recovery secret, create it and upload to BE.
- If there is no recovery file, create it and store locally.

MIGRATION:
- Add `DeviceRecoveryDatabase.MIGRATION_0`.
- Provide `DeviceRecoveryDatabase` via dagger.
- Add `RecoveryFileEntity` to your `@Database.entities`.
2024-05-15 16:37:12 +02:00
Neil Marietta 026e4dba0e
fix(user-settings): Unlock user if locked before changing password (e.g. Vpn). 2024-05-07 10:31:13 +02:00
Neil Marietta bbcc15eb6c fix(user): Removed Organization Keys support (deprecated). 2024-04-22 09:55:22 +00:00
dkadrikj 14570e364a fix(auth): Fix credless HV duplicate invocation. 2024-04-19 17:10:49 +02:00
dkadrikj 9817522ff1 feat(user,key): Add key reactivation. 2024-04-05 14:17:08 +02:00
Neil Marietta 375bded3e1 feat(account-recovery): Added AccountRecoveryInfo. 2024-03-14 12:13:48 +01:00
dkadrikj c59081321c feat(user-settings, key): Add reset user password. 2024-03-11 12:08:20 +01:00
Mateusz Armatys 90e5cf3f9f refactor(user): Add local and remote data sources for user repository. 2024-03-08 16:02:18 +00:00
Mateusz Armatys 8b6cf5e597 fix(user-settings, user): Avoid calling some API endpoints for credential-less users. 2024-03-08 16:02:18 +00:00
Mateusz Armatys b94fb01493 fix(auth, user): Pass sessionId of credential-less user when creating a regular account. 2024-03-07 13:03:16 +01:00
Neil Marietta c517bba3ee chore: Upgraded Kotlin to 1.9.22 (and needed dependencies). 2024-02-28 18:09:18 +00:00
Neil Marietta 14ca695e89 fix: AccountSettingsInfo fixes, refactor and adaptations. 2024-02-23 15:59:11 +00:00
Damir Mihaljinec e300de86c8 chore(user): Add user service and subscription check for Drive. 2024-02-22 12:26:18 +01:00
dkadrikj 50a8a4f5e6 feat(account-manager): Add settings signup/signin view. 2024-02-20 19:48:44 +01:00
Mateusz Armatys babb2879ea feat(payment): Add support for payments for credential-less users. 2024-02-19 11:36:47 +01:00
Neil Marietta 1c72136a24 feat!: Added CredentialLess Support.
DB Migrations:
- UserDatabase.MIGRATION_5: Added User.type.
- AccountDatabase.MIGRATION_7: Account.username nullable.
2024-02-13 15:08:04 +01:00
Mateusz Armatys e0986bb6a2 refactor(user): Methods to get used percentage of base (Mail), Drive and total space.
`User.getUsedBaseSpacePercentage`, `User.getUsedDriveSpacePercentage`, `User.getUsedTotalSpacePercentage`.
2024-02-01 16:52:02 +01:00
Mateusz Armatys b7c77cbcc7 fix(plugins-coverage): Exclude classes that end with `$DefaultImpls`.
Those classes are generated by Kotlin, e.g. when an interface method uses default values.
2024-02-01 12:16:56 +00:00
Neil Marietta 82be3754e6 feat: Added Custom Tabs support for LoginSso Activity. 2024-01-29 14:36:16 +00:00
Mateusz Armatys b0dc94313a feat(user-data): Add support for storage split in `UserSpaceEventListener`. 2024-01-15 16:07:30 +01:00
Mateusz Armatys ce89e608cb feat!: Add new fields into `User` (for storage split).
MIGRATION: UserDatabase.MIGRATION_4
2024-01-15 16:07:30 +01:00
dkadrikj 20d70b0e41 feat(user, key): Add recovery secret and recovery secret signature. 2024-01-15 12:41:13 +01:00
Mateusz Armatys cde18282f2 build(coverage): Set up min and max bounds for coverage. 2023-12-19 19:45:50 +01:00
Neil Marietta 27c3efe40f test(user): Added User Data tests. 2023-09-08 14:56:54 +02:00
Neil Marietta 49dcae911f test(user): Added User Domain tests. 2023-09-08 14:56:54 +02:00
Neil Marietta 018a6cbdfc refactor(user)!: Removed deprecated User API. 2023-09-08 14:56:54 +02:00
Marcin Simonides c1ebf4bdb6 feat(user)!: Added User creation time.
Migrations: UserDatabase.MIGRATION_3, AccountDatabase.MIGRATION_6.
2023-08-21 10:01:12 +00:00
Nicolas Mouchel 327e14a5cd feat(key): Decrypt and returns unverified key. 2023-07-17 09:26:28 +00:00
Mateusz Armatys 13dec4a3ee refactor(auth): Migrate sign-up metrics to Result API. 2023-07-10 11:48:59 +00:00
Neil Marietta 2e047f3009 refactor(auth): Migrated SignUp metrics to Result API. 2023-07-10 11:48:59 +00:00
Mateusz Armatys 1af8ab6815 refactor(auth, user): Migrate sign-up metrics to Result API. 2023-07-10 11:48:59 +00:00
Carlos Quintana 101aad39cb
chore(user): allow to configure refreshKeySalts on UserManager.unlock 2023-07-10 11:44:58 +02:00
Neil Marietta ebfa017f37 chore!: Upgraded AGP to 8.0.2 (+Java 17). 2023-07-04 16:22:38 +02:00
Neil Marietta 144ff648bd chore: Upgraded Kotlin to 1.8.10 (+Dagger 2.46.1, +Compose to 1.4.3, +AppCompat 1.6.1, +Lifecycle 2.6.1, +Robolectric 4.10.3). 2023-07-04 15:13:07 +02:00
Neil Marietta 935597e324 refactor: SessionManager now hold a Mutex for any session write (centralized).
Session is now separated into Authenticated and Unauthenticated.
2023-07-03 17:35:58 +02:00
Mateusz Armatys fb5030406e chore(observability): Additional label values for account creation. 2023-06-30 17:21:23 +02:00
Mateusz Armatys fe05b534b4 chore(crypto-android): Make `SrpCrypto` safe to call from main thread (and avoid ANR). 2023-06-30 12:24:31 +00:00
Neil Marietta 54b7552351 feat(user)!: Added User recovery property (UserDatabase.MIGRATION_2). 2023-06-14 14:26:26 +02:00
M. Thiercelin 1cdf9f5bb2 feat(user): Add signature context for new SKLs. 2023-05-10 09:12:11 +00:00
Mateusz Armatys 0eca3ff276 build: Rename `proton` extension name to `protonBuild`. 2023-05-09 12:10:17 +00:00
Mateusz Armatys 02a29d3160 build: Disable coverage in CoreExample and the top-level aggregating modules. 2023-05-04 11:07:23 +00:00
Neil Marietta c085941980 fix(auth): Improved EA to PA Conversion screen for edge cases.
When initial setup/fetch fail -> Added Snackbar with error message and retry Button.
When Username is already set -> Allow the postLogin process to continue.
Use Authenticated Session for public endpoints (getDomains, checkUsername).
Added Username input error help text ("This field is required.").
Improved Inputs & Buttons state handling.
2023-04-26 11:29:34 +02:00
M. Thiercelin 945b18f440 feat(user): Add SignedKeyListChangeListener for signup.
During signup, the app generates new address keys and
a new signed key list. To check that the KT state is correct
at that time, the user manager will call the
SignedKeyListChangeListener.
2023-04-13 10:41:31 +00:00
M. Thiercelin 1b62833d39 feat(user): Add key transparency values to model. 2023-04-13 10:41:31 +00:00
Neil Marietta 2ab7e6e9a2 fix(auth): Automatically switch from EA to PA on Proton domain. 2023-04-12 15:12:23 +00:00
Neil Marietta 0731162c9d chore: Added Cache4k (in-memory key-value, time-based/size-based evictions). 2023-04-12 15:12:23 +00:00
Damir Mihaljinec 38e161e6ff feat(user): Added User event listener that handles event which carries updated UserSpace. 2023-03-24 09:17:35 +01:00
dkadrikj b224f351b5 fix(key): Fix updating key passphrase error. 2023-03-17 12:02:31 +00:00