mirror of
https://github.com/bitwarden/android.git
synced 2026-05-06 07:48:22 -05:00
Open
opened 2026-04-15 01:27:10 -05:00 by GiteaMirror
·
11 comments
No Branch/Tag Specified
main
sdlc/sdk-update
new-item-types/PM-32810_bank-account-view
new-item-types/PM-32810_bank-account
beta-for-qa
BWA-253/not-displaying-totp-coded-with-empty-key
target-sdk-37
vvolkgang/renovate-remove-group
pm-34038/card-scanner-qa-fixes
PM-33982/build-device-screen
PM-30625/filter-out-empty-totp-vault-count
vvolkgang/update-jira-release-notes
new-item-types/PM-34123_new-item-menu
new-item-types/PM-32806_passport
new-item-types/PM-32808_drivers-license
BWA-99/show-next-totp
BWA-99/add-preview-next-totp-code-setting
renovate/glidecompose
chore/improve-android-ui-verification-skill
sync-min-sdk
release/2026.4-rc51
fix/security-sast-22741894-bvwj
related-origin-passkey-creation
release/2026.4-rc50
platform/android-breaking-change-detection
innovation-sprint-2026-send-folder
release/2026.3-rc49
PM-34193-vault-lockout
android-collections
llm/add-resolving-sdk-updates-skill
QA-1523/sanity-test-saucelabs
release/2026.3-rc48
PM-26577-app-links-support
PM-26896-autofill-fix
release/2026.2-rc47
pr-6572
release/2026.2-rc46
release/2026.1-rc45
PM-30644/added-logs-for-debug
PM-30644/quicktile-nav-not-showing-migration
minor-gradle-updates
release/2026.1-rc42
release/2026.1-rc44
release/2026.1-rc43
PM-28834/set-landscape-on-horizonos-devices
PM-28468/validate-and-navigate-to-vault-migration
PM-20026/force-ltr-passwords-and-codes
release/2025.12-rc41
cmcg/testCoverage
PM-29014/talkback-support-for-passwords
release/2025.12-rc40
BRE-1305/publish_test
accept-user-certs
autofill-permissions
release/2025.11-rc39
PM-22479/check-all-certificates-validate-asset-links
release/2025.10-rc38
agalles/android-latest
retro-agent
PM-27001/skip-account-selection-only-one-exists-cxp
release/2025.10-rc37
agalles/test-1118
release/2025.10-rc36
PM-20593-token-refresh
QA-1126b/adding-native-sanity-test
release/2025.9-rc35
pm-25933/sdk-update-password
release/2025.9-rc34
release/2025.8-rc33
agalles/20250821-release
debug-release-issues
pm-24249-allow-automated-prs-for-sdk-updates
release/2025.8-rc32
release/WORKFLOW-TEST-2025.8-rc28
agalles/20250807release
release/2025.07-rc25
release/hotfix-v2025.7.0-bwa
pm-23311/export-vault-policy-bypass
release/2025.07-rc24
authenticator-pm-sync-flags-issue
release/hotfix-v2025.6.0-bwpm
release/2025.06-rc21
agalles/automate-android-fastlane-patch
release/2025.05-rc20
release/2025.04-rc19
languages/basque
release/2025.03-rc19
update-readme
qrcode/feature
innovation/archive/pm-19153-archive-items
qrcode/2-ui-fields
qrcode/1-page
hold-on-biometric-prompt-alternative
release-notes-process
release/2025.02-rc16
bwa-monorepo
PM-8223/new-device-verification-ux-improvements
pm-18451/exempt-from-policies
test-bwa
release/2025.01-rc15
release/2025.01-rc14
release/2024.12-rc13
pm-16670/sync-leave-notice
821
PM-16695/backport-lean-more-new-device-verification
release/hotfix-v2024.11.7
release/2024.11-rc1
pm-11304/collection-add-item-button
PM-14241/disabling-logs-app-crash
poc/offline-editing
new-version-calc
pm-11649/expired-link-services
pm-6702/add-feature-flag
pm-6702/email-verification-feature
pm-9933/marketing-copy-update
pm-6702/registration-flows
update-templates
pm-6701/email-verification-selfhost-registration
v2026.4.0-bwa
v2026.4.0-bwpm
v2026.3.1-bwa
v2026.3.1-bwpm
v2026.3.0-bwpm
v2026.3.0-bwa
v2026.2.1-bwpm
v2026.2.1-bwa
v2026.2.0-bwpm
v2026.2.0-bwa
v2026.1.1-bwa
v2026.1.1-bwpm
temp-test
v2026.1.0-bwpm
v2026.1.0-bwa
v2025.12.1-bwa
v2025.12.1-bwpm
v2025.12.0-bwa
v2025.12.0-bwpm
v2025.11.1-bwpm
v2025.11.1-bwa
v2025.11.0-bwpm
v2025.11.0-bwa
v2025.10.1-bwa
v2025.10.1-bwpm
v2025.10.0-bwa
v2025.10.0-bwpm
v2025.9.1-bwa
v2025.9.1-bwpm
v2025.9.0-bwa
v2025.9.0-bwpm
v2025.8.1-bwa
v2025.8.1-bwpm
v2025.8.0-bwa
v2025.8.0-bwpm
v2025.7.2-bwa
v2025.7.2-bwpm
v2025.7.1-bwa
v2025.7.1-bwpm
v2025.7.0-bwa
v2025.7.0-bwpm
v2025.6.1-bwpm
v2025.6.0-bwa
v2025.6.0-bwpm
v2025.1.0-bwa
v2025.5.0-bwa
v2025.5.0-bwpm
v2025.5.999
2025.4.0
v2025.4.0
untagged-4731eaadac73f3dfbbb8
v2025.3.0
v2025.2.0
untagged-815a165c5d70ffe75bc7
v2025.1.2
v2025.1.1
v2025.1.0
v2024.12.0
untagged-5a76b6392a4c8998c63a
v2024.11.7
v2024.11.6
v2024.11.5
v2024.11.4
v2024.11.3
v2024.11.2
v2024.11.1
v2024.11.0
v2024.10.2
v2024.10.1
v2024.10.0
v2024.9.0
v2024.8.1
v2024.8.0
v2024.7.3
v2024.7.2
v2024.7.1
v2024.7.0
v2024.6.1
v2024.6.0
v2024.5.1
v2024.4.1
v2024.4.2
v2024.4.0
v2024.3.3
v2024.3.1
v2024.3.0
v2024.2.1
v2024.2.0
v2024.1.1
v2024.1.0
v2023.12.0
v2023.10.0
v2023.9.2
maui-single-project-android
v2023.9.1
v2023.9.0
v2023.8.0
v2023.7.0
v2023.5.0
v2023.4.0
v2023.3.2
v2023.3.1
v2023.3.0
v2023.2.0
v2023.1.0
v2022.11.0
v2022.10.0
v2022.9.1
v2022.9.0
v2022.8.0
v2022.6.2
v2022.6.1
v2022.6.0
v2022.05.0
v2.18.0
v2.17.0
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.15.0
v2.14.2
v2.14.1
v2.14.0
v2.13.0
v2.12.0
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.0
v2.9.1
v2.9.0
v2.8.2
v2.8.1
v2.8.0
v2.7.2
v2.7.0
v2.6.1
v2.6.0
v2.5.6
v.2.5.5
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.8
v2.2.7
v2.2.6
v2.2.2
v2.2.1
v2.2.0
v2.1.2
v2.1.0
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v1.22.1
v1.22.0
v1.21.0
v1.20.0
v1.19.0
v1.18.1
v1.18.0
v1.17.0
v1.16.0
v1.15.2
v1.15.1
v1.15.0
v1.14.4
v1.14.1
v1.14.0
v1.13.0
v1.12.2
v1.12.1
v1.12.0
v1.11.1
v1.11.0
v1.10.0
v1.9.0
v1.8.1
v1.8.0
v1.7.0
v1.6.5
v1.6.1
v1.6.0
v1.5.1
v1.5.0
v1.4.4
v1.4.3
v1.4.0
v1.3.0
v1.2.1
v1.2.0
v1.1.0
v1.0.0
v0.0.6
v0.0.5
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/android#15095
Reference in New Issue
Block a user
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.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @A3148475824 on GitHub (Feb 6, 2026).
Original GitHub issue: https://github.com/bitwarden/android/issues/6486
Steps To Reproduce
The system crashed while viewing a password item.
Expected Result
I used the third-party client Keyguard to check this password item, and it didn't crash! I asked Chatgpt, and Bitwarden mentioned a UI bug on the Android side (Jetpack Compose's LazyColumn key conflict)! Compose doesn't allow it, throwing an exception directly → App crashes.
Actual Result
Then I checked the password item, and I tried to check two identical tags. I only saw two blank tags. I deleted one of the blank tags, and then it stopped crashing! It's really funny!
Screenshots or Videos
java.lang.IllegalArgumentException: Key "customField_TextField(id=953827747, name=, value=, isCopyable=false)" was already used. If you are using LazyColumn/Row please make sure you provide a unique key for each item.
at d4.a.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:3)
at e4.j0.n0(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:156)
at v1.l0.d(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:30)
at u1.m.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:32)
at u1.n.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:783)
at t2.q.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:1121)
at e4.l0.c(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:71)
at g4.t.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:38)
at o3.o0.measure-3p2s80s(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:1)
at g4.a0.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:11)
at v1.r.measure-3p2s80s(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:1)
at g4.a0.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:11)
at s1.d0.measure-3p2s80s(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:106)
at g4.a0.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:11)
at s1.d0.measure-3p2s80s(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:106)
at g4.a0.H(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:11)
at g4.a1.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:127)
at f3.v.d(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:314)
at g4.b1.E0(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:147)
at g4.i0.P(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:18)
at g4.y0.c(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:3)
at g4.y0.k(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:126)
at h4.v.t(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:8)
at g4.i0.k(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:41)
at pl.i.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:531)
at o1.n.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:17)
at o1.p2.c(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:260)
at o1.n2.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:423)
at o1.l2.a(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:38)
at np.n3.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:899)
at k1.d.l(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:55)
at k1.f1.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:25)
at f3.n.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:35)
at a2.b.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:740)
at androidx.lifecycle.d1.l(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:49)
at t2.s1.invoke(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:58)
at h4.v0.doFrame(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:7)
at h4.t0.doFrame(r8-map-id-02fdf5f89272614ec878de7adda5f42926f9802f10b5d99996c77817a23b127e:48)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1797)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1808)
at android.view.Choreographer.doCallbacks(Choreographer.java:1300)
at android.view.Choreographer.doFrame(Choreographer.java:1167)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1767)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:249)
at android.os.Looper.loop(Looper.java:337)
at android.app.ActivityThread.main(ActivityThread.java:9410)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:614)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [h4.h2@3fb322e, h4.w0@8d291cf, s1{Cancelling}@f2f575c, u0@ee6a65]
Additional Context
No response
Build Version
2026.1.1
What server are you connecting to?
US
Self-host Server Version
No response
Environment Details
Redmi K60 Ultra
Android 15
Issue Tracking Info
@bitwarden-bot commented on GitHub (Feb 6, 2026):
Thank you for your report! We've added this to our internal board for review.
ID: BWA-228
@rmcdowell-bitwarden commented on GitHub (Feb 6, 2026):
Hi there,
I am unable to reproduce this issue, it has been escalated for further investigation. If you have more information that can help us, please add it below.
I have also changed your submissions label to app:password-manager as the Bitwarden Authenticator app does not support storing login items.
Thanks!
@A3148475824 commented on GitHub (Feb 6, 2026):
Bitwarden adds an identity item, fill in the name casually, if you add two blank labels, you will find that it crashes! If there are two blank labels in all identity projects, it will definitely crash!
@A3148475824 commented on GitHub (Feb 6, 2026):
I've already tested it and figured out why this bug is happening! I don't understand why you can't add two blank tags in the identity item! If there are two blank tags, deleting one doesn't cause it to crash! But if there are two blank tags, it crashes! This is really ridiculous!
@pamperer562580892423 commented on GitHub (Feb 6, 2026):
@A3148475824 In case you use a translator here - and to avoid confusion - I think you are talking about custom fields, which then would be "blank".
@A3148475824 commented on GitHub (Feb 6, 2026):
To avoid translation errors, I recorded a video and converted it to a GIF! It's right above!
@pamperer562580892423 commented on GitHub (Feb 6, 2026):
Yeah, I saw that. Certainly a good idea. But it's too quick to follow for me.
@A3148475824 commented on GitHub (Feb 6, 2026):
Create a new "Identify", fill in the name at will, click "Additional Options", continue to click "Add Field", and click "Text"! Don't fill in anything, click "OKEY"! Continue to create a blank "text"
Next, when you open this identity, you will find that you are crashing!
This is a very simple, at a glance, a bug that can be understood at a glance! I don't know, what am I talking about?
Quoting Chatgpt's answer:【This issue appears to be caused by Bitwarden strictly enforcing vault unlock context validation (foreground Activity / trusted UI), while third-party clients like Keyguard allow vault decryption in Autofill or overlay contexts by relying on Accessibility or relaxed lock-state checks.
As a result, the same vault data is accessible in Keyguard but intentionally restricted in Bitwarden.
This seems less like a cryptographic or permission bug and more like a UX/security tradeoff. A possible improvement could be introducing a short-lived, user-verified unlock session or allowing limited field decryption in Autofill contexts without fully unlocking the vault.】
@pamperer562580892423 commented on GitHub (Feb 6, 2026):
@rmcdowell-bitwarden I just was curious enough to try to reproduce it. And I can reproduce it.
I just created a new BW account on the US cloud, as I didn't want to corrupt my own vault. (will delete the BW account now)
Steps to Reproduce:
Actual result:
The BW app indeed crashes... and I see:
("Bitwarden was closed")
Expected result:
I should be able to open that item like any other vault item.
Additional info:
Fortunately, only this vault item seems to become inaccessible and crashing the app - I still could login to the vault and access it in general. (though, on that test account, I didn't add anything else than this now-corrupted identity item in that BW test account)
Environmental details:
© Bitwarden Inc. 2015-2026
Version: 2026.1.0 (21141)
📱 Fairphone FP5 🤖 15@35 📦 prod
🧱 commit: bitwarden/android/release/2026.1-rc42@67f83e3020b53f8d41e63a7d8f6bdb759ccb9ddc
💻 build source: bitwarden/android/actions/runs/21299199924/attempts/1
🦀 SDK: 2.0.0-4441-c5a3b833
🌩 Server: 2026.1.1 @ EU (--> that info is from my regular BW account now - as written above, I created that BW test account on the US cloud, as @A3148475824 also mentioned the US cloud)
PS: This issue "feels" also, like a similar one was reported before... I just did not search for it thoroughly... [EDIT: I think I had this issue #6266 in mind, but I think that is different, as it is about the URI... but maybe these two issue here have a similar root cause?!]
PPS: In the web vault, that identity item is still accessible... so it might have already used inaccurate language before, as it seems that vault item is not "corrupted", but the BW mobile app is for whatever reason not able to handle those two blank custom fields. - Here a screenshot from the web vault:
@awvalenti commented on GitHub (Feb 11, 2026):
I agree that this and #6515 are duplicates. The cause seems to be the presence of two fields with same label, being them blank or not.
@david-livefront commented on GitHub (Mar 31, 2026):
Changes have been made to the identity UI here that should address this issue.
It should make it's way to production in a few weeks.