Gnome Secrets (gnome-passwordsafe-6.5-r1) crashes with py3-keepass-4.0.3-r0
Secrets starts, I can unlock my DB, but as soon as I open one of the groups inside it it crashes. All my entries are inside groups, I haven't tested if it'd crash immediately with one that isn't.
Error message on crash:
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/gsecrets/unlocked_database.py", line 254, in on_list_box_row_activated
self.show_browser_page(safe_group)
File "/usr/lib/python3.10/site-packages/gsecrets/unlocked_database.py", line 178, in show_browser_page
new_page = UnlockedDatabasePage(self, group)
File "/usr/lib/python3.10/site-packages/gsecrets/widgets/unlocked_database_page.py", line 60, in __init__
self.populate_list_model()
File "/usr/lib/python3.10/site-packages/gsecrets/widgets/unlocked_database_page.py", line 180, in populate_list_model
entries = self.group.entries
File "/usr/lib/python3.10/site-packages/gsecrets/safe_element.py", line 288, in entries
return [SafeEntry(self._db_manager, entry) for entry in self._group.entries]
File "/usr/lib/python3.10/site-packages/gsecrets/safe_element.py", line 288, in <listcomp>
return [SafeEntry(self._db_manager, entry) for entry in self._group.entries]
File "/usr/lib/python3.10/site-packages/gsecrets/safe_element.py", line 330, in __init__
otp_uri = entry.get_custom_property("otp")
File "/usr/lib/python3.10/site-packages/pykeepass/entry.py", line 255, in get_custom_property
assert key not in reserved_keys, '{} is a reserved key'.format(key)
AssertionError: otp is a reserved key
The pykeepass changelog for 4.0.3 mentions "add otp support", so I suspect there's an incompatibility between the new version and the OTP handling built into Secrets. The crash happens regardless of whether any of the entries in the group I try to open actually has OTP configured, so I assume it's related to general entry loading.