This issue mostly arises when push is enabled, but it also overloaded websocket connections. We would send a notification on every deleted cipher, which could be up-to 500 items. If push is enabled, it could overload the Push servers, and it would return a 429 error.
This PR fixes this by not sending out a message on every single cipher during a multi delete actions. It will send a single push message to sync the vault once finished.
The only caveat here is that there seems to be a bug with the mobile clients which ignores these global sync notifications. But, preventing a 429, which could cause a long term block of the sending server by the push servers, this is probably the best way, and, it is the same as Bitwarden it self does.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/dani-garcia/vaultwarden/pull/6144
**Author:** [@BlackDex](https://github.com/BlackDex)
**Created:** 8/7/2025
**Status:** ✅ Merged
**Merged:** 8/7/2025
**Merged by:** [@dani-garcia](https://github.com/dani-garcia)
**Base:** `main` ← **Head:** `fix-multi-delete-push`
---
### 📝 Commits (1)
- [`b47c16d`](https://github.com/dani-garcia/vaultwarden/commit/b47c16dab6c921a8463ec20e6069bdade8d0cbe7) Fix multi delete slowdown
### 📊 Changes
**2 files changed** (+72 additions, -39 deletions)
<details>
<summary>View changed files</summary>
📝 `src/api/core/ciphers.rs` (+62 -37)
📝 `src/api/notifications.rs` (+10 -2)
</details>
### 📄 Description
This issue mostly arises when push is enabled, but it also overloaded websocket connections. We would send a notification on every deleted cipher, which could be up-to 500 items. If push is enabled, it could overload the Push servers, and it would return a 429 error.
This PR fixes this by not sending out a message on every single cipher during a multi delete actions. It will send a single push message to sync the vault once finished.
The only caveat here is that there seems to be a bug with the mobile clients which ignores these global sync notifications. But, preventing a 429, which could cause a long term block of the sending server by the push servers, this is probably the best way, and, it is the same as Bitwarden it self does.
Fixes #4693
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/dani-garcia/vaultwarden/pull/6144
Author: @BlackDex
Created: 8/7/2025
Status: ✅ Merged
Merged: 8/7/2025
Merged by: @dani-garcia
Base:
main← Head:fix-multi-delete-push📝 Commits (1)
b47c16dFix multi delete slowdown📊 Changes
2 files changed (+72 additions, -39 deletions)
View changed files
📝
src/api/core/ciphers.rs(+62 -37)📝
src/api/notifications.rs(+10 -2)📄 Description
This issue mostly arises when push is enabled, but it also overloaded websocket connections. We would send a notification on every deleted cipher, which could be up-to 500 items. If push is enabled, it could overload the Push servers, and it would return a 429 error.
This PR fixes this by not sending out a message on every single cipher during a multi delete actions. It will send a single push message to sync the vault once finished.
The only caveat here is that there seems to be a bug with the mobile clients which ignores these global sync notifications. But, preventing a 429, which could cause a long term block of the sending server by the push servers, this is probably the best way, and, it is the same as Bitwarden it self does.
Fixes #4693
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.