PhilippC / PhilippC/keepass2android

[BUG] Autofill not working for WhatsApp 2FA PIN

Open
#3,202 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C#
Stars
6.2k
Forks
478
Avg merge
1h 4m
Merged PRs (30d)
2

Description

Checks
  • I have read the FAQ section, searched the open issues, and still think this is a new bug.
Describe the bug you encountered:

3/27/2026 8:04:02 PM:898 -- DatabaseSettingsActivity.OnPause 204 (Thread ID: 1) (Main Looper)
3/27/2026 8:04:02 PM:899 -- Timeout start (Thread ID: 1) (Main Looper)
3/27/2026 8:04:02 PM:928 -- DatabaseSettingsActivity.OnStop 204 (Thread ID: 1) (Main Looper)
3/27/2026 8:04:03 PM:599 -- Going to background (Thread ID: 1) (Main Looper)
3/27/2026 8:04:04 PM:255 -- SelectCurrentDbActivity.OnDestroy True 201 (Thread ID: 1) (Main Looper)
3/27/2026 8:04:04 PM:275 -- GroupActivity.OnDestroy True 203 (Thread ID: 1) (Main Looper)
3/27/2026 8:04:04 PM:563 -- DatabaseSettingsActivity.OnDestroy True 204 (Thread ID: 1) (Main Looper)
3/27/2026 8:04:04 PM:768 -- OngoingNotificationsService.OnTaskRemoved: android.intent.action.MAIN (Thread ID: 1) (Main Looper)
3/27/2026 8:04:04 PM:768 -- QuickLocking database (Thread ID: 1) (Main Looper)
3/27/2026 8:04:04 PM:789 -- Starting/Updating OngoingNotificationsService. Database QuickLocked (Thread ID: 1) (Main Looper)
3/27/2026 8:04:07 PM:335 -- parsing autofillStructure... (Thread ID: 1) (Main Looper)
3/27/2026 8:04:07 PM:337 -- This is the autofillStructure:

{
"InputFields": [
{
"IdEntry": null,
"Hint": null,
"ClassName": "android.widget.FrameLayout",
"AutofillHints": null,
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
},
{
"IdEntry": "action_bar_root",
"Hint": null,
"ClassName": "android.widget.FrameLayout",
"AutofillHints": null,
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
},
{
"IdEntry": "action_mode_bar_stub",
"Hint": null,
"ClassName": "android.view.View",
"AutofillHints": null,
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
},
{
"IdEntry": null,
"Hint": null,
"ClassName": "android.widget.FrameLayout",
"AutofillHints": null,
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
},
{
"IdEntry": null,
"Hint": null,
"ClassName": "android.widget.TextView",
"AutofillHints": null,
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
},
{
"IdEntry": "code",
"Hint": null,
"ClassName": "android.widget.EditText",
"AutofillHints": null,
"IsFocused": true,
"InputType": 2,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
},
{
"IdEntry": "progress_bar_code_input_blocked",
"Hint": null,
"ClassName": "android.widget.ProgressBar",
"AutofillHints": null,
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
},
{
"IdEntry": "error",
"Hint": null,
"ClassName": "android.widget.TextView",
"AutofillHints": null,
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
},
{
"IdEntry": "nag_text",
"Hint": null,
"ClassName": "android.widget.TextView",
"AutofillHints": null,
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
}
],
"PackageId": "com.whatsapp",
"WebDomain": null
} (Thread ID: 1) (Main Looper)
3/27/2026 8:04:07 PM:346 -- Parsing done (Thread ID: 1) (Main Looper)
3/27/2026 8:04:07 PM:347 -- cannot autofill (Thread ID: 1) (Main Looper)
3/27/2026 8:04:27 PM:552 -- parsing autofillStructure... (Thread ID: 1) (Main Looper)
3/27/2026 8:04:27 PM:554 -- This is the autofillStructure:

{
"InputFields": [
{
"IdEntry": null,
"Hint": null,
"ClassName": "android.widget.FrameLayout",
"AutofillHints": null,
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null
},
{
"IdEntry": "action_bar_root",
"Hint": null,
"Clas

Describe what you expected to happen:

No response

What version of Keepass2Android are you using?

1.15-r1

Which version of Android are you on?

8.1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with Keepass2Android 1.15-r1 on Android 8.1 and WhatsApp's 2FA PIN screen. Trace the autofillStructure parsing around the focused EditText with IdEntry "code" and the "cannot autofill" log, including DatabaseSettingsActivity lifecycle messages. Done means the WhatsApp PIN field is recognized and autofilled without breaking existing autofill behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, csharp
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.