Android App extreme slow after activating meta enryption

Passbolt: 5.1.1 (Docker)
Database: 10.5.28-MariaDB
Android-App: 2.0.0
Android-OS: 15

I have activated metadata encryption and migrated all entries. The browser extension continues to work perfectly. The Windows app took about 3-4 minutes to resynchronize. The Android app has been loading for over an hour now. I can’t see how far along it is, just the white circling icon. When I restart the app, some entries are visible and searchable, but the synchronization is still running.

Hello @frank2342,

Could you please provide Android app logs?

  1. Enable logs collection (i.e. on the sign in screen → question mark icon (top right) → enable logs)
  2. Sign in
  3. Please wait for about 30 seconds - that should be enough to do the first refresh
  4. Go to settings → logs → share
  5. Replace the backend instance URL if you don’t want to share it

Hi @mmichalek

here are the logs

Device: Google Pixel 8 Pro
Android 15 (35)
Passbolt 2.0.0-36

18:06:23 Last credentials are null - ignoring event
18:06:23 Last credentials are null - ignoring event
18:06:23 Event source is null or package is Passbolt - hiding overlay
18:06:24 Last credentials are null - ignoring event
18:06:30 Last credentials are null - ignoring event
18:06:32 Event source is null or package is Passbolt - hiding overlay
18:06:34 Passphrase cache cleared
18:06:34 Passphrase cached
18:06:35 --> POST https://*****/auth/jwt/refresh.json http/1.1 (105-byte body)
18:06:35 <-- 200 OK https://*****/auth/jwt/refresh.json (104ms, unknown-length body)
18:06:35 Last credentials are null - ignoring event
18:06:35 Last credentials are null - ignoring event
18:06:35 Refresh executor attaching to: com.passbolt.mobile.android.feature.home.screen.HomePresenter
18:06:35 This status refresh is already collected - skipping
18:06:36 Last credentials are null - ignoring event
18:06:36 Last credentials are null - ignoring event
18:07:32 Refresh executor detaching from: com.passbolt.mobile.android.feature.home.screen.HomePresenter
18:07:32 [Session] Detaching base networking presenter for HomeFragment{12c88b0} (383bde4a-2af3-4567-8f8c-e3f7e1a116db id=0x7f0a019d tag=4461a6b4-1a1c-4f67-9018-b28a9d815e45)
18:07:33 Last credentials are null - ignoring event
18:07:33 Event source is null or package is Passbolt - hiding overlay
18:07:33 Last credentials are null - ignoring event
18:07:35 Last credentials are null - ignoring event
18:07:35 Event source is null or package is Passbolt - hiding overlay
18:07:35 Last credentials are null - ignoring event
18:07:36 Last credentials are null - ignoring event
18:07:38 Event source is null or package is Passbolt - hiding overlay
18:07:38 Last credentials are null - ignoring event
18:07:39 Last credentials are null - ignoring event
18:07:39 Last credentials are null - ignoring event
18:07:39 Last credentials are null - ignoring event
18:07:39 Last credentials are null - ignoring event
18:07:39 Last credentials are null - ignoring event
18:07:39 Last credentials are null - ignoring event
18:07:39 Last credentials are null - ignoring event
18:07:39 Last credentials are null - ignoring event
18:07:39 Last credentials are null - ignoring event
18:07:45 Last credentials are null - ignoring event
18:07:48 Last credentials are null - ignoring event
18:07:48 Last credentials are null - ignoring event
18:07:48 Last credentials are null - ignoring event
18:07:48 Last credentials are null - ignoring event
18:07:48 Last credentials are null - ignoring event
18:07:48 Last credentials are null - ignoring event
18:07:48 Last credentials are null - ignoring event
18:07:53 Last credentials are null - ignoring event
18:07:53 Last credentials are null - ignoring event
18:07:53 Last credentials are null - ignoring event
18:07:53 Last credentials are null - ignoring event
18:07:53 Last credentials are null - ignoring event
18:07:53 Last credentials are null - ignoring event
18:07:53 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:54 Last credentials are null - ignoring event
18:07:55 Last credentials are null - ignoring event
18:07:55 Last credentials are null - ignoring event
18:07:56 Last credentials are null - ignoring event
18:07:56 Last credentials are null - ignoring event
18:07:56 Last credentials are null - ignoring event
18:07:56 Last credentials are null - ignoring event
18:07:56 Last credentials are null - ignoring event
18:07:56 Last credentials are null - ignoring event
18:07:56 Last credentials are null - ignoring event
18:07:58 Last credentials are null - ignoring event
18:07:58 Last credentials are null - ignoring event
18:07:58 Last credentials are null - ignoring event
18:07:58 Last credentials are null - ignoring event
18:07:58 Last credentials are null - ignoring event
18:07:58 Last credentials are null - ignoring event
18:07:59 Last credentials are null - ignoring event
18:07:59 Last credentials are null - ignoring event
18:07:59 Last credentials are null - ignoring event
18:07:59 Last credentials are null - ignoring event
18:07:59 Last credentials are null - ignoring event
18:08:00 Last credentials are null - ignoring event
18:08:00 Last credentials are null - ignoring event
18:08:00 Last credentials are null - ignoring event
18:08:00 Last credentials are null - ignoring event
18:08:00 Last credentials are null - ignoring event
18:08:01 Last credentials are null - ignoring event
18:08:03 Last credentials are null - ignoring event
18:08:03 Last credentials are null - ignoring event
18:08:03 Last credentials are null - ignoring event
18:08:03 Last credentials are null - ignoring event
18:08:03 Last credentials are null - ignoring event
18:08:03 Last credentials are null - ignoring event
18:08:04 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:08 Last credentials are null - ignoring event
18:08:09 Last credentials are null - ignoring event
18:08:09 Last credentials are null - ignoring event
18:08:09 Last credentials are null - ignoring event
18:08:09 Last credentials are null - ignoring event
18:08:10 Last credentials are null - ignoring event
18:08:14 Last credentials are null - ignoring event
18:08:14 Last credentials are null - ignoring event
18:08:32 Last credentials are null - ignoring event
18:08:32 Last credentials are null - ignoring event
18:08:32 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:34 Last credentials are null - ignoring event
18:08:37 Last credentials are null - ignoring event
18:08:37 Last credentials are null - ignoring event
18:08:37 Last credentials are null - ignoring event
18:08:37 Last credentials are null - ignoring event
18:08:37 Last credentials are null - ignoring event
18:08:38 Last credentials are null - ignoring event
18:08:38 Last credentials are null - ignoring event
18:08:38 Last credentials are null - ignoring event
18:08:38 Last credentials are null - ignoring event
18:08:39 Last credentials are null - ignoring event
18:08:39 Last credentials are null - ignoring event
18:08:39 Last credentials are null - ignoring event
18:08:52 Last credentials are null - ignoring event
18:08:52 Last credentials are null - ignoring event
18:08:53 Last credentials are null - ignoring event
18:08:53 Last credentials are null - ignoring event
18:08:53 Last credentials are null - ignoring event
18:08:55 Event source is null or package is Passbolt - hiding overlay
18:08:55 Last credentials are null - ignoring event
18:08:55 Last credentials are null - ignoring event
18:08:55 Last credentials are null - ignoring event
18:08:55 Last credentials are null - ignoring event
18:08:55 Last credentials are null - ignoring event
18:09:02 Last credentials are null - ignoring event
18:09:02 Last credentials are null - ignoring event
18:09:02 Last credentials are null - ignoring event
18:09:02 Last credentials are null - ignoring event
18:09:02 Last credentials are null - ignoring event
18:09:02 Last credentials are null - ignoring event
18:09:03 Last credentials are null - ignoring event
18:09:03 Last credentials are null - ignoring event
18:09:08 Last credentials are null - ignoring event
18:09:08 Last credentials are null - ignoring event
18:09:08 Last credentials are null - ignoring event
18:09:08 Last credentials are null - ignoring event
18:09:08 Last credentials are null - ignoring event
18:09:08 Last credentials are null - ignoring event
18:09:08 Last credentials are null - ignoring event
18:09:09 Last credentials are null - ignoring event
18:09:09 Last credentials are null - ignoring event
18:09:09 Last credentials are null - ignoring event
18:09:09 Last credentials are null - ignoring event
18:09:09 Last credentials are null - ignoring event
18:09:10 Last credentials are null - ignoring event
18:09:10 Last credentials are null - ignoring event
18:09:10 Last credentials are null - ignoring event

