Skip to content

get_chatlist and get_contacts are not case insensitive outside ASCII #7477

@r10s

Description

@r10s

get_chatlist and get_contacts are used for incremental search. user expectation for searches is that they're case-insensitive, so searching for alice shoud find Alice.

however, this works only for plain ASCII characters. having a chat named Ärger in german. cannot be found by ärger.

in languages as russian, this is even worse as all characters are non ASCII.

we had a similar issue for get_msgs, that, however, was fixed at #5321

maybe we should copy the same approach, so adding the columns chats.name_normalized and contacts.name_normalized - similar to edit, the columns need to be updated together on changes which is some work, but was regarded the easiest approach, without adding dependencies.

it is probably fine to fill the columns on a migration, even some tenthousands of records should be processed quick. but it seems also good enough to use the lazy approach from #5321

for contacts.addr: here, ascii case-insensitive search is good enough. we want to remove that from the incremental search at all and only return a result on a direct match (would be cool if that is targeted already with this issue, otherwise, we should file a new one)

to be clear, this issue is not about adding new flags or api.

we discussed that recently in the team, popping up again by a user report at https://support.delta.chat/t/contact-search-isnt-working-correctly/4359

@iequidoo, you did #5321 that time, maybe you can do a fix for this issue as well at some point - there is no urgency in this issue, so it should not block or delay more important things, however

Metadata

Metadata

Assignees

Labels

bugSomething is not working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions