Commit Graph

109 Commits

Author SHA1 Message Date
dkadrikj 519765b9bd Rename ServerConnectionListener.kt to ApiConnectionListener.kt,
ServerConnectionHandler.kt to ApiConnectionHandler.kt and
ServerConnectionException.kt to ApiConnectionException.kt
2021-11-22 15:01:26 +00:00
dkadrikj b69d40f9fb Update CHANGELOG.md and rename ServerConnectionListener.kt function. 2021-11-22 15:01:26 +00:00
dkadrikj 42b21ec123 renamed guesthole package into server connection 2021-11-22 15:01:26 +00:00
dkadrikj 5857b20674 Fix HV not showing when GH is active.
Address code review comments.
2021-11-22 15:01:26 +00:00
dkadrikj baf1e45f5e Fix for null path and query. 2021-11-22 15:01:26 +00:00
dkadrikj 7421141d26 Fix tests. 2021-11-22 15:01:26 +00:00
dkadrikj cb493af7a7 Add gues hole support into the network module. 2021-11-22 15:01:26 +00:00
Vincent Brison de3dbf4565 Bump previous release to retrigger release 2021-11-22 14:12:08 +01:00
Mateusz Armatys bc4ae3163e Version and changelog 2021-11-22 11:11:13 +01:00
Mateusz Armatys f0bee56b9f Put all API error codes in `ResponseCodes` class 2021-11-22 11:11:12 +01:00
Mateusz Armatys 18c3f298ca Move `ResponseCodes` into network-domain, since the API response codes are exposed in `ProtonData` class, which belongs to network-domain. 2021-11-22 11:11:12 +01:00
Mateusz Armatys 976b765024 Update default network timeout to 30 seconds 2021-11-22 11:11:12 +01:00
Vincent Brison cf68d236ab Bump versions 2021-10-12 10:13:16 +02:00
Vincent Brison 3197cb6570 Not throw if contact does not exist 2021-10-12 10:12:15 +02:00
Vincent Brison 43763f494c Fix tests
See CP-2739, CP-2742.
2021-10-08 11:47:28 +02:00
Benjamin Monjoie bd78d8069d Delay OkHttp's initialization
OkHttp's cache initialization is blocking the UI.
As per this trick: https://www.zacsweers.dev/dagger-party-tricks-deferred-okhttp-init/,
it should be better to initialize OkHttp in Retrofit's `callFactory` method.

This currently doesn't solve the issue with coroutines but has no downside either.
Indeed, the `callFactory` SAM is called on the `Dispatcher` which initiate the call.
It's often the `viewModelScope` which is using `Dispatchers.Main`.
Hopefully, an update to Retrofit will solve this issue.
2021-10-07 15:39:19 +00:00
Jorge Martín 102f40d3d6 Add Atlas Proxy for testing, ExtraHeaderProvider to add arbitrary headers to all requests 2021-10-06 09:31:42 +02:00
Jorge Martín 2680f84a34 Add log in ServerTimeInterceptor on Date parse failure 2021-10-05 09:18:28 +02:00
Jorge Martín 043f33c9d2 Add CacheOverride Tag for clients 2021-10-04 09:24:34 +00:00
Neil Marietta ae9280d50b KeyStoreCrypto fallback if Android KeyStore is not properly working. 2021-09-21 16:25:03 +02:00
Vincent Brison eae528716f Bump all libraries version to 1.15.0 2021-09-10 17:44:59 +02:00
Benjamin Monjoie befca10552 Fix UI tests are not passing anymore
Due to a breaking change in the experimental Duration API in Kotlin
1.5 and a conflict with inline classes and coroutine in the IR
compiler. I had to update several dependencies.

 * Fix tests won't run anymore by updating Kotlin (and dependencies)
    + turbine
 * Update Store4 since there was a breaking change in Kotlin 1.5's
   experimental Duration API on which Store4 relied
 * Fix some deprecated calls (toUppercase/toLowercase, capitalize,
   expectItem, ...)