Here is another log. On tablet I haven’t deleted alls data. Just startet the app. It’s the same, the loading icon is circling. But at least it shows some more debug infos.

Device: Google Pixel Tablet
Android 15 (35)
Passbolt 2.0.0-36

18:45:25 Passphrase cache cleared
18:45:25 Passphrase cached
18:45:25 Getting server pgp and rsa keys
18:45:30 --> GET https://*****/auth/verify.json http/1.1
18:45:30 <-- 200 OK https://*****/auth/verify.json (257ms, unknown-length body)
18:45:30 --> GET https://*****/auth/jwt/rsa.json http/1.1
18:45:30 <-- 200 OK https://*****/auth/jwt/rsa.json (53ms, unknown-length body)
18:45:30 Getting server pgp and rsa keys succeeded
18:45:30 Checking if time adjustment is needed
18:45:30 Local time sync needed. Adjusted: -4
18:45:30 Verifying server fingerprint
18:45:30 Server key fingerprint is valid
18:45:30 Preparing sign in challenge
18:45:31 Prepared sign in challenge
18:45:31 Signing in
18:45:31 --> POST https://*****/auth/jwt/login.json http/1.1 (1651-byte body)
18:45:31 <-- 200 OK https://*****/auth/jwt/login.json (311ms, unknown-length body)
18:45:31 Sign in success
18:45:31 Decrypting challenge.
18:45:31 Challenge decrypted successfully
18:45:31 Verifying challenge
18:45:31 Challenge verified with success
18:45:31 Checking MFA status
18:45:31 MFA not required
18:45:31 Authentication success
18:45:32 Increasing sign in count
18:45:32 Fetching feature flags
18:45:32 --> GET https://*****/settings.json http/1.1
18:45:32 <-- 200 OK https://*****/settings.json (61ms, unknown-length body)
18:45:32 Feature flags fetched
18:45:32 RBAC available, fetching RBAC
18:45:32 Password expiry available, fetching expiry settings
18:45:32 Password policies available, fetching password policies settings
18:45:32 V5 metadata available, fetching v5 metadata types and keys settings
18:45:32 --> GET https://*****/rbacs/me.json http/1.1
18:45:32 <-- 200 OK https://*****/rbacs/me.json (111ms, unknown-length body)
18:45:32 --> GET https://*****/metadata/types/settings.json http/1.1
18:45:32 <-- 200 OK https://*****/metadata/types/settings.json (94ms, unknown-length body)
18:45:33 --> GET https://*****/password-policies/settings.json http/1.1
18:45:33 --> GET https://*****/metadata/keys/settings.json http/1.1
18:45:33 <-- 200 OK https://*****/metadata/keys/settings.json (135ms, unknown-length body)
18:45:33 <-- 200 OK https://*****/password-policies/settings.json (135ms, unknown-length body)
18:45:33 V5 metadata types and keys settings fetched
18:45:34 --> GET https://*****/password-expiry/settings.json http/1.1
18:45:34 <-- 200 OK https://*****/password-expiry/settings.json (99ms, unknown-length body)
18:45:34 Fetching user profile
18:45:34 --> GET https://*****/users/me.json http/1.1
18:45:34 <-- 200 OK https://*****/users/me.json (112ms, unknown-length body)
18:45:34 User profile updated successfully
18:45:34 [Session] Attaching base networking presenter for com.passbolt.mobile.android.feature.main.mainscreen.MainActivity@8152687
18:45:34 [Session] Listening for new session events
18:45:34 Checking in app review show parameters. Show mode is: ConsecutiveShow. Show interval start date: 2024-10-11. Sign in count is: 49. Should show review: false
18:45:34 [Session] Attaching base networking presenter for HomeFragment{60bd587} (b30a3308-6d57-4ff8-9bc1-143cb95a2c68 id=0x7f0a019d tag=85c6e21c-494f-4a6a-b502-f48ddfd14196)
18:45:34 [Session] Listening for new session events
18:45:34 Refresh executor attaching to: com.passbolt.mobile.android.feature.home.screen.HomePresenter
18:45:34 --> GET https://*****/avatars/view/3a5b9ae9-038e-4181-9532-62899dbfc95a/medium.jpg http/1.1
18:45:34 <-- HTTP FAILED: java.io.IOException: unexpected end of stream on https://*****/...
18:45:34 Full data refresh initiated
18:45:34 Session is valid for request
18:45:34 Passphrase session is valid for request
18:45:34 Running operation
18:45:35 --> GET https://*****/avatars/view/3a5b9ae9-038e-4181-9532-62899dbfc95a/medium.jpg http/1.1
18:45:35 <-- 200 OK https://*****/avatars/view/3a5b9ae9-038e-4181-9532-62899dbfc95a/medium.jpg (99ms, unknown-length body)
18:45:35 --> GET https://*****/avatars/view/3a5b9ae9-038e-4181-9532-62899dbfc95a/medium.jpg http/1.1
18:45:35 <-- 200 OK https://*****/avatars/view/3a5b9ae9-038e-4181-9532-62899dbfc95a/medium.jpg (114ms, unknown-length body)
18:45:35 --> GET https://*****/metadata/keys.json?contain%5Bmetadata_private_keys%5D=1 http/1.1
18:45:35 <-- 200 OK https://*****/metadata/keys.json?contain%5Bmetadata_private_keys%5D=1 (97ms, unknown-length body)
18:45:36 --> GET https://*****/metadata/session-keys.json http/1.1
18:45:36 <-- 200 OK https://*****/metadata/session-keys.json (54ms, unknown-length body)
18:45:36 Building session keys cache; Bundles count: 1
18:45:36 Decrypted session keys bundle
18:45:37 Merging session keys cache
18:45:37 Session keys cache loaded
18:45:37 --> GET https://*****/resource-types.json http/1.1
18:45:37 <-- 200 OK https://*****/resource-types.json (135ms, unknown-length body)
18:45:37 --> GET https://*****/users.json http/1.1
18:45:37 <-- 200 OK https://*****/users.json (134ms, unknown-length body)
18:45:38 --> GET https://*****/groups.json?contain%5Buser%5D=1 http/1.1
18:45:38 <-- 200 OK https://*****/groups.json?contain%5Buser%5D=1 (45ms, unknown-length body)
18:45:38 --> GET https://*****/folders.json?contain%5Bpermission%5D=1&contain%5Bpermissions.group%5D=1 http/1.1
18:45:38 <-- 200 OK https://*****/folders.json?contain%5Bpermission%5D=1&contain%5Bpermissions.group%5D=1 (146ms, unknown-length body)
18:45:39 --> GET https://*****/resources.json?contain%5Bpermission%5D=1&contain%5Bfavorite%5D=1&contain%5Btag%5D=1&contain%5Bpermissions.group%5D=1 http/1.1
18:45:39 <-- 200 OK https://*****/resources.json?contain%5Bpermission%5D=1&contain%5Bfavorite%5D=1&contain%5Btag%5D=1&contain%5Bpermissions.group%5D=1 (380ms, unknown-length body)
18:46:02 Refresh executor detaching from: com.passbolt.mobile.android.feature.home.screen.HomePresenter
18:46:02 [Session] Detaching base networking presenter for HomeFragment{60bd587} (b30a3308-6d57-4ff8-9bc1-143cb95a2c68 id=0x7f0a019d tag=85c6e21c-494f-4a6a-b502-f48ddfd14196)
18:48:25 App went background
18:48:25 Passphrase cache cleared
18:48:25 Exception during metadata decryption
java.lang.IllegalArgumentException: Passphrase not present in cache
	at com.passbolt.mobile.android.serializers.gson.MetadataDecryptor.getKeyAndPassphrase(SourceFile:107)
	at com.passbolt.mobile.android.serializers.gson.MetadataDecryptor.decryptMetadata(SourceFile:49)
	at com.passbolt.mobile.android.serializers.gson.ResourceListItemDeserializer$deserialize$1.invokeSuspend(SourceFile:97)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(SourceFile:33)
	at kotlinx.coroutines.DispatchedTask.run(SourceFile:104)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(SourceFile:277)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(SourceFile:95)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(SourceFile:69)
	at kotlinx.coroutines.BuildersKt.runBlocking(SourceFile:1)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(SourceFile:48)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(SourceFile:1)
	at com.passbolt.mobile.android.serializers.gson.ResourceListItemDeserializer.deserialize(SourceFile:74)
	at com.passbolt.mobile.android.serializers.gson.ResourceListDeserializer$deserialize$1.invokeSuspend(SourceFile:77)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(SourceFile:33)
	at kotlinx.coroutines.DispatchedTask.run(SourceFile:104)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(SourceFile:277)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(SourceFile:95)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(SourceFile:69)
	at kotlinx.coroutines.BuildersKt.runBlocking(SourceFile:1)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(SourceFile:48)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(SourceFile:1)
	at com.passbolt.mobile.android.serializers.gson.ResourceListDeserializer.deserialize(SourceFile:58)
	at com.passbolt.mobile.android.serializers.gson.ResourceListDeserializer.deserialize(SourceFile:42)
	at com.google.gson.internal.bind.TreeTypeAdapter.read(SourceFile:95)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(SourceFile:267)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(SourceFile:558)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(SourceFile:516)
	at retrofit2.converter.gson.GsonResponseBodyConverter.convert(SourceFile:40)
	at retrofit2.converter.gson.GsonResponseBodyConverter.convert(SourceFile:27)
	at retrofit2.OkHttpCall.parseResponse(SourceFile:246)
	at retrofit2.OkHttpCall$1.onResponse(SourceFile:156)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(SourceFile:519)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)

