Bulk items change collection membership #5873

Closed
opened 2026-03-07 20:41:11 -06:00 by GiteaMirror · 13 comments
Owner

Originally created by @gjelev on GitHub (Apr 2, 2025).

Originally assigned to: @BlackDex on GitHub.

Vaultwarden Support String

  • Vaultwarden version: v1.33.2-1
  • Web-vault version: voidc_override-v2025.1.1-5
  • OS/Arch: linux/x86_64
  • Running within a container: true (Base: Debian)
  • Database type: MySQL
  • Database version: 11.7.2-MariaDB-ubu2404
  • Environment settings overridden!: 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
  • Browser/Server Time Check: true
  • Server/NTP Time Check: n/a
  • Domain Configuration Check: true
  • HTTPS Check: true
  • Websocket Check: true
  • HTTP Response Checks: true

Config & Details (Generated via diagnostics page)

Show Config & Details

Config:

{
  "_duo_akey": null,
  "_enable_duo": false,
  "_enable_email_2fa": true,
  "_enable_smtp": true,
  "_enable_yubico": false,
  "_icon_service_csp": "",
  "_icon_service_url": "",
  "_ip_header_enabled": true,
  "_max_note_size": 10000,
  "_smtp_img_src": "***:",
  "admin_ratelimit_max_burst": 3,
  "admin_ratelimit_seconds": 300,
  "admin_session_lifetime": 20,
  "admin_token": "***",
  "allowed_connect_src": "",
  "allowed_iframe_ancestors": "",
  "attachments_folder": "data/attachments",
  "auth_request_purge_schedule": "30 * * * * *",
  "authenticator_disable_time_drift": false,
  "data_folder": "data",
  "database_conn_init": "",
  "database_max_conns": 10,
  "database_timeout": 30,
  "database_url": "*****://**:********************************************",
  "db_connection_retries": 15,
  "disable_2fa_remember": false,
  "disable_admin_token": false,
  "disable_icon_download": false,
  "domain": "*****://*******************",
  "domain_origin": "*****://*******************",
  "domain_path": "",
  "domain_set": true,
  "duo_context_purge_schedule": "30 * * * * *",
  "duo_host": null,
  "duo_ikey": null,
  "duo_skey": null,
  "duo_use_iframe": false,
  "email_2fa_auto_fallback": false,
  "email_2fa_enforce_on_verified_invite": false,
  "email_attempts_limit": 3,
  "email_change_allowed": false,
  "email_expiration_time": 600,
  "email_token_size": 6,
  "emergency_access_allowed": true,
  "emergency_notification_reminder_schedule": "0 3 * * * *",
  "emergency_request_timeout_schedule": "0 7 * * * *",
  "enable_db_wal": true,
  "enable_websocket": true,
  "enforce_single_org_with_reset_pw_policy": true,
  "event_cleanup_schedule": "0 10 0 * * *",
  "events_days_retain": null,
  "experimental_client_feature_flags": "fido2-vault-credentials",
  "extended_logging": true,
  "helo_name": null,
  "hibp_api_key": null,
  "http_request_block_non_global_ips": true,
  "http_request_block_regex": 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,
  "icon_redirect_code": 302,
  "icon_service": "internal",
  "incomplete_2fa_schedule": "30 * * * * *",
  "incomplete_2fa_time_limit": 3,
  "increase_note_size_limit": false,
  "invitation_expiration_hours": 72,
  "invitation_org_name": "Vaultwarden",
  "invitations_allowed": true,
  "ip_header": "X-Real-IP",
  "job_poll_interval_ms": 30000,
  "log_file": "/var/log/vaultwarden.log",
  "log_level": "info",
  "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
  "login_ratelimit_max_burst": 10,
  "login_ratelimit_seconds": 60,
  "org_attachment_limit": 102400,
  "org_creation_users": "***************************,********************************,*****************************",
  "org_events_enabled": false,
  "org_groups_enabled": true,
  "organization_invite_auto_accept": false,
  "password_hints_allowed": true,
  "password_iterations": 600000,
  "purge_incomplete_sso_nonce": "0 20 0 * * *",
  "push_enabled": false,
  "push_identity_uri": "https://identity.bitwarden.com",
  "push_installation_id": "***",
  "push_installation_key": "***",
  "push_relay_uri": "https://push.bitwarden.com",
  "reload_templates": false,
  "require_device_email": false,
  "rsa_key_filename": "data/rsa_key",
  "send_purge_schedule": "0 5 * * * *",
  "sendmail_command": null,
  "sends_allowed": true,
  "sends_folder": "data/sends",
  "show_password_hint": false,
  "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": null,
  "smtp_debug": false,
  "smtp_embed_images": true,
  "smtp_explicit_tls": null,
  "smtp_from": "*******************",
  "smtp_from_name": "Vault",
  "smtp_host": "******************",
  "smtp_password": "***",
  "smtp_port": 587,
  "smtp_security": "starttls",
  "smtp_ssl": null,
  "smtp_timeout": 15,
  "smtp_username": "*******************",

  "templates_folder": "data/templates",
  "tmp_folder": "data/tmp",
  "trash_auto_delete_days": 14,
  "trash_purge_schedule": "0 5 0 * * *",
  "use_sendmail": false,
  "use_syslog": false,
  "user_attachment_limit": 10240,
  "user_send_limit": 10240,
  "web_vault_enabled": true,
  "web_vault_folder": "/web-vault_override",
  "yubico_client_id": null,
  "yubico_secret_key": null,
  "yubico_server": null
}


