Strange behavior between .env and config.json for websocket activation #2506

Closed
opened 2026-04-06 03:46:09 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @sebtiz13 on 4/13/2021

Subject of the issue

I have strange behavior between .env and config.json for websocket activation.
I need to add "websocket_enabled": true" in config.json for websocket synchronisation work with firefox extension (I haven't check other browser extension)

Deployment environment

Your environment (Generated via diagnostics page)

  • Bitwarden_rs version: v1.20.0
  • Web-vault version: v2.19.0
  • Running within Docker: false
  • Uses a reverse proxy: true
  • IP Header check: true (X-Real-IP)
  • Internet access: true
  • Internet access via a proxy: false
  • DNS Check: true
  • Time Check: true
  • Domain Configuration Check: true
  • HTTPS Check: true
  • Database type: SQLite
  • Database version: 3.33.0
  • Clients used: Firefox extension
  • Reverse proxy and version: Nginx 1.14.2
  • Other relevant information: use Bitwarden binary on raspbery pi (raspbian) with systemd configuration

Config (Generated via diagnostics page)

{
  "_duo_akey": null,
  "_enable_duo": false,
  "_enable_email_2fa": false,
  "_enable_smtp": true,
  "_enable_yubico": true,
  "_ip_header_enabled": true,
  "admin_token": null,
  "allowed_iframe_ancestors": "",
  "attachments_folder": "data/attachments",
  "authenticator_disable_time_drift": false,
  "data_folder": "data",
  "database_max_conns": 10,
  "database_url": "****/**.*******",
  "db_connection_retries": 15,
  "disable_2fa_remember": false,
  "disable_admin_token": true,
  "disable_icon_download": false,
  "domain": "*****://*********.********.**/",
  "domain_origin": "*****://*********.********.**",
  "domain_path": "",
  "domain_set": true,
  "duo_host": null,
  "duo_ikey": null,
  "duo_skey": null,
  "email_attempts_limit": 3,
  "email_expiration_time": 600,
  "email_token_size": 6,
  "enable_db_wal": true,
  "extended_logging": true,
  "helo_name": null,
  "hibp_api_key": null,
  "icon_blacklist_non_global_ips": true,
  "icon_blacklist_regex": null,
  "icon_cache_folder": "data/icon_cache",
  "icon_cache_negttl": 259200,
  "icon_cache_ttl": 2592000,
  "icon_download_timeout": 10,
  "invitation_org_name": "Bitwarden_rs",
  "invitations_allowed": true,
  "ip_header": "X-Real-IP",
  "log_file": null,
  "log_level": "Info",
  "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
  "org_attachment_limit": null,
  "org_creation_users": "",
  "password_iterations": 100000,
  "reload_templates": false,
  "require_device_email": false,
  "rsa_key_filename": "data/rsa_key",
  "sends_folder": "data/sends",
  "show_password_hint": true,
  "signups_allowed": false,
  "signups_domains_whitelist": "",
  "signups_verify": false,
  "signups_verify_resend_limit": 6,
  "signups_verify_resend_time": 3600,
  "smtp_accept_invalid_certs": false,
  "smtp_accept_invalid_hostnames": false,
  "smtp_auth_mechanism": "LOGIN",
  "smtp_debug": false,
  "smtp_explicit_tls": true,
  "smtp_from": "*******@********.**",
  "smtp_from_name": "Bitwarden_RS",
  "smtp_host": "****.***.***",
  "smtp_password": "***",
  "smtp_port": 465,
  "smtp_ssl": true,
  "smtp_timeout": 15,
  "smtp_username": "*******@********.**",
  "templates_folder": "data/templates",
  "use_syslog": false,
  "user_attachment_limit": -1,
  "web_vault_enabled": true,
  "web_vault_folder": "web-vault/",
  "websocket_address": "0.0.0.0",
  "websocket_enabled": true,
  "websocket_port": 3012,
  "yubico_client_id": null,
  "yubico_secret_key": null,
  "yubico_server": null
}

In doubt this is my .env

ROCKET_PORT=XXXX
WEBSOCKET_ENABLED="true" # enable websocket

Steps to reproduce

When I have set WEBSOCKET_ENABLED="true" in .env the connection to websocket in web_vault work normally but doesn't have websocket synchronization with my firefox extension

If i edit the config.json file manually to add "websocket_enabled": true" after restart of service and manually synchronization in firefox extension the websocket synchronization with my firefox extension work

Expected behaviour

Work normally with just .env variables or when update configuration with admin page don't remove "websocket_enabled" in config.json

Actual behaviour

The Firefox extension don't receive websocket synchronization if "websocket_enabled" is not in config.json and update on configuration page overwrite the config.json without "websocket_enabled"

Troubleshooting data

In my console with webvault

[2021-04-13T20:52:26.807Z] Information: WebSocket connected to wss://..*/notifications/hub?access_token=eyJ0eX....XMEvcsQ.

Sorry i don't find how show eventually error of websocket in firefox extension

