Firefox plugin on Android not syncing

I have been running Vaultwarden in Docker (Portainer) for some years. Last night, I just setup a new Android phone and noticed that I can sync with the Android app but sync fails with the Firefox plugin. I then tested sync on my other Android phone and got the same results. So the app is able to sync but not the Firefox add-on, on either phone.

I added debug logging to the Vaultwarden Portainer Stack config but I see no entries when I try to sync with the Firefox add-on from either Android device. However, I do see entries when I sync via the Android app.

I don’t know how long this has been happening (before or after last Vaultwarden update).

What’s odd is that it had to sync initially when I enabled the add-on in Firefox, right? I have tried syncing via Wi-Fi and VPN. I can sync the app with either connection but syncing the Firefox add-on fails with both connections. I do not sync over the Internet, only on my LAN.

Below is an excerpt from the log file:

[2023-10-12 06:57:49.247][response][INFO] (alive) GET /alive => 200 OK
[2023-10-12 06:58:46.017][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins
[2023-10-12 06:58:46.017][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2023-10-12 06:58:49.435][request][INFO] GET /alive
[2023-10-12 06:58:49.436][response][INFO] (alive) GET /alive => 200 OK
[2023-10-12 06:59:46.019][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins
[2023-10-12 06:59:46.019][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2023-10-12 06:59:49.636][request][INFO] GET /alive
[2023-10-12 06:59:49.638][response][INFO] (alive) GET /alive => 200 OK
[2023-10-12 07:00:46.021][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins
[2023-10-12 07:00:46.021][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2023-10-12 07:00:49.827][request][INFO] GET /alive
[2023-10-12 07:00:49.828][response][INFO] (alive) GET /alive => 200 OK
[2023-10-12 07:01:37.741][request][INFO] POST /identity/connect/token
[2023-10-12 07:01:37.748][response][INFO] (login) POST /identity/connect/token => 200 OK
[2023-10-12 07:01:38.106][request][INFO] POST /identity/connect/token
[2023-10-12 07:01:38.111][response][INFO] (login) POST /identity/connect/token => 200 OK
[2023-10-12 07:01:38.495][request][INFO] GET /api/config/
[2023-10-12 07:01:38.495][response][INFO] (config) GET /api/config => 200 OK
[2023-10-12 07:01:38.546][request][INFO] GET /api/config/
[2023-10-12 07:01:38.546][response][INFO] (config) GET /api/config => 200 OK
[2023-10-12 07:01:39.134][request][INFO] GET /api/accounts/revision-date
[2023-10-12 07:01:39.136][response][INFO] (revision_date) GET /api/accounts/revision-date => 200 OK
[2023-10-12 07:01:39.164][request][INFO] GET /api/config/
[2023-10-12 07:01:39.164][response][INFO] (config) GET /api/config => 200 OK
[2023-10-12 07:01:40.610][request][INFO] GET /api/accounts/revision-date
[2023-10-12 07:01:40.611][response][INFO] (revision_date) GET /api/accounts/revision-date => 200 OK
[2023-10-12 07:01:41.084][request][INFO] GET /api/config/
[2023-10-12 07:01:41.085][response][INFO] (config) GET /api/config => 200 OK
[2023-10-12 07:01:46.023][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins
[2023-10-12 07:01:46.023][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2023-10-12 07:01:50.015][request][INFO] GET /alive
[2023-10-12 07:01:50.015][response][INFO] (alive) GET /alive => 200 OK
[2023-10-12 07:02:05.273][request][INFO] GET /api/sync
[2023-10-12 07:02:05.384][response][INFO] (sync) GET /api/sync?<data..> => 200 OK
[2023-10-12 07:02:05.858][request][INFO] GET /api/config/
[2023-10-12 07:02:05.858][response][INFO] (config) GET /api/config => 200 OK
[2023-10-12 07:02:13.094][request][INFO] GET /api/config
[2023-10-12 07:02:13.094][response][INFO] (config) GET /api/config => 200 OK
[2023-10-12 07:02:44.271][request][INFO] GET /api/sync
[2023-10-12 07:02:44.347][response][INFO] (sync) GET /api/sync?<data..> => 200 OK
[2023-10-12 07:02:44.610][request][INFO] GET /api/config/
[2023-10-12 07:02:44.610][response][INFO] (config) GET /api/config => 200 OK
[2023-10-12 07:02:46.025][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins
[2023-10-12 07:02:46.025][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2023-10-12 07:02:50.213][request][INFO] GET /alive
[2023-10-12 07:02:50.213][response][INFO] (alive) GET /alive => 200 OK
[2023-10-12 07:03:16.026][vaultwarden::api::core::emergency_access][DEBUG] Start emergency_notification_reminder_job
[2023-10-12 07:03:16.027][vaultwarden::api::core::emergency_access][DEBUG] No emergency request reminder notification to send
[2023-10-12 07:03:46.027][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins
[2023-10-12 07:03:46.028][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2023-10-12 07:03:50.411][request][INFO] GET /alive
[2023-10-12 07:03:50.412][response][INFO] (alive) GET /alive => 200 OK

I can sync with the Firefox add-on on Windows PC’s.

Anyone have any ideas?


UPDATE (10/12/2023 7:21 AM EST):
I found that the self-host setting was empty. When I logged out of the Firefox add-on and tried to log back in, it failed. The server URL for the server was blank.

What could have removed this setting or caused it to not stick? It did this on both phones. I haven’t touched the settings on the older phone in at least a month.

I can recreate the issue by disabling wif-fi and connecting via VPN, on either phone. So this means anytime I switch connections, I have to re-select Self-host for the server, enter my server URL and account password each time I want to perform a sync. I also loose a couple of setting under Options.The Vautlwarden account email address is remembered so at least I don’t have to re-enter that. I use only the one URL as depicted in this image:

Not sure if this is a Vaultwarden, Firefox, or a Bitwarden add-on issue. Anyone have any ideas on how to figure out what’s causing this?