2021-09-10 15:06:13 +02:00
Tomasz Giszczak 9b00781603 Add default cause value to ApiResult.Error and default potentialBlock value to ApiResult.Error.Connection to facilitate unit testing. 2021-08-19 09:15:15 +00:00
Neil Marietta a122d9e893 Added optional OkHttp Cache.
Removed isConnectedToNetwork check before trying a call.
2021-08-19 09:15:15 +00:00
Neil Marietta 4abe5d8f75 Fixed Network error retryable conditions. 2021-08-18 14:20:41 +02:00
Neil Marietta 664bcd6dbe Updated CHANGELOG.md and Modules version. 2021-08-13 15:38:08 +02:00
Neil Marietta a5bcf95dae Network: Added TooManyRequest error handling per Session. 2021-08-13 15:19:12 +02:00
Neil Marietta 4784644591 Added ServerTimeListener/ServerTimeInterceptor, updating PGPCrypto time. 2021-06-21 14:11:04 +02:00
Neil Marietta e1c07f1741 Added Force Update error 5005 (API too old). 2021-06-10 11:13:24 +02:00
Neil Marietta 1b7e6eb9e9 Fixed ClientId initialisation issue.
Added ClientIdProvider (rely on ProtonCookieStore).
2021-06-03 17:18:11 +02:00
Neil Marietta 646183da63 Refactored HumanVerification.
Never delete HumanVerification tokens except on Invalid Verification Code (error 12087).

HumanVerification Network Handlers:
- HumanVerificationNeededHandler: call onHumanVerificationNeeded on error 9001 (last of error handler list).
- HumanVerificationInvalidHandler: call onHumanVerificationInvalid (which delete token) on error 12087.
2021-06-03 17:18:11 +02:00
Mateusz Markowicz 2a8acfe6a7 Bump human verification and network versions 2021-05-31 12:44:29 +02:00
Mateusz Markowicz a0fa1fdb6f Emit current state with NetworkManager.observe() flow 2021-05-31 12:39:06 +02:00
dkadrikj 98ca99f9a6 Various improvements for Signup and Presentation.
Various improvements for User, Human Verification and Presentation modules.
Various improvements for User, Human Verification and Presentation modules.
Remove PayloadRequest.kt.
Update tests suite.
Remove not used files NewUser.kt and NewExternalEmailUser.kt
Take out create address from UserManager.kt
User emailSplit extension instead.
Introduce CreateUserType.kt
Move HumanVerificationResult handler into the ViewModel.
Fix wait to DB write HV ViewModel.
Improve SetupPrimaryKeys.kt.
Fix HV tests.
2021-05-12 21:07:28 +02:00
dkadrikj d41e19e28c Change network module to support refactored Human Verification module. 2021-05-12 17:57:14 +00:00
Neil Marietta 4ac8144f08 Added Refresh Session Scopes. 2021-04-07 11:35:06 +02:00
Neil Marietta 305c3a67f2 Fixed Human Verification race condition. 2021-03-25 16:06:55 +01:00
Neil Marietta 09c4afe41f Fixed Network refresh token race condition. 2021-03-25 16:05:59 +01:00
Neil Marietta f498bfd7a8 Bump network modules version. 2021-03-22 18:17:02 +01:00
dkadrikj 6f7b15f65b Add support for nullable UserId in ApiProvider getter. 2021-03-22 18:17:02 +01:00
Neil Marietta dbfa709923 Added ApiResult Extensions. 2021-03-22 18:17:02 +01:00
Neil Marietta 41146cda0f Bump modules and dependencies version for release 1.0.0.
Updated several README.md.
2021-02-11 17:35:03 +01:00
Neil Marietta 44d678acbb Moved Crypto/Key/User/Address classes from Auth to new modules. 2021-02-11 10:34:22 +01:00
Neil Marietta 92d945806a Integrated User/Address/Key into AccountManager DB. 2021-02-09 12:06:42 +01:00
dkadrikj 5391cb0bf6 Remove completed from Human Ver DAO, not used functions.
Smaller clean up and fixes.
2021-01-04 11:34:48 +01:00
dkadrikj 5a3666a946 Clean up of HumanVerification handler, DB schema and migration. 2020-12-30 18:13:53 +01:00
dkadrikj 5ea689020b Human verification improvements. 2020-12-30 15:24:19 +01:00
dkadrikj 6f83b48e36 Add support for the client to turn on or off support for cookies by passing null for the ApiFactory cookie store property. 2020-12-23 12:14:19 +01:00
dkadrikj 41d5cb8bf0 Refactor cert pins (npe on calendar). 2020-12-18 14:35:55 +01:00
dkadrikj 61ede449a8 Improve the way a client can pass different cert pins throughout a constructor. 2020-12-17 14:25:20 +01:00