[PM-868] Re-open app to item could crash the app (#2813)

* [PM-868] Check for previous page before loading vault. Remove exception throw.

* [PM-868] Continue to throw exceptions
This commit is contained in:
André Bispo 2023-10-04 15:48:04 +01:00 committed by GitHub
parent 71731bb9b7
commit b23f29511c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 14 deletions

View File

@ -130,24 +130,27 @@ namespace Bit.App.Pages
await LoadOnAppearedAsync(_mainLayout, false, async () =>
{
if (!_syncService.SyncInProgress || (await _cipherService.GetAllAsync()).Any())
if (_previousPage == null)
{
try
if (!_syncService.SyncInProgress || (await _cipherService.GetAllAsync()).Any())
{
await _vm.LoadAsync();
try
{
await _vm.LoadAsync();
}
catch (Exception e) when (e.Message.Contains("No key."))
{
await Task.Delay(1000);
await _vm.LoadAsync();
}
}
catch (Exception e) when (e.Message.Contains("No key."))
else
{
await Task.Delay(1000);
await _vm.LoadAsync();
}
}
else
{
await Task.Delay(5000);
if (!_vm.Loaded)
{
await _vm.LoadAsync();
await Task.Delay(5000);
if (!_vm.Loaded)
{
await _vm.LoadAsync();
}
}
}
await ShowPreviousPageAsync();

View File

@ -38,6 +38,10 @@ namespace Bit.iOS.Core.Renderers.CollectionView
// Do nothing in here, this is temporary to get more info about the crash, if the logger fails, we want to get the info
// by crashing with the original exception and not the logger one
}
if (ex is IndexOutOfRangeException)
{
return;
}
throw colEx;
}
}