java.lang.IllegalArgumentException: Passphrase not present in cache
	at com.passbolt.mobile.android.serializers.gson.MetadataDecryptor.getKeyAndPassphrase(SourceFile:107)
	at com.passbolt.mobile.android.serializers.gson.MetadataDecryptor.decryptMetadata(SourceFile:49)
	at com.passbolt.mobile.android.serializers.gson.ResourceListItemDeserializer$deserialize$1.invokeSuspend(SourceFile:97)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(SourceFile:33)
	at kotlinx.coroutines.DispatchedTask.run(SourceFile:104)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(SourceFile:277)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(SourceFile:95)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(SourceFile:69)
	at kotlinx.coroutines.BuildersKt.runBlocking(SourceFile:1)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(SourceFile:48)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(SourceFile:1)
	at com.passbolt.mobile.android.serializers.gson.ResourceListItemDeserializer.deserialize(SourceFile:74)
	at com.passbolt.mobile.android.serializers.gson.ResourceListDeserializer$deserialize$1.invokeSuspend(SourceFile:77)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(SourceFile:33)
	at kotlinx.coroutines.DispatchedTask.run(SourceFile:104)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(SourceFile:277)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(SourceFile:95)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(SourceFile:69)
	at kotlinx.coroutines.BuildersKt.runBlocking(SourceFile:1)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(SourceFile:48)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(SourceFile:1)
	at com.passbolt.mobile.android.serializers.gson.ResourceListDeserializer.deserialize(SourceFile:58)
	at com.passbolt.mobile.android.serializers.gson.ResourceListDeserializer.deserialize(SourceFile:42)
	at com.google.gson.internal.bind.TreeTypeAdapter.read(SourceFile:95)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(SourceFile:267)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(SourceFile:558)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(SourceFile:516)
	at retrofit2.converter.gson.GsonResponseBodyConverter.convert(SourceFile:40)
	at retrofit2.converter.gson.GsonResponseBodyConverter.convert(SourceFile:27)
	at retrofit2.OkHttpCall.parseResponse(SourceFile:246)
	at retrofit2.OkHttpCall$1.onResponse(SourceFile:156)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(SourceFile:519)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
