Add forced logout flow when the proxy is no longer available (#3458)

* Add `MatrixClient.isSlidingSyncProxySupported` function

* Update localazy strings

* Modify `ErrorDialog` to have an `onSubmit` call, which will be used for the submit action.

Also make the title text optional and dismissing the dialog by tapping outside/going back configurable.

* Check if a forced migration to SSS is needed because the proxy is no longer available.

In that case, display the non-dismissable dialog and force the user to log out after enabling SSS.

* Enable native/simplified sliding sync by default.

* Refactor the login to make sure we:

1. Always try native/simplified sliding sync login first, if available.
2. Then, if it wasn't available or failed with an sliding sync not supported error, try with the proxy instead (either discovered proxy or forced custom one).

* Move logic to `LoggedInPresenter` and the UI to `LoggedInView`

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
This commit is contained in:
Jorge Martin Espinosa 2024-09-16 11:13:02 +02:00 committed by GitHub
parent eae580422d
commit 03786c1fd2
79 changed files with 315 additions and 231 deletions

View file

@ -38,7 +38,6 @@
<string name="screen_recovery_key_confirm_error_content">"Будь ласка, спробуйте ще раз, щоб підтвердити доступ до резервної копії чату."</string>
<string name="screen_recovery_key_confirm_error_title">"Неправильний ключ відновлення"</string>
<string name="screen_recovery_key_confirm_key_description">"Якщо у вас є ключ безпеки або фраза безпеки, це теж спрацює."</string>
<string name="screen_recovery_key_confirm_key_label">"Ключ відновлення або код допуску"</string>
<string name="screen_recovery_key_confirm_key_placeholder">"Ввести…"</string>
<string name="screen_recovery_key_confirm_lost_recovery_key">"Загубили ключ відновлення?"</string>
<string name="screen_recovery_key_confirm_success">"Ключ відновлення підтверджено"</string>