https://bugs.kde.org/show_bug.cgi?id=528225
Bug ID: 528225
Summary: SMS app merges conversations from different
alphanumeric senders (e.g. ‘Arab Bank’ and
‘ArabBank’), hiding one thread’s messages
Classification: Applications
Product: kdeconnect
Version First 26.08.2
Reported In:
Platform: CachyOS
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: messaging-application
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
DESCRIPTION
- My bank sends SMS from two sender IDs: “Arab Bank” and “ArabBank”. On the
phone they are two separate threads.
- The KDE Connect SMS app shows only one “Arab Bank” entry. Opening it shows
the messages from one thread only; the other thread’s messages never appear.
- The phone side is fine: the daemon’s activeConversations returns both
threads, and requestConversation returns the correct messages for each.
STEPS TO REPRODUCE
1. Receive SMS on the phone from two alphanumeric senders whose names differ
only by a space or dash, e.g. “Arab Bank” and “ArabBank”.
2. Open KDE Connect SMS on the desktop and look for both conversations in the
list and open the entry.
OBSERVED RESULT
One list entry, it's preview shows the newest message from one sender, but
opening it shows the other sender’s thread.
Messages from one of the senders can’t be reached at all.
EXPECTED RESULT
Two separate entries, one per sender, each showing its own messages.
SOFTWARE/OS VERSIONS
pci id for fd 9: 10de:2484, driver (null)
pci id for fd 10: 10de:2484, driver (null)
pci id for fd 9: 10de:2484, driver (null)
pci id for fd 10: 10de:2484, driver (null)
Operating System: CachyOS Linux
KDE Plasma Version: 6.8.2
KDE Frameworks Version: 6.31.0
Qt Version: 6.12.0
Kernel Version: 7.3.0-4-cachyos (64-bit)
Graphics Platform: Wayland
Processors: 20 × 12th Gen Intel® Core™ i7-12700K
Memory: 32 GiB of RAM (31.1 GiB usable)
Graphics Processor 1: NVIDIA GeForce RTX 3070
Graphics Processor 2: Mesa Intel® UHD Graphics 770
ADDITIONAL INFORMATION
Cause: SmsHelper::canonicalizePhoneNumber() removes spaces, dashes and brackets
from every address, including alphanumeric sender IDs. “Arab Bank” turns into
“ArabBank”, and ConversationListModel::getConversationForAddress() then puts
the second thread into the existing row.
The suffix matching in isPhoneNumberMatchCanonicalized() could also merge
different names, e.g. “First Arab Bank” and “Arab Bank”.
Proposed fix: leave addresses that contain letters unchanged, and only treat
them as the same sender on an exact match. I tested it on 26.08.2: all
smshelpertest tests pass, plus 3 new ones, and both conversations show up
correctly. I’ve attached the patch.
--
You are receiving this mail because:
You are watching all bug changes.