Closed philipraets closed 5 years ago
Hi, and thanks for the debug log.
TL;DR What you want to do is enable the notification plugin on Android (and not disable the notification plugin in GSConnect). Also the contacts & sms plugin on Android (and leave them on in GSConnect).
One thing you may want to do, is open the SMS window and use that lovely hidden app-menu in the panel and select "Sync Contacts" and then "Sync Messages". Give it a few seconds, then close and re-open the window. Sometimes this doesn't work automatically, it's a known bug, and upstream is working on it.
Long Story
A bit of back story. In the past there was a SMS notification packet (which is the notification you see in Android) and an SMS event packet which is this:
{
"id": 1541765146299,
"type": "kdeconnect.telephony",
"body": {
"event": "sms",
"messageBody": "Hello",
"contactName": "My contact",
"phoneThumbnail": "",
"phoneNumber": "phoneNumber"
}
}
If you've been using this for awhile, you may remember that sometimes resulted in duplicate notifications. Additionally, the SMS events are only sent once, when they happen, so if you miss them you don't get them.
The SMS notifications are persistent (until you close them on either side) and also carry a requestReplyId
allowing you to "quick reply". They look something like this:
{
"id": 1541767166010,
"type": "kdeconnect.notification",
"body": {
"payloadHash": "ec6586b6d0c86cafae7808258924432a",
"requestReplyId": "f99ff93d-247e-4892-9d47-5895203b6532",
"id": "0|com.google.android.apps.messaging|0|com.google.android.apps.messaging:sms:1|10079",
"appName": "Messages",
"isClearable": true,
"ticker": "My contact: Hello",
"title": "My contact",
"text": "Hello",
"time": "1541767165992"
},
"payloadSize": 8082,
"payloadTransferInfo": {
"port": 1750
}
}
As of the latest Android version (v1.10) SMS has it's own plugin and can provide history, as well as new messages; they sometimes come as a "digest" of all messages and look like this:
{
"id": 1541767163679,
"type": "kdeconnect.sms.messages",
"body": {
"messages": [
{
"address": "555-555-5555",
"body": "Hello",
"date": 1541767162018,
"type": 1, // <--- 0 or 1 (incoming/outgoing)
"read": 0,
"thread_id": 3, // <--- "conversation"
"_id": 277, // <--- message
"event": "sms"
}
],
"event": "batch_messages"
}
}
The SMS plugin is still very new, which is why KDE Connect has not yet released their desktop-side version of it yet (I'm pretty sure) and may have a few bugs, but it's much easier to work with, determine the proper contact, and so on. It's okay if you receive a ton of these duplicates because GSConnect can figure that out.
There's some ongoing work in #288 you can follow if you want, where we are stripping out all the old flaky code and re-designing the UI. It might be awhile before that is released (or even merged), but git usually quite stable these days (instructions in the Wiki) and you can always file bugs against the master
branch if you want.
I have enabled all plugins (both on phone and in GSConnect), but sms is still not working, everything else works fine. I did a clean install of openSUSE in KVM, and paired with it, but it has the same result
Also, if I open an sms window on the desktop, I can send sms, but the reply's don't come through (also not syncing messages)
I have reinstalled KDEconnect on the phone, reinstalled GSconnect on the desktop (also deleted the cache and config folders), but I always get the same result
Are there any errors in GNOME Logs about this? If GSConnect is actually receiving these packets, and a window is open for the same number, there should be errors thrown.
If you check the file ~/.cache/gsconnect/<device-id>/sms.json
is it filled with your messages? The files in the cache directory are just hardcopies of what's in memory, so either the plugins or GSConnect must be stopped for deleting them to have any effect.
contacts.json and most of the pictures exists in the folder, but sms.json isn't there. I do get the following (I don't know if it is related):
nov 14 13:05:31 PRAETS.boma.local gnome-shell[4989]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
nov 14 13:05:31 PRAETS.boma.local gnome-shell[4989]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
nov 14 13:05:31 PRAETS.boma.local gnome-shell[4989]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
nov 14 13:05:31 PRAETS.boma.local gnome-shell[4989]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
nov 14 13:05:31 PRAETS.boma.local gnome-shell[4989]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
nov 14 13:05:31 PRAETS.boma.local gnome-shell[4989]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
nov 14 13:05:31 PRAETS.boma.local gnome-shell[4989]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
nov 14 13:05:31 PRAETS.boma.local gnome-shell[4989]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
nov 14 13:05:31 PRAETS.boma.local gnome-shell[4989]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
nov 14 13:05:43 PRAETS.boma.local gjs[5560]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
nov 14 13:05:43 PRAETS.boma.local gjs[5560]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
nov 14 13:05:43 PRAETS.boma.local gjs[5560]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
nov 14 13:05:43 PRAETS.boma.local gjs[5560]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
nov 14 13:05:43 PRAETS.boma.local gjs[5560]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
This is what's coming in on the computer:
DEBUG: [core.js:receive/<:404]: Samsung Galaxy Note 4: {
"id": 1542197131248,
"type": "kdeconnect.telephony",
"body": {
"event": "sms",
"messageBody": "Berichtje",
"contactName": "My Contact",
"phoneThumbnail": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF\nBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK\nCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCABgAGADASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD94IPC\ntiinbEtTL4dtB8pTitJPLzkTE0eci5bFRea+0c/sKUTPXw9Z7duMVVu/Dmnqru6qAMYqxL4isLeT\nypJVDN71xvxd+L3hj4d+GrnxT4j1m3s7G1i82e4uJdsca/3mq6fteb3TnqSw8YGnN4MtLhSsA696\npy+BJmBMZwf9qvnLTv8Agsp+wDo801t4j/aH0kPbJvlS3iml/d/3lZV2sv8AFXD+Jv8Ag4//AOCa\nPhqcmyuvGeuWqrGBqGjeHUZMtt/hknjbavmKrNt2qzbd3NbLFV4+7GRnHD0qn2eU+vZPAdw6MJGb\n8qgPw9c5wuf+A18xfBT/AIOFf+CWfxk1RdDvfiXrfhG4m1D7HanxX4amjgmf+FvtFt50Mat/00da\n+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\nre1tLW4WPcrTMyySSbV8yRY44ZN3kt5jQx7pV80/aK/YU8T+NPFd3ovibWvFX+nadHc2vh3wvYNb\nWkM0i7biaSedpo1X5vlXzJGjaNmXzGZmb0/V/GFz4d1iDxF4Wu5LK8sZfPtbq32+ZDIv8X/2P3W+\n61ecftA/t0694vi11dV1Sz8OMtrbrBY+G1+zRt5bSMrRszNIvzfLIqt5bLtXau6TzNciwc8pwvsK\ntPlqfzR+1/i/w/ZPTySph6ubezqS92R7F8Af2bPhjD+yp8P/AIo+DfC15Fc3ngnR9a1O00u4khbV\nrr+z2+Wa2kma3lkm87a3mfM3kwbpv9HjrjPAPxf8CaZ8VIPCkGi6v4c1QCOW8sfHeq3BgtR9ogkl\nt47T7Q1vKzQ+btkWRlhkWFvLkVmWuE8Kf8FSPEek/sr+HvDHw78Ia1c+I20a10y11D7NHL9luFjW\nGSby2aTzGXb5i7l2t/F95qg8T6t8HJ/h7NpPxP8AGDa1rF8/2q80zz2vNXa4aNpGmZY1kmWRW27W\n+7Gqqq7VVa9OrGcpe97p+k4athY0f3Xvfzfy/wD2p9nx/FH4bJZwWqa6t1LIqo8275Wk2v8A98/e\nZvl/vfw1I9vpJt/7XsbrKMzN83+83/2X+1XxF+xNH8UfCp1Q+PLLVrPSb5N/hy38SSrLcrGrbZJG\n+Zvl3NGy+Z8zbmb7rLXsPxd/ag0L4X+D31PXb+MJGv8Aq43X5m2/KvzMv/fNcXs5e15UFXFQlDml\n7sY/zEX7Zv7U+pfC/wCG83w/XTbV7PxBZXVtfyQtm5kXmNoVX5flk8zbu+ZvvL8v3q+fv2Fv2z/2\nlP2YPFWsa78Lvhwr6D4gv4oNd0lrdWlt447hpPOaZZFWORfOnb+7++VfurHt5LxR8TfCvxo8bL4v\n8Qa3eTbvsr6Np+oRKiTM1u0yxxxfM33m8tbht0bN823b91nhv4qaBHpgk8bw2c1tPdQvpetSSw+R\nJGsk6zMy/vpI1k8uFtrLHM21tu1f9Z+k5FkNDB4X9/8AFU+I/LOJM7q5tXjGP8On8P8A8kfp94Y/\n4KbXU+ntBPDeeZJu/wBT+8+Zf91v9pf++q8H/aO/a78W/Fe7fSrXUJoLVH/fL91m6/LXyyureGNc\n+IBtrLVprKwv5bNbKaawkitJJJJvJVVaNmVlbbNtVfJk/dssce5WVd5PEmtaXdJb6L4sWbRWso2R\nWgaV52jXy5Jo1uVbduZWVWVfL+ZfmXatcmP4PxWKw8oYfF/+BR/9ujy/+knz9PEwpyvKJ9w+B/2Y\nPD3ge+ivdF01Yni7qlepw+BZ/FQTR2u5PLdNrRtUyas6Q/aZ3yf4A341k6N8UhoviWN3uNo3bW+e\nulYjngctPC+zl7pszfsOeC9T8PT3LaHauTu+Zolr84f+CjP7KsHwX1GP4i6Xp8b29vOvmwsvysu5\ntyt/sstfsH4F+NfhS90P7NdyxgtF618Vf8FTYPCvjj4U6zaB1R1gZoG/uttevAxP76Ej0oU7e9E+\nAvBfws+GXjvVYPE2iS6tYQW6Lcano+k6tNZLdNtZfMZYf4W+X7v3WX/e3e2/s92WmtqTy/Db4Fww\n6WsqrFNHpMccUe37sjbd0lzIrKvzMy/eb+9trwX4KeKNV8MJaa5pzqZrJV/dyJuWRf4lb+8rba7b\nx9/wUU1P4LwrBoXw31bK2+6zt2s90W3cytJ5m7bu+Vf/AGb7y14uGl9ehKnGPvRP0DI+IKWF5vb8\nsZfzf/I/1zH0D8dH0zwFoL+JfEGoW8VzD5iGFp9v7yRWZl2/7u1v+A/7NfDvxJ8SeI/jr8U7fSdP\nvfO0vTPnWa8/dxzTbtu7du+baqsy7dzM0e1VZvlrz3xd+1D+0b+2d8TY9BcXVnYs7PLb2bKzQxru\n27pPl/h+Vf8A2b7q/QXgb4faNolnbWPiy0ju7uyghe9NvbySvH5axrukVZPLk+Zdu1vLVdqru2/N\nX1/DvD/tKv1ir8MT53PeIPbRlSpfaK8HhvxZp+iaZ4c0FLXQBaxQz3E188ax6g1vG0cO1lhk2s0a\n2yt/CzLDJ5fmbpGm0a48OQ6Pa6z4m+0LDL80un2OqQrdRrHCqxqrLGrRttj2+ZNHJujbd8rMzVe8\nZeJtLsLMt4Wks7KRXjga4hk+a6+6zK0G6RVZW+b5tv3m+VmX5cC98Q6JqVrcai2o3EMqp5stvNOs\nck0KzBf3Pyqsn97btXaqr821a+9VOjT+E+N9pJ7lTWdH8MrCzR6Utz9ntZovsK2Mar5kisvmNH5j\nLBNJ8rNHtkX733lWRW0fCvjBfB/ie2k1bxDNfaFfXtr/AGXHI3m22n3Ef3bX/WR7Y5PlhaRW+Vdv\n+s+Vq5XSvEGgDWX1FDeXEf23y/Jks9r3S/NtZlj2rHu+X5Y9zN5bbWj2q1Yl5rWn3Wmwaf4q0a3u\nLazi8240+G6ZfLVl2yL+7bdukjaFW3bmVY1bdt/d1yzrcnwmkFzX5j9evEvjiOyJtZm2L9K5XxL4\nVv8AWLOXxFot7I02zdEqt1rt/GHwR/t4CdJPNP8A49W98NvhhJplkum3cTEf7Rr8sWN5on0ccLyI\n+PLv4zfto6B4ufwz4Y8K28tqJV/0qR23N/wGtb4ifCb9or49aEbXxPK1uki/v44Wb/gVfbemfBjw\nwh+1TW0JI/vVnftB+J9E/Z9+AXib4v2WiQ3U+i6W09tbN92ab7sa/wDfTLXK6mKxko0ofaNlh8PT\nhzM/Mf4lfA7wp+z3Etl4u1JhdtZSXQt4/m2xru+Zv9ncv/oVfLPjfw58WvjZ4xfQfBsKyafDZyN9\noupfKWJm/wBZJNu+8391VVm+9tVmWvYvjH4r+LX7UXxKuvFmpSXWo2lxBGt/Ho8W6O4bczfZ1+8q\nrt+b5tyr8v3t3zdBpfhvU/DV7ZvoF1a+GFs9zwQw+WzfaF3bmb7SvzM391tv8KrX6XknDtHLcB7L\n7Uvil/N/9qfL4jGN1+eP/bpwXw0+E3gL4MaF/ZvhPwbqV3fyWf2VvEl19oia4b/WSfLHJtj+98qq\nrMqrGrM33qv61rGuWUxtfDPgHS1l2N5seoapMys3mMy/8tFXcu7+JW+7/wABqLxdqvxBSxvLbSfG\nl4x+1STyssvzbWVty+Wv/LNvl/3dtcV4hu/iJ4LsP7QitdP1JZIt11HGjJJGvzK33fuyR/Mu7d/F\nur1p8mHhyQjyxMY81SV2F/40+Lmk3Xn6n8N9PvRM264W8lmV1+Zt0bSNt8v5f++fmZdrblrlNZ+J\nxgvXOvfCe8EaurSta3Tfu93ysu1t21d23/gW75W3bV09O+NfgLSWsP7W8L3UV6m5LppvutC0e1lb\n/Z2/xbW+8277vzU7P4heEr66aa11rYkkSwSx30H+rjZv4mX+7/C3zMq/d21wyqX+GodMI8v2S74b\n8b/BHX3it5Li8sLpfmZr6VXij3Mu5V3L93duba33vm+6vzVPqup3l3osWvaJe/afLVbFpFn8ydla\nT93Hub5tv7vcv8P8P+yuZpFt4N1K+ae/ns9VnuLholkk8zzdzKzK25fu+Y38W1mVlX+H5qyLGOx0\nKzuLzStd3wsyo1vMnytDJu+7t/i/vfd/i+8rbaz9rPryjjCB",
"phoneNumber": "My contact's phonenumber"
}
}
Okay, it seems like there is something going wrong with the app. Especially if you are not receiving packet's like these:
{
"id": 1541767163679,
"type": "kdeconnect.sms.messages",
"body": {
"messages": [
{
"address": "555-555-5555",
"body": "Hello",
"date": 1541767162018,
"type": 1, // <--- 0 or 1 (incoming/outgoing)
"read": 0,
"thread_id": 3, // <--- "conversation"
"_id": 277, // <--- message
"event": "sms"
}
],
"event": "batch_messages"
}
}
These are the types of packets we use for SMS communication now (although we do strip information from those older ones). If you go into the App Info -> Permissions then use the top-right menu to select All Permissions, you should see a page like this (this is Oreo, other versions probably look similar):
Can you confirm these permissions are all enabled?
These are the settings on the phone (Samsung galaxy note 4, android 6.0.1):
And on the computer:
(If I want to open the about screen, I get the following:
JS ERROR: Error: Wrong type number; string expected
_init/Gtk.Widget.prototype._init@resource:///org/gnome/gjs/modules/overrides/Gtk.js:60:9
_aboutAction@/home/BOMA/praets/.local/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/daemon.js:399:27
@/home/BOMA/praets/.local/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/daemon.js:881:2
)
If I want to open the about screen, I get the following
Ah yep, a number of users are reporting this. It is fixed in the latest release v16, although I'm unsure why or when it started happening.
It seems you have all the same plugins and permissions as me, so I'm unsure why you aren't receiving SMS history. Are you using the default AOSP or Google Messages apps for SMS? Another user has reported SMS history does not work with Signal, possibly because it does not use Android's database for storing messages.
This is with the default messages app on samsung phones (there is no other app for sms on my phone)
Unsurprisingly, Samsung doesn't have a repo for their messaging app, but a painfully vague Google search seems to indicate they use their own database.
I'll have to start compiling a list of apps that don't support it. So far, I know that Google Messages, the AOSP app and something called Textra will work.
I'm going to mark this a duplicate of #320 where I'll start collecting a list of messaging apps that don't work. Sorry it took so long to figure out, but thanks for digging into the logs!
duplicate of #320
I'm not convinced this needs to be closed because it's certainly not a duplicate of #320. This isn't a history issue. It's the complete lack of SMS notifications since v13 of GSConnect on a range of Samsung phones using the default texting app. I have now tested KDE Connect on the latest KDE 5.14 and there is no problem receiving SMS notifications on desktop, so if GSConnect is based on the latest KDE Connect since the v13+ rewrite, something is definitely wrong in GSConnect and it can't be an upstream issue.
Any info I can provide, please let me know. I'd like to help resolve.
Okay, can you please enable Debugging, be sure Notifications, SMS and Telephony plugins are enabled in both GSConnect and Android, then tell me which of the following packets print when you receive an SMS?
1 Notification
{
"id": 1541767166010,
"type": "kdeconnect.notification",
"body": {
"payloadHash": "ec6586b6d0c86cafae7808258924432a",
"requestReplyId": "f99ff93d-247e-4892-9d47-5895203b6532",
"id": "0|com.google.android.apps.messaging|0|com.google.android.apps.messaging:sms:1|10079",
"appName": "Messages",
"isClearable": true,
"ticker": "My contact: Hello",
"title": "My contact",
"text": "Hello",
"time": "1541767165992"
},
"payloadSize": 8082,
"payloadTransferInfo": {
"port": 1750
}
}
2 SMS
{
"id": 1541767163679,
"type": "kdeconnect.sms.messages",
"body": {
"messages": [
{
"address": "555-555-5555",
"body": "Hello",
"date": 1541767162018,
"type": 1,
"read": 0,
"thread_id": 3,
"_id": 277,
"event": "sms"
}
],
"event": "batch_messages"
}
}
3 Telephony
{
"id": 1541765146299,
"type": "kdeconnect.telephony",
"body": {
"event": "sms",
"messageBody": "Hello",
"contactName": "My contact",
"phoneThumbnail": "",
"phoneNumber": "phoneNumber"
}
}
Certainly. A million thanks for taking another look at this. I'm on Ubuntu 18.10, by the way, latest GSConnect to test this. I tried a few older Samsung phones also, a Galaxy S7, S6, and a very old S3, all of which (with the latest KDE Connect app) push texts to my Kubuntu 18.10 desktop.
In the GSConnect debug console, I see 1 and 3 only, not 2. Each received SMS showed, in order, the following pair in console:
} DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: { "id": 1544520638633, "type": "kdeconnect.telephony", "body": { "event": "sms", "messageBody": "FRM:sms@mc.internetmailserver.net,+ADw-sms+A\nMSG:", "phoneNumber": "1410200505" } } DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: { "id": 1544520639033, "type": "kdeconnect.notification", "body": { "id": "0|com.android.mms|123|null|10040", "isCancel": true }
No text notification appeared on desktop. All plugins and permissions are enabled on both GSConnect and Android. Oddly, it would appear the kdeconnect.notification id is showing mms, yet the test messages sent were definitely SMS.
So this here is the older, deprecated SMS packet, which is sent by the Telephony plugin. This was also deprecated in the KDE Connect desktop client on Sep 17. You can see here where it will bail if the packet is an SMS event.
According to the release tags this should be in 1.3.2+, but that might not be in your distro yet (if sshfs doesn't work that's a strong sign this is the case).
Previously, this was used to show desktop notifications, and I believe KDE Connect used the "duplicate" Notification plugin notification in their Plasma interface.
DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: {
"id": 1544520638633,
"type": "kdeconnect.telephony",
"body": {
"event": "sms",
"messageBody": "FRM:sms@mc.internetmailserver.net,+ADw-sms+A\nMSG:",
"phoneNumber": "1410200505"
}
This next one is a Notification packet indicating that this notification has been closed on the remote device ("isCancel": true
).
DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: {
"id": 1544520639033,
"type": "kdeconnect.notification",
"body": {
"id": "0|com.android.mms|123|null|10040",
"isCancel": true
}
Did you have the phone on with the messaging app open when you received this? If so it may have pre-empted the notification packet from being sent. If not, there should have been a notification packet, possibly before the above Telephony packet. It would have looked something like this:
DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: {
"id": 1544520639033,
"type": "kdeconnect.notification",
"body": {
"payloadHash": "ec6586b6d0c86cafae7808258924432a",
"requestReplyId": "f99ff93d-247e-4892-9d47-5895203b6532",
"id": "0|com.android.mms|123|null|10040",
"appName": "Messages",
"isClearable": true,
"ticker": "1410200505: FRM:sms@mc.internetmailserver.net,+ADw-sms+A\nMSG:",
"title": "1410200505",
"text": "FRM:sms@mc.internetmailserver.net,+ADw-sms+A\nMSG:",
"time": "1541767165992"
},
"payloadSize": 8082,
"payloadTransferInfo": {
"port": 1750
}
I'm just about to go to bed, but I'll try and follow up with this later tomorrow. I'm not sure about the notification packet, but it's looking like we (GSConnect and KDE Connect) might have to offer a "legacy mode" for Samsung phones and possibly others. There are some weird rules in Android now, usually related to what app is the "Default SMS App" that might be preventing notifications as well as SMS history from being read.
My apologies for the late reply. Very interesting indeed. You have figured out the discrepancy. Kubuntu 18.10 does not yet have version 1.3.2. It is still at 'kdeconnect/cosmic 1.3.1-1' in the respositories. Therefore, upon upgrading I would presumably lose legacy Samsung Android support with KDE Connect as well.
As you expected, I had assumed sshfs was working on 18.10 GNOME with GSConnect as on Kubuntu 18.10, but it is not. Dependencies installed correctly, but console shows the following error, and Files > Internal Storage fails:
WARNING: Samsung SAMSUNG-SM-J120A: sshfs: Unable to negotiate with 192.168.1.30 port 1739: no matching host key type found. Their offer: ssh-dss JS ERROR: Gio.IOErrorEnum: Error when getting information for file “/run/user/1000/gsconnect/fd32cd259557efee/emulated/0”: Input/output error openPath/<@/home/kiba/.local/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/device.js:467:17 @/home/kiba/.local/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/daemon.js:839:2
WARNING: Samsung SAMSUNG-SM-J120A: sshfs: read: Connection reset by peer
So that confirms the discrepancy was due to Kubuntu 18.10 being behind KDE Connect's new development.
As for the state of the test phone when it showed the '"isCancel": true' event, it was on with the message app off. I double checked and tested again, and the same is reproduced with the phone on, all apps closed. There is no notification packet like the above example appearing in the terminal either before or after the Telephony packet.
A legacy mode would be incredibly useful, albeit an unfortunate extra necessity. If possible and convenient for me personally on the Android/service provider side, I would also switch to whatever messaging app GSConnect and KDE Connect would support, as messaging notification support is an outstanding feature of this project.
(The default SMS app on 2 of these phones is Samsung Messages; a third uses Samsung Messages+.)
I tend to think this is an Android-side problem, since the notification shown in https://github.com/andyholmes/gnome-shell-extension-gsconnect/issues/318#issuecomment-446137752 doesn't have a body. That's on the Android app to collect, and it is apparently unable to do so
So that confirms the discrepancy was due to Kubuntu 18.10 being behind KDE Connect's new development.
It would be great if you could test on v1.3.3 of KDE Connect. Some bits of our handling for old SMS/Notification packets were changed, but overall much less has changed than in GSConnect You can get v1.3.3 from the Kubuntu Backports repo: https://launchpad.net/%7Ekubuntu-ppa/+archive/ubuntu/backports/ Alternatively, if you have the resources, you could install a KDE Neon VM and test there. They have packaged KDE Connect v1.3.3
A legacy mode would be incredibly useful, albeit an unfortunate extra necessity. If possible and convenient for me personally on the Android/service provider side, I would also switch to whatever messaging app GSConnect and KDE Connect would support, as messaging notification support is an outstanding feature of this project.
(The default SMS app on 2 of these phones is Samsung Messages; a third uses Samsung Messages+.)
Could you give Google Messages a shot? I don't know what part of our app-side changes would be giving us trouble with Samsung's Messages notifications, but I am using Google Messages successfully both with KDE Connect and GSConnect.
I'm travelling on business, but will have more time to sit down and quickly respond over the weekend. I did have time to test KDE Connect v1.3.3 on neon tonight.
I was too hasty in my hope that we had found the source of the discrepancy between KDE Connect Android v1.3.1 pushing text notifications to Plasma, whereas GSConnect v13+ was not. Text notifications work perfectly on the latest version of neon, which I double-checked does indeed come with "kdeconnect/bionic,now 1.3.3-0xneon+18.04+bionic+build9 amd64 [installed,automatic]". In about 24 hours I should have the time to post what's happening in the debug console when text notifications are working on Plasma, however, I don't have kde-runtime installed on neon yet.
I suppose this means it is not, at least directly, an Android-side problem, and there still must be some functional difference between the latest KDE Connect Plasma and the latest several versions of the GSConnect extension, that is somehow apparently erroneously shutting down text notifications with at least some older Samsung phones using the Messages app.
Unfortunately, I won't be able to try Google Messages until the weekend.
Alright. Ran through some tests I hope may be useful for GSConnect. Three laptops -- one the latest neon Developer Stable Edition, one Kubuntu 18.10 w/Backports @5.14.3, one with Pop_OS! 18.10 with GSConnect.
In summary:
0) Updated my Samsung phones and KDE Connect Android app to the latest version; the phone used for the debug example below is now using Google Messages for SMS. There was no change in behavior with Google Messages versus Samsung Messages with KDE Connect. However, with GSConnect, with Samsung Messages I receive no desktop SMS notifications at all; with Google Messages I receive SMS notifications, but they do not function as expected (described below in 2).
1) Plasma KDE Connect on both neon and Kubuntu Backports receives texts correctly; that is, I get a notification upon receiving a text which I can click on that opens a text window showing the text with the Reply box, so that I may receive and send texts from my computer.
2) GSConnect v17 on essentially Ubuntu 18.04 and 18.10, GNOME 3.28 & 3.30, respectively, using Google Messages on Android only, shows a notification in the GNOME notification area upon receiving a SMS. However, the expected behavior that is present in current KDE Connect fails -- as soon as I click on the notification, I get the blank "Type a message" window pictured in the screenshot here:
https://i.imgur.com/b7J4r3H.png
Thus, a user would expect the text shown in notifications to be displayed in the "Type a message" window, as is the case with the latest KDE Connect text window that pops up after you click on the Plasma text notification. Without saving at least the most recently saved text, a user practically wouldn't be able read texts pushed to the desktop that are larger than the GNOME notification space, nor reference that text while typing a reply.
So, there is still a discrepancy between KDE Connect and GSConnect, in that GSConnect only is not saving even single notifications for the Reply window. Since this is not a problem in Plasma, it would seem to be a separate, albeit related, bug from the deeper message history issue reported at #320 (which, incidentally, apparently occurs with Google Messages on a Samsung Phone as in the above screenshot, not only with Signal and Samsung Messages).
Below I've pasted excerpts from the GSConnect debug console using now Google Messages. The first segment is what you see immediately upon receiving a text which is then visible as a GNOME notification.
}
DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: {
"id": 1545025654656,
"type": "kdeconnect.notification",
"body": {
"payloadHash": "4aa98a49582cb77e89a87fa805f223e7",
"id": "0|com.google.android.apps.messaging|0|com.google.android.apps.messaging:sms:47|10134",
"appName": "Messages",
"isClearable": true,
"ticker": "(141) 010-0006: FRM:noreply@textem.net\nMSG:Thanks for your time, Andy and Simon!\n\n",
"title": "(141) 010-0006",
"text": "FRM:noreply@textem.net\nMSG:Thanks for your time, Andy and Simon!\n\n",
"time": "1545025654626"
},
"payloadSize": 2474,
"payloadTransferInfo": {
"port": 1741
}
}
DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: {
"id": 1545025655410,
"type": "kdeconnect.telephony",
"body": {
"event": "sms",
"messageBody": "FRM:noreply@textem.net\nMSG:Thanks for your time, Andy and Simon!\n\n",
"phoneNumber": "1410100006"
}
}
DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: {
"id": 1545025655459,
"type": "kdeconnect.telephony",
"body": {
"event": "sms",
"messageBody": "FRM:noreply@textem.net\nMSG:Thanks for your time, Andy and Simon!\n\n",
"phoneNumber": "1410100006"
}
}
As you can see below, as soon as I click on the GNOME text notification, a blank text Reply box appears (see screenshot above), and I get the "isCancel":true, presumably referring to the content that is not displayed therein.
DEBUG: [core.js:send:450]: Samsung SAMSUNG-SM-J120A: {
"id": 1545025908048,
"type": "kdeconnect.notification.request",
"body": {
"cancel": "0|com.google.android.apps.messaging|0|com.google.android.apps.messaging:sms:47|10134"
}
}
DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: {
"id": 1545025910063,
"type": "kdeconnect.notification",
"body": {
"id": "0|com.google.android.apps.messaging|0|com.google.android.apps.messaging:sms:47|10134",
"isCancel": true
}
So, maybe KDE Connect is doing an extra step to display the SMS in its reply box, whereas GSConnect is expecting a working message history to display texts in reply boxes.
Please let me know if there's any other info you want. Thanks for you time.
It seems that the notification being sent lacks the requestReplyId
field necessary for repliable notifications.
DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: {
"id": 1545025654656,
"type": "kdeconnect.notification",
"body": {
"payloadHash": "4aa98a49582cb77e89a87fa805f223e7",
"id": "0|com.google.android.apps.messaging|0|com.google.android.apps.messaging:sms:47|10134",
"appName": "Messages",
"isClearable": true,
"ticker": "(141) 010-0006: FRM:noreply@textem.net\nMSG:Thanks for your time, Andy and Simon!\n\n",
"title": "(141) 010-0006",
"text": "FRM:noreply@textem.net\nMSG:Thanks for your time, Andy and Simon!\n\n",
"time": "1545025654626"
},
"payloadSize": 2474,
"payloadTransferInfo": {
"port": 1741
}
}
...one the latest neon Developer Stable Edition, one Kubuntu 18.10 w/Backports @5.14.3...
Can you confirm that the version of KDE Connect on either of these is >= 1.3.2? There shouldn't be any discrepancy between the Android client sending requestReplyId
to GSConnect or KDE Connect, so that leads me to believe that the version of KDE Connect is <= 1.3.1. Is it possible the old server is still running?
...whereas GSConnect is expecting a working message history to display texts in reply boxes.
GSConnect doesn't actually have a reply box; the window you're seeing is the full messaging app window. GSConnect uses Android-style "quick-reply" notifications when a notification carries the requestReplyId
:
Since notifications will only carry a "title" and "body", where title could be either a phone number or a name, it's nearly impossible to reliably respond to notifications if the requestReplyId
field is missing.
If you're getting a truly repliable SMS dialog with KDE Connect, I would expect this is because it's a kdeconnect.telephony
packet and not a kdeconnect.notification
packet. @sredman can you confirm that kdeconnect-kde <= 1.3.1
will show a notification that opens a dialog when it receives the legacy kdeconnect.telephony
packet?
DEBUG: [core.js:send:450]: Samsung SAMSUNG-SM-J120A: {
"id": 1545025908048,
"type": "kdeconnect.notification.request",
"body": {
"cancel": "0|com.google.android.apps.messaging|0|com.google.android.apps.messaging:sms:47|10134"
}
}
DEBUG: [core.js:receive/<:404]: Samsung SAMSUNG-SM-J120A: {
"id": 1545025910063,
"type": "kdeconnect.notification",
"body": {
"id": "0|com.google.android.apps.messaging|0|com.google.android.apps.messaging:sms:47|10134",
"isCancel": true
}
These packets seem to be working as intended. The first is GSConnect advising Android that it has closed/acknowledged the notification, and the second is Android replying that it has closed that notification.
Confirmed, repos and installed versions match: kdeconnect | 1.3.3-0ubuntu0.18.10.1~ubuntu18.10~ppa1 | Rik Mills (2018-11-17) for Kubuntu, and kdeconnect | Version: 1.3.3-0xneon+18.04+bionic+build9 for neon.
"GSConnect uses Android-style "quick-reply" notifications when a notification carries the requestReplyId:"
I see. Very nice. Assuming the Plasma distros are reporting their KDE Connect versions correctly, I guess the question is what else could be producing a repliable box in Plasma, since it would seem logical that a missing requestReplyId field would be an Android problem.
Upstream, we also have independent handling of SMS. This has been deprecated in favour of the handling by the Notifications plugin, since that can handle MMS as well as other messaging apps like WhatsApp, but it is still enabled by default, The plugin name in Android is, confusingly, "Send SMS". If you like, you could re-try the KDE Connect tests with that plugin disabled, but it's most likely that the Notifications plugin is not working there either because it's not like there are any special cases in Android to detect the desktop client.
Ok, so I disabled the 'Send SMS' plugin Android-side, sent some texts, and KDE Connect 1.3.3. on both neon as well as Kubuntu 18.10 with Backports still worked as expected. I was able to read and reply on the desktop. Apparently, this means the issue cannot be due to GSConnect anticipating the deprecation of separate SMS handing. Yet, with notifications working in KDE Connect, and with text notifications now briefly visible with GSConnect if and only if I use Google Messages Android-side, I still do not receive repliable text notifications with GSConnect v13+ on any GNOME distro with these older Samsung phones.
Here are a few screenshots of working repliable text notifications with KDE Connect 1.3.3 with the Android SMS plugin disabled (thus using only the now-standard notifications plugin):
1) https://i.imgur.com/4G4RdIu.png 2) https://i.imgur.com/vDqauS0.png
Unless, of course, the bug is that the 'Send SMS' plugin cannot actually be deactivated on the Android app. It does seem to re-check itself upon unpairing and re-pairing the device.
Unless, of course, the bug is that the 'Send SMS' plugin cannot actually be deactivated on the Android app. It does seem to re-check itself upon unpairing and re-pairing the device.
Plugin settings are per-pairing, so that is intended behavior. Hopefully deactivating the plugin actually causes everything to be cleaned up as it should be, but that is a lightly-tested area!
I am about to ask for semi-redundant information, so sorry about that, but I am very confused by what is going on with this.
With Plasma/KDE Connect v1.3.3, (with both plugins enabled) could you please send an SMS to yourself and then screenshot the Plasmoid? It should look roughly like this:
No problem. Anything I can do to help.
Plasma/KDE Connect v1.3.3 plasmoid with both plugins enabled on the Android app:
For that screenshot it looks like Simon is right and the repliable notification is the older packet type. It's unfortunate that the notifications aren't being sent with a requestReplyId
. I'll see if I can get a legacy fallback by next release, but it will certainly have less features.
I'm going to close this since I think it has been addressed with the new legacy UI in v18. Once installed you can enable legacy mode with the following command:
dconf write /org/gnome/shell/extensions/gsconnect/device/<device-id>/plugin/sms/legacy true
You can get a list of device id's with the following command:
dconf read /org/gnome/shell/extensions/gsconnect/devices
You should probably enabled/disable the SMS plugin after doing this. If this doesn't fix the problem, feel free to re-open the issue.
I was away for the holiday. This is a wonderful surprise. Fantastic work. Thank you so much, Andy.
Just to clarify my last comment, with the same testing conditions described above, I have been happily using v18-19 since release with Legacy mode enabled for these older Samsung phones, and this solution works very very well -- indeed more functional now than the default KDE Connect implementation, since GSConnect can initiate SMS from the desktop via the address book window. For my specific obsolete phone problem, at least, your new legacy mode seems to be the optimal solution. Thank you.
Heads up, when v20 is released the internal setting name has changed. So you will have to turn it back on, but there's a switch in the advanced settings page now so you don't have run anything in a terminal :)
Hi,
I really like this program, but I have a problem with incoming sms.
I've got the latest version installed on openSUSE Tumbleweed with gnome 3.30.1, but my sms notifications aren't getting through for a while now. I can't find what's wrong. Sms-plugin is activated on the desktop and my phone.
this is what I have in the debugger:
Also in the debug log, the incoming sms comes up 11 times, everytime with a different id.
What can I do to find the problem?
Thx,
Philip