18:48:25 Invalid resource found id=(4b2a911a-05bf-4759-b763-c45260771a1d, skipping

Thank you for the logs. I can see that the initial sign-in and fetching configuration and data are fine. The interesting part is

18:45:39 <-- 200 OK https://*****/resources.json?contain%5Bpermission%5D=1&contain%5Bfavorite%5D=1&contain%5Btag%5D=1&contain%5Bpermissions.group%5D=1 (380ms, unknown-length body)
18:46:02 Refresh executor detaching from: com.passbolt.mobile.android.feature.home.screen.HomePresenter
18:46:02 [Session] Detaching base networking presenter for HomeFragment{60bd587} (b30a3308-6d57-4ff8-9bc1-143cb95a2c68 id=0x7f0a019d tag=85c6e21c-494f-4a6a-b502-f48ddfd14196)
18:48:25 App went background

It says that after resources had been fetched, they were being processed (decryption and local db insert) for 23 seconds, and then the app was backgrounded while still in progress. That means the application cache was not created as the processing part did not finish, so after the next start, the process begins from scratch. Lastly, can I also ask about the estimated resource count that you have?

You mean password entries in total? I estimate about 2500.

By the way, I have restored the database backup and everything is running as usual again for the time being.

1 Like

Yes, thank you for the information. I will come back with updates.

1 Like

I can report same effects on a recent Iphone installation, before also on the Android app.
I’ve tried it two times, once encrypting metadata on 5.1.0, then 5.1.1 - first time my own android app didn’t show resources, second time my android app worked, but a users iphone app stayed empty.
I’ve reverted both times to 5.0 without metadata encryption and sorry I didn’t take any logs.
About 1500 resources here.

1 Like

Hello - coming back with the update: we identified the bottleneck in both apps; Fixes will be deployed in the next release (2.1.0)

2 Likes

Thank you very much! I wonder why there was no big feedback on the community about this. It must have affected many people?