### Vaultwarden Build Version

1.33.2

### Deployment method

Official Container Image

### Custom deployment method

_No response_

### Reverse Proxy

nginx

### Host/Server Operating System

Linux

### Operating System Version

_No response_

### Clients

Web Vault

### Client Version

_No response_

### Steps To Reproduce

1. Go to vault
2. Mark 2 or more items
3. Click on ... and choose Assign collections
4. Choose another collection(s) and remove the current one
5. Click OK
6. Error

![Image](https://github.com/user-attachments/assets/e9bee86a-242e-4560-8de2-896ec6dc23cc)

### Expected Result

The items to be in the new collections and to not persist in removed one


### Actual Result

Error

![Image](https://github.com/user-attachments/assets/bfd4a806-33ab-419d-bc04-e88d6a801090)

### Logs

```text

Screenshots or Videos

No response

Additional Context

No response

Originally created by @gjelev on GitHub (Apr 2, 2025). Originally assigned to: @BlackDex on GitHub. ### Vaultwarden Support String * Vaultwarden version: v1.33.2-1 * Web-vault version: voidc_override-v2025.1.1-5 * OS/Arch: linux/x86_64 * Running within a container: true (Base: Debian) * Database type: MySQL * Database version: 11.7.2-MariaDB-ubu2404 * Environment settings overridden!: 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 * Browser/Server Time Check: true * Server/NTP Time Check: n/a * Domain Configuration Check: true * HTTPS Check: true * Websocket Check: true * HTTP Response Checks: true ### Config & Details (Generated via diagnostics page) <details><summary>Show Config & Details</summary> **Config:** ```json { "_duo_akey": null, "_enable_duo": false, "_enable_email_2fa": true, "_enable_smtp": true, "_enable_yubico": false, "_icon_service_csp": "", "_icon_service_url": "", "_ip_header_enabled": true, "_max_note_size": 10000, "_smtp_img_src": "***:", "admin_ratelimit_max_burst": 3, "admin_ratelimit_seconds": 300, "admin_session_lifetime": 20, "admin_token": "***", "allowed_connect_src": "", "allowed_iframe_ancestors": "", "attachments_folder": "data/attachments", "auth_request_purge_schedule": "30 * * * * *", "authenticator_disable_time_drift": false, "data_folder": "data", "database_conn_init": "", "database_max_conns": 10, "database_timeout": 30, "database_url": "*****://**:********************************************", "db_connection_retries": 15, "disable_2fa_remember": false, "disable_admin_token": false, "disable_icon_download": false, "domain": "*****://*******************", "domain_origin": "*****://*******************", "domain_path": "", "domain_set": true, "duo_context_purge_schedule": "30 * * * * *", "duo_host": null, "duo_ikey": null, "duo_skey": null, "duo_use_iframe": false, "email_2fa_auto_fallback": false, "email_2fa_enforce_on_verified_invite": false, "email_attempts_limit": 3, "email_change_allowed": false, "email_expiration_time": 600, "email_token_size": 6, "emergency_access_allowed": true, "emergency_notification_reminder_schedule": "0 3 * * * *", "emergency_request_timeout_schedule": "0 7 * * * *", "enable_db_wal": true, "enable_websocket": true, "enforce_single_org_with_reset_pw_policy": true, "event_cleanup_schedule": "0 10 0 * * *", "events_days_retain": null, "experimental_client_feature_flags": "fido2-vault-credentials", "extended_logging": true, "helo_name": null, "hibp_api_key": null, "http_request_block_non_global_ips": true, "http_request_block_regex": 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, "icon_redirect_code": 302, "icon_service": "internal", "incomplete_2fa_schedule": "30 * * * * *", "incomplete_2fa_time_limit": 3, "increase_note_size_limit": false, "invitation_expiration_hours": 72, "invitation_org_name": "Vaultwarden", "invitations_allowed": true, "ip_header": "X-Real-IP", "job_poll_interval_ms": 30000, "log_file": "/var/log/vaultwarden.log", "log_level": "info", "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f", "login_ratelimit_max_burst": 10, "login_ratelimit_seconds": 60, "org_attachment_limit": 102400, "org_creation_users": "***************************,********************************,*****************************", "org_events_enabled": false, "org_groups_enabled": true, "organization_invite_auto_accept": false, "password_hints_allowed": true, "password_iterations": 600000, "purge_incomplete_sso_nonce": "0 20 0 * * *", "push_enabled": false, "push_identity_uri": "https://identity.bitwarden.com", "push_installation_id": "***", "push_installation_key": "***", "push_relay_uri": "https://push.bitwarden.com", "reload_templates": false, "require_device_email": false, "rsa_key_filename": "data/rsa_key", "send_purge_schedule": "0 5 * * * *", "sendmail_command": null, "sends_allowed": true, "sends_folder": "data/sends", "show_password_hint": false, "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": null, "smtp_debug": false, "smtp_embed_images": true, "smtp_explicit_tls": null, "smtp_from": "*******************", "smtp_from_name": "Vault", "smtp_host": "******************", "smtp_password": "***", "smtp_port": 587, "smtp_security": "starttls", "smtp_ssl": null, "smtp_timeout": 15, "smtp_username": "*******************", "templates_folder": "data/templates", "tmp_folder": "data/tmp", "trash_auto_delete_days": 14, "trash_purge_schedule": "0 5 0 * * *", "use_sendmail": false, "use_syslog": false, "user_attachment_limit": 10240, "user_send_limit": 10240, "web_vault_enabled": true, "web_vault_folder": "/web-vault_override", "yubico_client_id": null, "yubico_secret_key": null, "yubico_server": null } ### Vaultwarden Build Version 1.33.2 ### Deployment method Official Container Image ### Custom deployment method _No response_ ### Reverse Proxy nginx ### Host/Server Operating System Linux ### Operating System Version _No response_ ### Clients Web Vault ### Client Version _No response_ ### Steps To Reproduce 1. Go to vault 2. Mark 2 or more items 3. Click on ... and choose Assign collections 4. Choose another collection(s) and remove the current one 5. Click OK 6. Error ![Image](https://github.com/user-attachments/assets/e9bee86a-242e-4560-8de2-896ec6dc23cc) ### Expected Result The items to be in the new collections and to not persist in removed one ### Actual Result Error ![Image](https://github.com/user-attachments/assets/bfd4a806-33ab-419d-bc04-e88d6a801090) ### Logs ```text ``` ### Screenshots or Videos _No response_ ### Additional Context _No response_
GiteaMirror added the bug label 2026-03-07 20:41:11 -06:00
Author
Owner

@gjelev commented on GitHub (Apr 2, 2025):

Image

@gjelev commented on GitHub (Apr 2, 2025): ![Image](https://github.com/user-attachments/assets/ba3fadd4-2f9f-4b54-ba90-d346ba6d8cb6)
Author
Owner

@stefan0xC commented on GitHub (Apr 2, 2025):

Could you please give more information about how to reproduce this?

The error message says "Bulk removing of collections is not yet implemented" which is called here:
8dfe805954/src/api/core/organizations.rs (L1905-L1909)

But I don't know what to do to get the web-vault to send removeCollections: true to the /api/ciphers/bulk-collections endpoint. (It seems like there are some other issues with this endpoint which we have to fix but that would be unrelated to the error message you've posted.)

@stefan0xC commented on GitHub (Apr 2, 2025): Could you please give more information about how to reproduce this? The error message says "Bulk removing of collections is not yet implemented" which is called here: https://github.com/dani-garcia/vaultwarden/blob/8dfe805954753099e811f6430b2b12de07d0f70b/src/api/core/organizations.rs#L1905-L1909 But I don't know what to do to get the web-vault to send `removeCollections: true` to the `/api/ciphers/bulk-collections` endpoint. (It seems like there are some other issues with this endpoint which we have to fix but that would be unrelated to the error message you've posted.)
Author
Owner

@gjelev commented on GitHub (Apr 2, 2025):

Steps to reproduce:

  1. Mark 2 or more items and choose ...

  2. Click on Assign to collections
    Image

  3. Choose another collection

Image

  1. Remove the original collection and keep only the new one

Image

5.Choose "Assign"

Image

  1. Error message

Image

@gjelev commented on GitHub (Apr 2, 2025): Steps to reproduce: 1. Mark 2 or more items and choose ... 2. Click on Assign to collections ![Image](https://github.com/user-attachments/assets/fa58a15b-2192-42d7-8fd2-c501a6d3ee9f) 3. Choose another collection ![Image](https://github.com/user-attachments/assets/9e082a8f-9ab8-457c-a0cd-3f78faca5e34) 4. Remove the original collection and keep only the new one ![Image](https://github.com/user-attachments/assets/2594214a-bdfa-44e9-b167-b565bba9a201) 5.Choose "Assign" ![Image](https://github.com/user-attachments/assets/9d3c553a-e2b4-44b5-b1c3-b62b6fc7b845) 6. Error message ![Image](https://github.com/user-attachments/assets/187e9e1a-c49e-427a-a7bb-e9aac1d82757)
Author
Owner

@BlackDex commented on GitHub (May 18, 2025):

I'm not able to reproduce this. I have tried an owner and a user account, but i never get the collections selected already by default.

Could you provide more details like what kind of member roles the account has you do this with?

@BlackDex commented on GitHub (May 18, 2025): I'm not able to reproduce this. I have tried an owner and a user account, but i never get the collections selected already by default. Could you provide more details like what kind of member roles the account has you do this with?
Author
Owner

@gjelev commented on GitHub (May 19, 2025):

The issue occurred when using both the Owner and custom User roles. It was observed while assigning items to a new collection and attempting to remove them from the current collections. When clicking on the items, they disappear from the list, and upon clicking "OK," an error message appears.

@gjelev commented on GitHub (May 19, 2025): The issue occurred when using both the Owner and custom User roles. It was observed while assigning items to a new collection and attempting to remove them from the current collections. When clicking on the items, they disappear from the list, and upon clicking "OK," an error message appears.
Author
Owner

@BlackDex commented on GitHub (May 19, 2025):

And from which interface? The Password Manager or Admin Console view?

Image

@BlackDex commented on GitHub (May 19, 2025): And from which interface? The **Password Manager** or **Admin Console** view? ![Image](https://github.com/user-attachments/assets/dd102a92-a0ba-44eb-98a6-aae9a384455d)
Author
Owner

@gjelev commented on GitHub (May 19, 2025):

On both the result is the same

@gjelev commented on GitHub (May 19, 2025): On both the result is the same
Author
Owner

@BlackDex commented on GitHub (May 19, 2025):

Still strange I'm not able to reproduce this at all...

Could you maybe do the same with a new org and new collections? And if so describe all these steps?
I'm just not getting the remove option to work for some reason, and without it, I'm not really able to fix this correctly.

@BlackDex commented on GitHub (May 19, 2025): Still strange I'm not able to reproduce this at all... Could you maybe do the same with a new org and new collections? And if so describe all these steps? I'm just not getting the remove option to work for some reason, and without it, I'm not really able to fix this correctly.
Author
Owner
@gjelev commented on GitHub (May 19, 2025): https://github.com/user-attachments/assets/2d9f9475-b20b-4810-a2a6-aa84a17ded89
Author
Owner

@BlackDex commented on GitHub (May 19, 2025):

Very strange, I'm not getting this at all.

@BlackDex commented on GitHub (May 19, 2025): Very strange, I'm not getting this at all.
Author
Owner

@stefan0xC commented on GitHub (May 19, 2025):

Got it. The important step missing is to first select the collection you want to remove the items from:

https://github.com/user-attachments/assets/b29ee02a-2fde-4824-bf95-8c5f1445725f

@stefan0xC commented on GitHub (May 19, 2025): Got it. The important step missing is to first select the collection you want to remove the items from: https://github.com/user-attachments/assets/b29ee02a-2fde-4824-bf95-8c5f1445725f
Author
Owner

@BlackDex commented on GitHub (May 19, 2025):

Thanks @stefan0xC

@BlackDex commented on GitHub (May 19, 2025): Thanks @stefan0xC
Author
Owner

@BlackDex commented on GitHub (May 19, 2025):

Well, that was a relatively easy fix i think, it's (going to be) part of the #5798 PR.

@BlackDex commented on GitHub (May 19, 2025): Well, that was a relatively easy fix i think, it's (going to be) part of the #5798 PR.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vaultwarden#5873