*Originally created by @sebtiz13 on 4/13/2021* <!-- # ### NOTE: Please update to the latest version of bitwarden_rs before reporting an issue! This saves you and us a lot of time and troubleshooting. See: * https://github.com/dani-garcia/bitwarden_rs/issues/1180 * https://github.com/dani-garcia/bitwarden_rs/wiki/Updating-the-bitwarden-image # ### --> <!-- Please fill out the following template to make solving your problem easier and faster for us. This is only a guideline. If you think that parts are unnecessary for your issue, feel free to remove them. Remember to hide/redact personal or confidential information, such as passwords, IP addresses, and DNS names as appropriate. --> ### Subject of the issue I have strange behavior between .env and config.json for websocket activation. I need to add `"websocket_enabled": true"` in config.json for websocket synchronisation work with firefox extension (I haven't check other browser extension) ### Deployment environment <!-- ========================================================================================= Preferably, use the `Generate Support String` button on the admin page's Diagnostics tab. That will auto-generate most of the info requested in this section. ========================================================================================= --> <!-- The version number, obtained from the logs (at startup) or the admin diagnostics page --> <!-- This is NOT the version number shown on the web vault, which is versioned separately from bitwarden_rs --> <!-- Remember to check if your issue exists on the latest version first! --> ### Your environment (Generated via diagnostics page) * Bitwarden_rs version: v1.20.0 * Web-vault version: v2.19.0 * Running within Docker: false * Uses a reverse proxy: true * IP Header check: true (X-Real-IP) * Internet access: true * Internet access via a proxy: false * DNS Check: true * Time Check: true * Domain Configuration Check: true * HTTPS Check: true * Database type: SQLite * Database version: 3.33.0 * Clients used: Firefox extension * Reverse proxy and version: Nginx 1.14.2 * Other relevant information: use Bitwarden binary on raspbery pi (raspbian) with systemd configuration ### Config (Generated via diagnostics page) ```json { "_duo_akey": null, "_enable_duo": false, "_enable_email_2fa": false, "_enable_smtp": true, "_enable_yubico": true, "_ip_header_enabled": true, "admin_token": null, "allowed_iframe_ancestors": "", "attachments_folder": "data/attachments", "authenticator_disable_time_drift": false, "data_folder": "data", "database_max_conns": 10, "database_url": "****/**.*******", "db_connection_retries": 15, "disable_2fa_remember": false, "disable_admin_token": true, "disable_icon_download": false, "domain": "*****://*********.********.**/", "domain_origin": "*****://*********.********.**", "domain_path": "", "domain_set": true, "duo_host": null, "duo_ikey": null, "duo_skey": null, "email_attempts_limit": 3, "email_expiration_time": 600, "email_token_size": 6, "enable_db_wal": true, "extended_logging": true, "helo_name": null, "hibp_api_key": null, "icon_blacklist_non_global_ips": true, "icon_blacklist_regex": null, "icon_cache_folder": "data/icon_cache", "icon_cache_negttl": 259200, "icon_cache_ttl": 2592000, "icon_download_timeout": 10, "invitation_org_name": "Bitwarden_rs", "invitations_allowed": true, "ip_header": "X-Real-IP", "log_file": null, "log_level": "Info", "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f", "org_attachment_limit": null, "org_creation_users": "", "password_iterations": 100000, "reload_templates": false, "require_device_email": false, "rsa_key_filename": "data/rsa_key", "sends_folder": "data/sends", "show_password_hint": true, "signups_allowed": false, "signups_domains_whitelist": "", "signups_verify": false, "signups_verify_resend_limit": 6, "signups_verify_resend_time": 3600, "smtp_accept_invalid_certs": false, "smtp_accept_invalid_hostnames": false, "smtp_auth_mechanism": "LOGIN", "smtp_debug": false, "smtp_explicit_tls": true, "smtp_from": "*******@********.**", "smtp_from_name": "Bitwarden_RS", "smtp_host": "****.***.***", "smtp_password": "***", "smtp_port": 465, "smtp_ssl": true, "smtp_timeout": 15, "smtp_username": "*******@********.**", "templates_folder": "data/templates", "use_syslog": false, "user_attachment_limit": -1, "web_vault_enabled": true, "web_vault_folder": "web-vault/", "websocket_address": "0.0.0.0", "websocket_enabled": true, "websocket_port": 3012, "yubico_client_id": null, "yubico_secret_key": null, "yubico_server": null } ``` In doubt this is my .env ```ini ROCKET_PORT=XXXX WEBSOCKET_ENABLED="true" # enable websocket ``` ### Steps to reproduce <!-- Tell us how to reproduce this issue. What parameters did you set (differently from the defaults) and how did you start bitwarden_rs? --> When I have set `WEBSOCKET_ENABLED="true"` in `.env` the connection to websocket in web_vault work normally but doesn't have websocket synchronization with my firefox extension If i edit the `config.json` file manually to add `"websocket_enabled": true"` after restart of service and manually synchronization in firefox extension the websocket synchronization with my firefox extension work ### Expected behaviour <!-- Tell us what you expected to happen --> Work normally with just `.env` variables or when update configuration with admin page don't remove "websocket_enabled" in `config.json` ### Actual behaviour <!-- Tell us what actually happened --> The Firefox extension don't receive websocket synchronization if "websocket_enabled" is not in `config.json` and update on configuration page overwrite the `config.json` without "websocket_enabled" ### Troubleshooting data <!-- Share any log files, screenshots, or other relevant troubleshooting data --> In my console with webvault > [2021-04-13T20:52:26.807Z] Information: WebSocket connected to wss://*********.********.**/notifications/hub?access_token=eyJ0eX....XMEvcsQ. Sorry i don't find how show eventually error of websocket in firefox extension
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/vaultwarden#2506