KeePassDX icon indicating copy to clipboard operation
KeePassDX copied to clipboard

Card expiration field is not see

Open Abu-Khulzat opened this issue 2 years ago • 7 comments

Card expiration date field is not seen

If you create credit card entry and use a custom field for expiration date using other clients like KeePass XC or Keepass2Android, etc, you cannot see this field from KepassDx app

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

KeePass Database

  • Created with: [e.g Windows KeePass 2.42]
  • Version: [e.g. 2]
  • Location: [e.g. Remote file retrieved with GDrive app]
  • File provider (content:// URI): [e.g. content://com.google.android.apps.docs.storage/5]
  • Size: [e.g. 150Mo]
  • Contains attachment: [e.g. Yes]

KeePassDX:

  • Version: [e.g. 2.5.0.0beta23]
  • Build: [e.g. Free]
  • Language: [e.g. French]

Android:

  • Device: [e.g. GalaxyS8]
  • Version: [e.g. 8.1]

Additional context

Add any other context about the problem here.

  • Browser for Autofill: [e.g. Chrome version X]

Abu-Khulzat avatar Jul 19 '23 09:07 Abu-Khulzat

Can you upload a database file without sensitive information that reproduces the problem?

J-Jamet avatar Jul 19 '23 13:07 J-Jamet

Sure The password is 1234567 There is an " Expires" field in the only entry, and the value of that field is 12/23 which is seen in KeepassXC but not from your app

Abu-Khulzat avatar Jul 19 '23 14:07 Abu-Khulzat

This is the link for the file

https://1drv.ms/u/s!Aj_Fy2VSor6Bg-ZFI9GB9bXqVLgFOA

Abu-Khulzat avatar Jul 19 '23 14:07 Abu-Khulzat

The problem must come from the template interpreter: the expires field is already a native field, so putting it in a customization field makes it conflict.

J-Jamet avatar Jul 19 '23 16:07 J-Jamet

Why then other apps like Kepass2android, strongbox, keepasium, and I think any other app see this field properly?

Abu-Khulzat avatar Jul 19 '23 16:07 Abu-Khulzat

I said it before, because of the template interpreter. The name "Expires" is used to identify the expiration field. So when the input form is rebuilt from the custom fields, there's a conflict. https://github.com/Kunzisoft/KeePassDX/blob/428efd2bb6395a1882fa8f1e4753d720cfc5b33c/app/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateEngineCompatible.kt#L401C23-L401C23 https://github.com/Kunzisoft/KeePassDX/wiki/Templates#pseudo-language The template system, which uses a really lousy format, needs to be redone.

J-Jamet avatar Jul 20 '23 09:07 J-Jamet

@Abu-Khulzat Can you reupload the file? Thanks

J-Jamet avatar Sep 03 '23 09:09 J-Jamet