Login with device generates duplicate notification
- Dominant language
- Kotlin
- Stars
- 9.4k
- Forks
- 1.1k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 67
Description
### Steps To Reproduce
1. Have an Android device as a known device for a specific account
2. Using any browser, login by using `Login with device` for that same account
3. See a notification pop to confirm the login
4. Confirm this login
5. You are logged in on the web interface
6. Received a second notification to confirm the login
### Expected Result
No duplicate login via device notification on the mobile device, just one.
### Actual Result
Received a second notification to approve a login which was already approved, trying to click on approve again results in an error, because that approval is gone already.
### Screenshots or Videos
_No response_
### Additional Context
When using Bitwarden Cloud this doesn't happen, only one notification is received.
Looking at the flightrecorder logs it seems that the Cloud version doesn't send a notification to the push servers as there is no log line mentioning `BitwardenFirebaseMessagingService – Push Notification Received: AUTH_REQUEST_RESPONSE`
On Cloud it can happen also, but only in this situation.
1. Logout on the mobile device
2. Login again on the mobile device, but use `Login with device` now
3. Approve the request via the web interface
4. Also see two notifications, one to approve the login, which of course can't be done, but after that also the same notification to approve again.
It looks like the mobile client also shows a notification for the `AUTH_REQUEST_RESPONSE`, to approve a login, while it probably should just either act upon to finish the login, or ignore it, and not ask the user to approve the login. Maybe a notification that it was successful.
### Build Version
2026.4.0 (21434)
### What server are you connecting to?
US
### Self-host Server Version
Bitwarden Self-Hosted 2026.3.1 AND Bitwarden Cloud 2026.4.0 @ US
### Environment Details
Any android device
### Issue Tracking Info
- [x] I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.
Contributor guide
Research direction
Reproduce the flow on an Android device and inspect the flightrecorder logs around `BitwardenFirebaseMessagingService – Push Notification Received: AUTH_REQUEST_RESPONSE`. Trace how that response is handled by the mobile client; done means the login completes with one approval notification and no second prompt for an already-approved request.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- authentication, mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100