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.

Reply via email to