[GH-ISSUE #1142] Saving unsynced item = Data Loss #7162

Closed
opened 2026-04-10 23:34:16 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @alexyao2015 on GitHub (Nov 7, 2020).
Original GitHub issue: https://github.com/bitwarden/android/issues/1142

Originally assigned to: @MGibson1 on GitHub.

Describe the Bug

Editing an item in another Bitwarden application (e.g. editing notes, adding TOTP, etc.) then editing the item in the mobile app prior to syncing the item results in the original edits done to the item being completely lost. This typically would not be an issue, however, when autofilling passwords for an app in Android that do not match the app name, the app asks if you would like to save the application. Saving the application id results in the app sending the old, unsynced version of the item back to the server resulting in all changes done originally being lost.

Steps To Reproduce

  1. Sign into Bitwarden on mobile.
  2. Disconnect wifi on mobile.
  3. Sign into Bitwarden on another application and change something on the item (e.g. notes, TOTP, etc.)
  4. Turn on wifi on mobile.
  5. Open password requiring app that is not saved as a match for the item.
  6. When "Are you sure you want to auto-fill this item? It is not a complete match for ..." appears, select "Yes, and Save"
  7. Observe data loss immediately synced to all Bitwarden applications with no possible retrieval of lost data.

P.S. This bug is also reproducible if the edit screen is first open on the app, the same item is changed on another platform, and the item is then saved on the app. It doesn't recognize there was a change elsewhere before saving. It should sync and check for potential changes, notifying the user, before ultimately saving. However, this is more of a fringe case compared to the original bug.

Expected Result

App should sync the item before adding the URI information to the item and saving it to the server.

If manually editing an item, it should be synced prior to saving to the server, notifying the user of potential changes while the user was editing.

Alternatively, there should be item history instead of simply a password history to prevent data loss like this.

Actual Result

Data loss occurs. In my case, I lost notes and a TOTP token for one item.

Screenshots or Videos

Environment

  • Device: [e.g. iPhone6]
    Pixel 3 XL
  • Operating system: [e.g. iOS 8.1]
    Android 11
  • Build Version (go to "Settings" → "About" in the app): [e.g. 2.3.0 (2221)]
    2.6.1 (3178)
  • Is this a Beta release? [Y/N]
    N

Additional Context

This is a potentially devastating bug, especially if there were critical changes that were destroyed by it.

Related:
bitwarden/server#982
bitwarden/jslib#53
bitwarden/mobile#972

Originally created by @alexyao2015 on GitHub (Nov 7, 2020). Original GitHub issue: https://github.com/bitwarden/android/issues/1142 Originally assigned to: @MGibson1 on GitHub. <!-- Comment: Please do not submit feature requests. The [Community Forums][1] has a section for submitting, voting for, and discussing product feature requests. [1]: https://community.bitwarden.com --> ## Describe the Bug <!-- Comment: A clear and concise description of what the bug is. --> Editing an item in another Bitwarden application (e.g. editing notes, adding TOTP, etc.) then editing the item in the mobile app prior to syncing the item results in the original edits done to the item being completely lost. This typically would not be an issue, however, when autofilling passwords for an app in Android that do not match the app name, the app asks if you would like to save the application. Saving the application id results in the app sending the old, unsynced version of the item back to the server resulting in all changes done originally being lost. ## Steps To Reproduce <!-- Comment: How can we reproduce the behavior: --> 1. Sign into Bitwarden on mobile. 2. Disconnect wifi on mobile. 3. Sign into Bitwarden on another application and change something on the item (e.g. notes, TOTP, etc.) 3. Turn on wifi on mobile. 4. Open password requiring app that is not saved as a match for the item. 5. When "Are you sure you want to auto-fill this item? It is not a complete match for ..." appears, select "Yes, and Save" 6. Observe data loss immediately synced to all Bitwarden applications with no possible retrieval of lost data. P.S. This bug is also reproducible if the edit screen is first open on the app, the same item is changed on another platform, and the item is then saved on the app. It doesn't recognize there was a change elsewhere before saving. It should sync and check for potential changes, notifying the user, before ultimately saving. However, this is more of a fringe case compared to the original bug. ## Expected Result <!-- Comment: A clear and concise description of what you expected to happen. --> App should sync the item before adding the URI information to the item and saving it to the server. If manually editing an item, it should be synced prior to saving to the server, notifying the user of potential changes while the user was editing. Alternatively, there should be item history instead of simply a password history to prevent data loss like this. ## Actual Result <!-- Comment: A clear and concise description of what is happening. --> Data loss occurs. In my case, I lost notes and a TOTP token for one item. ## Screenshots or Videos <!-- Comment: If applicable, add screenshots and/or a short video to help explain your problem. --> ## Environment - Device: [e.g. iPhone6] Pixel 3 XL - Operating system: [e.g. iOS 8.1] Android 11 - Build Version (go to "Settings" → "About" in the app): [e.g. 2.3.0 (2221)] 2.6.1 (3178) - Is this a Beta release? [Y/N] N ## Additional Context <!-- Comment: Add any other context about the problem here. --> This is a potentially devastating bug, especially if there were critical changes that were destroyed by it. Related: bitwarden/server#982 bitwarden/jslib#53 bitwarden/mobile#972
Author
Owner

@Greenderella commented on GitHub (Nov 9, 2020):

Hi @alexyao2015,

We appreciate your feedback. This has been forwarded to our development team and it will be added to our recommendation list for consideration.

We ask that any future feedback be directed to our official feedback forum on our Community Forums: https://community.bitwarden.com/

Please let us know if you have any more suggestions or if there is anything else we can help with.

<!-- gh-comment-id:723986708 --> @Greenderella commented on GitHub (Nov 9, 2020): Hi @alexyao2015, We appreciate your feedback. This has been forwarded to our development team and it will be added to our recommendation list for consideration. We ask that any future feedback be directed to our official feedback forum on our Community Forums: https://community.bitwarden.com/ Please let us know if you have any more suggestions or if there is anything else we can help with.
Author
Owner

@alexyao2015 commented on GitHub (Nov 9, 2020):

Hi thanks for the response. This is actually a bug rather than a feature request. I'm sure data loss is not intended to occur.

<!-- gh-comment-id:724094389 --> @alexyao2015 commented on GitHub (Nov 9, 2020): Hi thanks for the response. This is actually a bug rather than a feature request. I'm sure data loss is not intended to occur.
Author
Owner

@mpbw2 commented on GitHub (Nov 10, 2020):

@alexyao2015 Thanks for the heads up, we're currently investigating solutions for this issue.

<!-- gh-comment-id:724931089 --> @mpbw2 commented on GitHub (Nov 10, 2020): @alexyao2015 Thanks for the heads up, we're currently investigating solutions for this issue.
Author
Owner

@cscharf commented on GitHub (Dec 15, 2020):

This is resolved by https://github.com/bitwarden/server/pull/994 and will be released soon.

<!-- gh-comment-id:745295277 --> @cscharf commented on GitHub (Dec 15, 2020): This is resolved by https://github.com/bitwarden/server/pull/994 and will be released soon.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#7162