Code Monkey home page Code Monkey logo

gnome-shell-extension-gsconnect's Introduction

GSConnect

Get it on GNOME Extensions Available in the Chrome Web Store Get the Add-On

Overview

GSConnect is a complete implementation of KDE Connect especially for GNOME Shell with Nautilus, Chrome and Firefox integration. The KDE Connect team has applications for Linux, BSD, Android, Sailfish, iOS, macOS and Windows.

With GSConnect you can securely connect to mobile devices and other desktops to:

  • Share files, links and text
  • Send and receive messages
  • Sync clipboard content
  • Sync contacts
  • Sync notifications
  • Control media players
  • Control system volume
  • Execute predefined commands
  • And more…

Please see the Wiki for more information about Features and Help.

Project Status

GSConnect is now under the GitHub organisation GSConnect.

Please note, this project has migrated from a developer-driven model to a community-driven model. This means that GSConnect does not have dedicated developers working on new features or bug fixes. Instead, the project relies on contributions from its users and distributions that choose to package it.

If you would like to take a more active role in the development and maintenance of GSConnect, you can start by triaging new issues, fixing confirmed issues and reviewing contributions. If you need additional permissions, you may request them from one of the current maintainers.

Nightly Builds

For early updaters of GNOME Shell and those that wish to test the upcoming version of GSConnect, there are automated builds available for download. See Installing from Nightly Build for installation instructions.

gnome-shell-extension-gsconnect's People

Contributors

amija004 avatar amivaleo avatar andyholmes avatar anishde12020 avatar bathorypeter avatar daniellandau avatar daphipz avatar dapigguy avatar dependabot[bot] avatar ferdnyc avatar fitojb avatar gautierlab avatar getzze avatar jingmatrix avatar jtojnar avatar l0sted avatar mactavishao avatar madis0 avatar mavit avatar p-bo avatar pesader avatar piotrdrag avatar retrixe avatar ricvelozo avatar serdarsaglam avatar skythrew avatar sonnyp avatar vistaus avatar wsid avatar ymshenyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gnome-shell-extension-gsconnect's Issues

Feature request: Lose / modify the "chat" bubble background colors in SMS

The "chat bubble" colors are a cute idea, but in my experience don't provide the most readable display, despite the use of white text when necessary to meet WCAG contrast standards. The problem, I think, is that the colors are taken from the standard Gnome Tango palette, and those colors were meant to be used in graphic design applications (icons and interface chrome), not for text backgrounds.

I captured this screenshot from one conversation (excuse the partial censoring) β€” it technically passes WCAG contrast tests, but that doesn't mean it's easily readable.

screenshot from 2018-02-01 10-40-17

And your own screenshot has an even worse example, because of the hyperlink coloring:

screenshot from 2018-02-26 20-30-15

I have a feeling the Tango color palette is just too bold to be used for this purpose. If GSConnect is going to color text bubbles, I would suggest having it used a lightened set of colors based on Tango, always paired with black text. (The Gnome HIG even offers, "You are free to use different shades of these colors depending on the desired material effect.")

For example, here's the Tango palette mixed with 80% white (I can generate the corresponding #RRGGBB values if needed)...

screenshot from 2018-02-26 20-47-36

I think something like that would be a much more comfortable palette for message background coloring.

SMS Application does not start

When I click on the SMS button in the extension, nothing happens. Checking the log file gives this:

Error calling openSms: GDBus.Error:org.gnome.gjs.JSError.TypeError: contact.type is null

This is happening on the v4 release

Update suggestions for wiki: Install instructions and FAQ

It took me a while to figure out how to install the latest stable release. I have created a PR to improve this on the main README.md, but it would be good to have step-by-step installation and pairing instructions added as well. I suggest the install instructions are near the top of of the wiki content sidebar.

My install instruction and FAQ suggestions are below.

==== START: Installation Instructions ====
Installation and Pairing Instructions
The following steps will guide you on how to install GSConnect for Gnome. This Gnome extension has not yet been published as an extension and requires manual installation.

  1. Download the latest stable release.
  2. Follow the standard install instructions. Once installed:
  • Gnome may ask you to restart Nautilus.
  • In the Gnome system menu you will see a new "Mobile Devices" menu.
  1. Install the KDE Connect app from Google Play or F-Droid.
  2. Open the KDE Connect app and you should see your "GSConnect" under "Available Devices". Tap on this and the tap "Request Pairing".
  3. A notification will appear in Gnome and request that you accept the pairing, click "Accept".

Your mobile device and your Gnome desktop are now paired and will remain paired when they are on the same network. You can now configure your device.

If you have any issues see the Frequently Asked Questions.
==== END ====

==== START: Suggested Update to FAQ ====
Why don't I see the "Mobile Devices" menu in the Gnome System menu?

Make sure the Gnome extension has not been disabled using the "Gnome Tweak Tool" or at https://extensions.gnome.org/local/.
==== END ====

[DEVEL] Bluetooth Support

The KDEconnect app has supported bluetooth for quite some time now, although the apk needs to be compiled with certain options enabled to use it. Is there any possibility for gsconnect to support bluetooth?

Remove from user menu, when shown in panel

To eliminate redundancy, the indicator(s) should be shown either in the panel or Gnome's user menu. At the moment the indicator is still shown in the user menu, when the option to show in the panel is enabled.

Error in the Installed extension in Tweaker

I am running Gnome on ubuntu 16.04. I tried installing it using git and installing using unzip into the extensions folder. When I try to turn it on in Tweaker it says error and when I try to bring up settings this shows up

Error: can't convert default_value to an integer

Stack trace:
@resource:///org/gnome/gjs/modules/overrides/GObject.js:295
@/home/procerus/.local/share/gnome-shell/extensions/[email protected]/client.js:144
@/home/procerus/.local/share/gnome-shell/extensions/[email protected]/prefs.js:21
Application<._getExtensionPrefsModule@resource:///org/gnome/shell/extensionPrefs/main.js:79
wrapper@resource:///org/gnome/gjs/modules/lang.js:178
Application<._selectExtension@resource:///org/gnome/shell/extensionPrefs/main.js:94
wrapper@resource:///org/gnome/gjs/modules/lang.js:178
Application<._onCommandLine@resource:///org/gnome/shell/extensionPrefs/main.js:259
wrapper@resource:///org/gnome/gjs/modules/lang.js:178
main@resource:///org/gnome/shell/extensionPrefs/main.js:397
@

:1

Request - Clearing phone notifications from desktop

Clearing notifications on my phone from KDE Connect is something that I found quite useful, but doesn't seem to be a thing in GSConnect. I saw on the Notifications Plugin wiki page that it isn't possible.
Is there any chance of it being possible in the future? This is a feature that I'd love to see.

Use libphonenumber

One day I'll get around to this, help would be appreciated in porting libphonenumber to work with GJS 1.48/1.50.

Settings crash

Hi!
When I try to open the extensions settings I get this stacktrace:

Error: can't convert default_value to an integer

Stack trace:
  @resource:///org/gnome/gjs/modules/overrides/GObject.js:295
  @/home/bjarne/.local/share/gnome-shell/extensions/[email protected]/client.js:137
  @/home/bjarne/.local/share/gnome-shell/extensions/[email protected]/prefs.js:24
  Application<._getExtensionPrefsModule@resource:///org/gnome/shell/extensionPrefs/main.js:74
  wrapper@resource:///org/gnome/gjs/modules/lang.js:178
  Application<._selectExtension@resource:///org/gnome/shell/extensionPrefs/main.js:89
  wrapper@resource:///org/gnome/gjs/modules/lang.js:178
  Application<._onCommandLine@resource:///org/gnome/shell/extensionPrefs/main.js:239
  wrapper@resource:///org/gnome/gjs/modules/lang.js:178
  main@resource:///org/gnome/shell/extensionPrefs/main.js:377
  @<main>:1

Distro is Debian 9

Sending battery statistics crashes GSConnect

I'm on Fedora 27 on a t440p, after enabling the battery notification from laptop to phone it entered and infinite crash and loop. I figured that disabling it in Gnome Tweaks stops the loop. I deleted the contents of /home/username/.local/share/gnome-shell/[email protected]/ then re-extracted it, but the boot looping continues. Where does the persistence of configuration reside?

Also I might be wrong in what triggered the infinite looping crash, I turned on almost everything and have the memory of a goldfish. I'll retest for the culprit once I can reset the settings to default.

The v5 release can't discover or communicate with devices, under Fedora 26

I tried running the v5 release under Fedora 26 (gnome-shell 3.24.3) and got no love at all. Other devices never showed up in the preferences interface, and my PC never appeared in the KDE Connect app on Android. Downgrading to v3 made everything happy. (I don't know why I went to v3, skipping v4 β€” I think because the release notes indicated it was specifically written to be compatible with Gnome 3.24.)

Under v5, and with debugging on, a number of errors are logged to the user journal, all centering around issues with this.identity in daemon.js:

Nov 20 01:41:50 teevey gjs[26674]: JS LOG: UdpListener: using port 1716
Nov 20 01:41:50 teevey gjs[26674]: JS LOG: TcpListener: using port 1716
Nov 20 01:41:51 teevey gnome-shell[1634]: [[email protected]]: extension.SystemIndicator._serviceAppeared()
Nov 20 01:41:59 teevey gjs[26674]: JS WARNING: [/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js 121]: reference to undefined property this.identity
Nov 20 01:41:59 teevey gjs[26674]: JS ERROR: TypeError: this.identity is undefined
                                   Daemon<.name@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:121:9
                                   _handlePropertyGet@resource:///org/gnome/gjs/modules/overrides/Gio.js:310:9
                                   _wrapJSObject/<@resource:///org/gnome/gjs/modules/overrides/Gio.js:334:16
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:649:2
Nov 20 01:41:59 teevey gjs[26674]: JS WARNING: [/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js 132]: reference to undefined property this.identity
Nov 20 01:41:59 teevey gjs[26674]: JS ERROR: TypeError: this.identity is undefined
                                   Daemon<.type@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:132:9
                                   _handlePropertyGet@resource:///org/gnome/gjs/modules/overrides/Gio.js:310:9
                                   _wrapJSObject/<@resource:///org/gnome/gjs/modules/overrides/Gio.js:334:16
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:649:2
Nov 20 01:42:00 teevey gnome-shell-ext[26781]: JS LOG: [[email protected]]: PrefsWidget._serviceAppeared()
Nov 20 01:42:00 teevey gjs[26674]: JS WARNING: [/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js 191]: reference to undefined property this.identity
Nov 20 01:42:00 teevey gjs[26674]: JS LOG: [[email protected]]: UdpListener.send()
Nov 20 01:42:00 teevey gjs[26674]: JS ERROR: TypeError: packet is undefined
                                   UdpListener<.send@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/protocol.js:213:1
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.broadcast@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:191:9
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.discovering@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:109:13
                                   _handlePropertySet@resource:///org/gnome/gjs/modules/overrides/Gio.js:318:27
                                   _wrapJSObject/<@resource:///org/gnome/gjs/modules/overrides/Gio.js:337:16
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:649:2
Nov 20 01:42:03 teevey gjs[26674]: JS LOG: [[email protected]]: UdpListener.send()
Nov 20 01:42:03 teevey gjs[26674]: JS ERROR: TypeError: packet is undefined
                                   UdpListener<.send@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/protocol.js:213:1
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.broadcast@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:191:9
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.discovering@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:109:13
                                   _handlePropertySet@resource:///org/gnome/gjs/modules/overrides/Gio.js:318:27
                                   _wrapJSObject/<@resource:///org/gnome/gjs/modules/overrides/Gio.js:337:16
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:649:2
Nov 20 01:42:04 teevey gjs[26674]: JS LOG: [[email protected]]: UdpListener.send()
Nov 20 01:42:04 teevey gjs[26674]: JS LOG: [[email protected]]: UdpListener.send()
Nov 20 01:42:04 teevey gjs[26674]: JS ERROR: TypeError: packet is undefined
                                   UdpListener<.send@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/protocol.js:213:1
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.broadcast@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:191:9
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.discovering@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:109:13
                                   _handlePropertySet@resource:///org/gnome/gjs/modules/overrides/Gio.js:318:27
                                   _wrapJSObject/<@resource:///org/gnome/gjs/modules/overrides/Gio.js:337:16
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:649:2
Nov 20 01:42:09 teevey gjs[26674]: JS LOG: [[email protected]]: UdpListener.receive()
Nov 20 01:42:09 teevey gjs[26674]: JS LOG: [[email protected]]: Daemon._addDevice(lge)
Nov 20 01:42:09 teevey gjs[26674]: JS WARNING: [/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js 241]: reference to undefined property this.identity
Nov 20 01:42:09 teevey gjs[26674]: JS ERROR: TypeError: this.identity is undefined
                                   Daemon<._addDevice@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:241:1
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.vfunc_startup/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:576:17
                                   UdpListener<.receive@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/protocol.js:245:9
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:649:2
Nov 20 01:42:09 teevey gjs[26674]: JS LOG: [[email protected]]: UdpListener.receive()
Nov 20 01:42:09 teevey gjs[26674]: JS LOG: [[email protected]]: Daemon._addDevice(lge)
Nov 20 01:42:09 teevey gjs[26674]: JS ERROR: TypeError: this.identity is undefined
                                   Daemon<._addDevice@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:241:1
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.vfunc_startup/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:576:17
                                   UdpListener<.receive@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/protocol.js:245:9
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:649:2
Nov 20 01:42:09 teevey gjs[26674]: JS LOG: [[email protected]]: UdpListener.receive()
Nov 20 01:42:09 teevey gjs[26674]: JS LOG: [[email protected]]: Daemon._addDevice(lge)
Nov 20 01:42:09 teevey gjs[26674]: JS ERROR: TypeError: this.identity is undefined
                                   Daemon<._addDevice@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:241:1
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.vfunc_startup/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:576:17
                                   UdpListener<.receive@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/protocol.js:245:9
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:649:2

(lge is my LG LS-860 Android phone, which paired just fine once I was running extension v3.)

Using Nautilus’ sharing API

I asked how this would be implemented in Nautilus: Link

Carlos wrote, that there already is an API in flatpaked Nautilus. Could you use that already? :D

Doesn't work in Ubuntu Gnome 16.04

using GNOME Shell 3.18.5
it gives me an error:
Error: can't convert default_value to an integer

Stack trace:
@resource:///org/gnome/gjs/modules/overrides/GObject.js:295
@/home/jeroene/.local/share/gnome-shell/extensions/[email protected]/client.js:140
@/home/jeroene/.local/share/gnome-shell/extensions/[email protected]/prefs.js:24
Application<._getExtensionPrefsModule@resource:///org/gnome/shell/extensionPrefs/main.js:79
wrapper@resource:///org/gnome/gjs/modules/lang.js:178
Application<._selectExtension@resource:///org/gnome/shell/extensionPrefs/main.js:94
wrapper@resource:///org/gnome/gjs/modules/lang.js:178
Application<._onCommandLine@resource:///org/gnome/shell/extensionPrefs/main.js:259
wrapper@resource:///org/gnome/gjs/modules/lang.js:178
main@resource:///org/gnome/shell/extensionPrefs/main.js:397
@

:1

Support scroll packets coming from MousePadPlugin

So in android app there is scroll support:

    public void sendScroll(float dx, float dy) {
        NetworkPackage np = new NetworkPackage(PACKAGE_TYPE_MOUSEPAD_REQUEST);
        np.set("scroll", true);
        np.set("dx", dx);
        np.set("dy", dy);
        device.sendPackage(np);
    }

However your implementation only handles mouse delta changes, not scroll packets

Provide a installation instruction

At the moment you are pointing to a possibility to download a zip file in the "installation" section. There is no mention of what to do with this file (or its content).

I have tried exporting the content to "~/[email protected]/" but that does not seem to work. (You could also mention that with X11 you can restart gnome-shell by pressing Alt+F2, type "r" and hit enter)

Register as handler for "sms:" URI's

It would be very cool if GSConnect could register as handler for sms URI's.
This would mean that an application could implement the following code:

Gtk.show_uri_on_window(null, "sms:123456789", Gtk.get_current_event_time())

... which would then show either a portal on which app to open, or just open a GSConnect SMS window immediately.

I'm not sure how to actually do the registering (I think it's probably going to be something with GLib.AppInfo's methods) and I don't even know if it's possible. But asking doesn't hurt of course :)

Not able to enable plugins for device

Most parts of GSConnect seem to work fine. I am able to connect my phone and so on.
But if I click on the indicator of my phone it says no plugins enabled an if I try to enable them, the settings get lost. If I open the plugin settings again they are all disabled again.

The Daemon log prints the following:

JS ERROR: TypeError: this.device.disablePlugin is not a function
PluginControl<._toggle@/home/chrissi/.local/share/gnome-shell/extensions/[email protected]/widgets/device.js:137:17
wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
@/home/chrissi/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:889:2

JS ERROR: TypeError: this.device.enablePlugin is not a function
PluginControl<._toggle@/home/chrissi/.local/share/gnome-shell/extensions/[email protected]/widgets/device.js:118:26
wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
@/home/chrissi/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:889:2

g_object_unref: assertion 'G_IS_OBJECT (object)' failed

I use Antergos with Gnome Shell 26.2
The plugins looks very promising and I hope you can help with the problem.
Thanks πŸ‘

Buildup of folks-cache.py processes

I happened to look at a ps listing for my machine, and noticed that the extension appears to be folksbombing my machine a bit. There are currently 30 instances of the folks-cache.py script running, about half of which are older than the gnome-shell process, and four even predate the gjs process currently hosting daemon.js. (The newest one is from just 15 minutes ago, possibly started when I reconnected my phone to the local WiFi network.)

Here's a ps listing sorted by time; you can see the gjs process listed fifth, and /usr/bin/gnome-shell/ about halfway down...

%ps -ewo lstart,pid,ppid,pcpu,stat,cmd --sort start_time |egrep '([\/]folks|\sgjs|[\/]gnome-shell)'
Tue Nov 21 20:09:52 2017 27736  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Tue Nov 21 20:09:53 2017 27750  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Tue Nov 21 20:30:50 2017 29136  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Tue Nov 21 20:31:40 2017 29189  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 00:42:02 2017  9087  1355  0.1 Sl   gjs /home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js
Wed Nov 22 00:54:21 2017  9774  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 00:54:41 2017  9817  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 00:59:42 2017 10041  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 01:49:47 2017 12590  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 02:25:46 2017 14401  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 04:39:52 2017 20952  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 06:55:35 2017 27175  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 09:10:34 2017   825  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 10:25:35 2017  4628  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 12:18:55 2017  9760  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 12:49:06 2017 11596  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 13:55:40 2017 15219  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 14:53:52 2017 18071  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 15:28:12 2017 20076  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 17:36:20 2017 26714  1414  4.4 Rl+  /usr/bin/gnome-shell
Wed Nov 22 17:40:34 2017 27040  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 18:32:12 2017 29496  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 19:18:04 2017 31695  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 20:11:39 2017  6480  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 21:25:47 2017  9844  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 22:22:17 2017 12165  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Wed Nov 22 23:10:36 2017 14438  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Thu Nov 23 00:25:40 2017 17675  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Thu Nov 23 01:07:58 2017 19916  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Thu Nov 23 01:08:57 2017 19967  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Fri Nov 24 09:21:39 2017 12814  1355  0.0 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py
Fri Nov 24 15:05:36 2017 27733  1355  0.1 Sl   python3 /home/ferd/.local/share/gnome-shell/extensions/[email protected]/folks-cache.py

They're not really consuming any resources, so it's not a huge problem... but looks like something isn't cleaning up right?

As a reminder, I'm still running the latest zip file from issue #6 , not any of the releases.

Filesystem not mounting when clicking "Browse Files"

I am on Arch Linux with gnome-shell 3.26.2 and v9 of GSConnect. I have sshfs 3.3.1 installed. I've connected GSConnect to a Pixel 2 XL running Android 8.1.0 with KDE Connect 1.7.1.

When I click the "Browse Files" button and select any directory (i.e. "All Files" or "Camera pictures"), nothing happens. When I check the log with journalctl -f I see:

gnome-shell[9173]: [[email protected]]: extension.DeviceMenu._sftpAction()
gjs[9453]: JS LOG: [[email protected]]: SFTP: mount()
gjs[9453]: JS LOG: [[email protected]]: LanChannel.send(a493e8288f2112ab, {"id":0,"type":"kdeconnect.sftp.request","body":{"startBrowsing":true}})
gjs[9453]: JS LOG: [[email protected]]: LanChannel.receive(a493e8288f2112ab)
gjs[9453]: JS LOG: [[email protected]]: Device received: {"id":1519326230000,"type":"kdeconnect.sftp","body":{"ip":"192.168.1.136","port":1739,"user":"kdeconnect","password":"Nz41J0912dr5d9J4AFxqwBlnEyy9","path":"/storage/emulated/0","multiPaths":["/storage/emulated/0","/storage/emulated/0/DCIM/Camera"],"pathNames":["All files","Camera pictures"]}}
gjs[9453]: JS LOG: Received from 'Pixel 2 XL'
gjs[9453]: JS LOG: [[email protected]]: SFTP: handlePacket()
gjs[9453]: JS LOG: [[email protected]]: SFTP: _prepare()
gnome-shell[9173]: [[email protected]]: extension.DeviceMenu._sftpList()
gjs[9453]: [98B blob data]

However, it doesn't seem to actually mount. I was, however, able to manually connect with the data in the "Device Received" line in the log using the command sshfs -o HostKeyAlgorithms=ssh-dss [email protected]:/storage/emulated/0 /home/arnold/test/ -p 1739 and the phone filesystem would mount in the directory "test", showing up in the Nautilus sidebar.

Tap to click does not seem to work

Phone: LG G4 running Android 7.0
Extension version: 9
Gnome version: 3.26.2
Double tap to double click seems to work, multiple fingers does not seem to work either. This did work properly in KDE, so my best guess is that it's an issue with the extension.

Add "Reset All..." button to Keyboard Shortcuts

I am unable to remove shortcuts or it's not clear how to remove them. I'm assuming it works like the rest of Gnome by pressing ESC while setting a new shortcode, but the shortcut is not being unset.
Running ba1ffbb.

BTW, to make it even more like Gnome, you could also add a button to remove a shortcut (only when a shortcut is already set). You can see what I mean in by going System Settings -> Devices -> Keyboard.

Stretched phone icon when using themes

First off, thanks for all the work in such a useful app.

I think there's a bug with the User Menu when themes are applied. The phone and the buttons are stretched wide:

image

This is with the Materia-dark-compact theme. It also happens with the Arc-Dark theme. It doesn't happen when you choose to Display devices in their own panel menu:

image

I realize it's asking a lot to have this work across all themes, but who knows, maybe it's a quick fix.

Prefs window slightly too short for contents

This is admittedly the least critical thing in the world, and I feel almost silly opening an Issue for it, but...

The GSConnect preferences window, at least on my system, is coming up just slightly too short to comfortably hold its contents. This is visible on the About pane, where the bottom of the Debug switch's box is cut off:
screenshot from 2017-11-30 13-01-47
and slightly more so on the Preferences pane, where you have to scroll to see the description of the Nautilus Integration switch:
screenshot from 2017-11-30 13-03-25
The local device entry in the Devices pane also scrolls, though in that case there's nothing but empty space below. The remote device entries all scroll, of course, because their Plugins lists make them much longer.

I couldn't find anywhere in the code where the height of the window was actually set (though I didn't look too hard), but if Shell is sizing it automagically then it's not doing a very good job. Perhaps it was rushed.

"You rush a miracle man, you get rotten miracles!" –Miracle Max, The Princess Bride

sound.js imports from bad path, on x86_64

sound.js contains the following code, to force the import path for Gvc:

const GIRepository = imports.gi.GIRepository;
GIRepository.Repository.prepend_search_path("/usr/lib/gnome-shell");
GIRepository.Repository.prepend_library_path("/usr/lib/gnome-shell");
const Gvc = imports.gi.Gvc;

That fails, at least on my system (Fedora 26 x86_64), with the following message logged to the journal:

Nov 20 01:10:06 teevey gjs[24225]: JS ERROR: Error: Requiring Gvc, version none: Typelib file for namespace 'Gvc' (any version) not found
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/sound.js:14:7
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/plugins/telephony.js:33:7
                                   Daemon<._getIdentityPacket@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:17
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<.vfunc_startup@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:605:25
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   Daemon<._init@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:90:9
                                   wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                   @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:649:2

This is because /usr/lib/gnome-shell/ is an invalid path, and the Gvc-1.0.typelib file lives in /usr/lib64/gnome-shell/. Changing sound.js to use /usr/lib64/gnome-shell eliminates the error.

No unmount for "Browse Files" connection?

Browsing my Android device's filesystem via the sshfs mount to the KDE Connect app's built-in SSH server is pretty snazzy, and performs far better than I'd imagined it would. Very cool.

Am I correct that there's currently no supported way to unmount the remote device's filesystem, after connecting to it through GSConnect? I was able to get the sshfs process stopped and the mount disconnected by switching the plugin off entirely, but that's a bit drastic and hardly convenient for regular use.

Ideally, from my POV, the phone would be connected up through Gio as a GMount. Then it would appear in the Nautilus sidebar when mounted, with an Eject icon provided allowing the user to disconnect it just like any other removable or remote user filesystem mount.

But right now that doesn't seem likely to happen in the near term, since AFAICT it couldn't be done in GSConnect without changes also being made to the Android app. (Even the latest beta appears to still be using deprecated ssh-dss format host keys, and while GSConnect can work around that by enabling support for them on connection, I doubt Gio could easily be talked into doing the same.)

So, until that day when GSConnect is able to just hand the device-filesystem connection off to Gio for management as a standard GMount, and as long as it's forced to manage the remote mounts internally, it does seem like there should be a way to explicitly indicate, "OK, I'm done browsing this device, you can close the connection to its filesystem." Leaving mounts connected indefinitely anytime a device is browsed just feels like a recipe for trouble. The user still has the option to do that, of course, simply by not unmounting their device. But for peace of mind, it's probably best if they also have the option to be a little more cautious.

v7 cannot pair a new device and other issues

OS: Arch Linux latest updates
Gnome: 3.26

Extension is unable to pair with my phone. It is unable to detect any devices. I was able to pair with my PC using patched v5, but it didn't show my Galaxy S7 in the devices list, nor it did show an icon when the respective option was checked.
Also when I attempted to redo pairing with v7, it didn't work. When phone was paired, I was able to use some of the features from the side of the phone, however nothing worked from extension side as the pair didn't show up.

GSConnect can't be run from system directory

Hi!
I've just tried to use the last version (7) but when I try to open the settings dialog, an error occurred with this message :

Gio.DBusError: Erreur lors de l’appel de StartServiceByName pour org.gnome.Shell.Extensions.GSConnectΒ : GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.gnome.Shell.Extensions.GSConnect exited with status 1

Stack trace:
  ProxyBase<._init@/usr/share/gnome-shell/extensions/[email protected]/client.js:40:9
  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
  _parent@resource:///org/gnome/gjs/modules/_legacy.js:39:12
  Daemon<._init@/usr/share/gnome-shell/extensions/[email protected]/client.js:634:9
  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
  PrefsWidget<._init@/usr/share/gnome-shell/extensions/[email protected]/prefs.js:98:23
  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
  buildPrefsWidget@/usr/share/gnome-shell/extensions/[email protected]/prefs.js:216:23
  Application<._selectExtension@resource:///org/gnome/shell/extensionPrefs/main.js:91:22
  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
  Application<._onCommandLine@resource:///org/gnome/shell/extensionPrefs/main.js:246:17
  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
  main@resource:///org/gnome/shell/extensionPrefs/main.js:402:5
  @<main>:1:43

That's all for now ;)

No devices are showing up on KDE app.

I have been trying to get it work for quite sometime now. I can see the Mobile Menu in Gnome system menu. Also, I get this if I turn on debug mode

JS LOG: UdpListener: using port 1716
JS LOG: TcpListener: using port 1716
JS LOG: 0 devices loaded from cache
JS LOG: UdpListener: using port 1716
JS LOG: TcpListener: using port 1716
JS LOG: 0 devices loaded from cache
JS LOG: UdpListener: using port 1716
JS LOG: TcpListener: using port 1716
JS LOG: 0 devices loaded from cache

I just installed ubuntu 17.10. Using gnome version 26.2 and GSconnect v9.

Settings don't open under Ubuntu 17.10

Hey!

When I try to open the settings, the following appears:

Error: Wrong type integer; string expected

Stack trace:
  _init/Gtk.Widget.prototype._init@resource:///org/gnome/gjs/modules/overrides/Gtk.js:48:9
  AboutWidget<._init@/home/sojusnik/.local/share/gnome-shell/extensions/[email protected]/prefs.js:56:28
  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
  PrefsWidget<._init@/home/sojusnik/.local/share/gnome-shell/extensions/[email protected]/prefs.js:140:27
  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
  buildPrefsWidget@/home/sojusnik/.local/share/gnome-shell/extensions/[email protected]/prefs.js:215:23
  Application<._selectExtension@resource:///org/gnome/shell/extensionPrefs/main.js:91:22
  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
  Application<._onCommandLine@resource:///org/gnome/shell/extensionPrefs/main.js:246:17
  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
  main@resource:///org/gnome/shell/extensionPrefs/main.js:402:5
  @<main>:1:43

Pairing with the device itself works. The plugins also seem to work.

Using Ubuntu 17.10 with Gnome 3.26.2 (Xorg, not Wayland) and installed your addon from the Gnome extensions website.

Web browser integration doesn't work in Chrome 65.0

I've installed the Chrome extension but it has a red icon and says "Disconnected from GSConnect". Although I've installed the addon on Firefox Developer Edition and it worked straight away.
I'm using Google Chrome 65.0.3294.5 (Official Build) dev (64-bit) with Fedora 27.

Save sms window geometry

This may fall into the OCD category, but it would be a nice if the sms plugin could remember the window geometry of the last open state (width x height + location). I am not sure if the window position can be stored at the application level. or if that is left up to the window manager. But at least saving the windows last dimensions or having the capability to set it at a user level would be a handy enhancement.

There seemed to be some useful information here:

https://wiki.gnome.org/HowDoI/SaveWindowState

Unable to browse SD card

My phone is a Motorola Moto G 3nd Gen running Android 6.0.1 and KDE Connect 1.7.1

Using MConnect and KDE-Connect I can browse both internal storage and SD card

Unfortunately using GSConnect 9 I can browse internal storage but I cannot browse SD card.

[Enhancement] Change main panel icon

it's only enhancement, if you like:
2018-02-04 01-52-57
SVG:

<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="16" height="16" version="1.1" viewBox="0 0 4.2333332 4.2333333" xmlns="http://www.w3.org/2000/svg">
 <g transform="translate(0,-292.76665)">
  <path transform="matrix(.26458333 0 0 .26458333 0 292.76665)" style="fill:#ececec" d="m8 1c-3.8659932 1e-7 -6.9999999 3.1340068-7 7 1e-7 3.865993 3.1340068 7 7 7 3.865993 0 7-3.134007 7-7v-1h-0.080078-2.025391-3.1660154a1.9999999 1.9999999 0 0 0-1.7285156-1 1.9999999 1.9999999 0 0 0-2 2 1.9999999 1.9999999 0 0 0 2 2 1.9999999 1.9999999 0 0 0 1.7324219-1.0039062l3.1679691-0.0058594c-0.471248 2.3323546-2.520902 4.0094936-4.900391 4.0097656-2.7614238 0-5.0000001-2.238576-5-5-1e-7 -2.7614238 2.2385762-5.0000001 5-5 1.0785093 0.00211 2.127427 0.3528904 2.990234 1h2.751954c-1.308282-1.8788763-3.452696-2.9992232-5.742188-3zm0 3c-2.209139-1e-7 -4.0000001 1.790861-4 4-1e-7 2.209139 1.790861 4 4 4v-1c-1.6568542 0-3-1.3431458-3-3s1.3431458-3 3-3v-1z"/>
 </g>
</svg>

Unable to connect to multiple instances of gsconnect

gsconnect won't allow me to connect to a device already paired with gsconnect on a different computer.
Trying to pair my phone with both a laptop and a desktop on the same network.

JS LOG: Error connecting: Gio.TlsError: Peer sent fatal TLS alert: Unknown certificate
JS LOG: Disconnected from 'Nexus 5x'
JS LOG: [[email protected]]: Daemon._removeDevice(/org/gnome/Shell/Extensions/GSConnect/Device/c450b34d86d9965a)
JS LOG: Daemon: Removing device
JS LOG: [[email protected]]: Daemon: Notify()
JS LOG: [[email protected]]: Daemon: Notify()
JS LOG: [[email protected]]: Daemon: Notify()
JS LOG: [[email protected]]: UdpListener.send()
JS LOG: [[email protected]]: UdpListener.receive()
JS LOG: [[email protected]]: Daemon._addDevice(lafiel)
JS LOG: [[email protected]]: UdpListener.send()
JS LOG: [[email protected]]: UdpListener.receive()
JS LOG: [[email protected]]: Daemon._addDevice(lafiel)
JS LOG: [[email protected]]: UdpListener.receive()
JS LOG: [[email protected]]: Daemon._addDevice(Nexus 5x)
JS LOG: Daemon: Adding device
JS LOG: [[email protected]]: Device.activate(c450b34d86d9965a)
JS LOG: Connecting to 'c450b34d86d9965a'
JS LOG: [[email protected]]: Device.activate(c450b34d86d9965a)
JS LOG: [[email protected]]: device already active
JS LOG: Error connecting: Gio.TlsError: Peer sent fatal TLS alert: Unknown certificate
JS LOG: Disconnected from 'Nexus 5x'
JS LOG: [[email protected]]: Daemon._removeDevice(/org/gnome/Shell/Extensions/GSConnect/Device/c450b34d86d9965a)
JS LOG: Daemon: Removing device
JS LOG: [[email protected]]: UdpListener.receive()
JS LOG: [[email protected]]: Daemon._addDevice(Nexus 5x)
JS LOG: Daemon: Adding device
JS LOG: [[email protected]]: Device.activate(c450b34d86d9965a)
JS LOG: Connecting to 'c450b34d86d9965a'
JS LOG: [[email protected]]: Device.activate(c450b34d86d9965a)
JS LOG: [[email protected]]: device already active
JS LOG: Error connecting: Gio.TlsError: Peer sent fatal TLS alert: Unknown certificate
JS LOG: Disconnected from 'Nexus 5x'
JS LOG: [[email protected]]: Daemon._removeDevice(/org/gnome/Shell/Extensions/GSConnect/Device/c450b34d86d9965a)
JS LOG: Daemon: Removing device
JS LOG: [[email protected]]: UdpListener.receive()
JS LOG: [[email protected]]: Daemon._addDevice(Nexus 5x)
JS LOG: Daemon: Adding device
JS LOG: [[email protected]]: Device.activate(c450b34d86d9965a)
JS LOG: Connecting to 'c450b34d86d9965a'
JS LOG: [[email protected]]: Device.activate(c450b34d86d9965a)
JS LOG: [[email protected]]: device already active
JS LOG: Error connecting: Gio.TlsError: Peer sent fatal TLS alert: Unknown certificate
JS LOG: Disconnected from 'Nexus 5x'
JS LOG: [[email protected]]: Daemon._removeDevice(/org/gnome/Shell/Extensions/GSConnect/Device/c450b34d86d9965a)
JS LOG: Daemon: Removing device
JS LOG: [[email protected]]: UdpListener.receive()
JS LOG: [[email protected]]: Daemon._addDevice(Nexus 5x)
JS LOG: Daemon: Adding device
JS LOG: [[email protected]]: Device.activate(c450b34d86d9965a)
JS LOG: Connecting to 'c450b34d86d9965a'
JS LOG: [[email protected]]: UdpListener.receive()
JS LOG: [[email protected]]: Daemon._addDevice(Nexus 5x)
JS LOG: Daemon: Updating device
JS LOG: Received from 'Nexus 5x'
JS LOG: [[email protected]]: Device.activate(c450b34d86d9965a)
JS LOG: [[email protected]]: device already active
JS LOG: [[email protected]]: Device.activate(c450b34d86d9965a)
JS LOG: [[email protected]]: device already active
JS LOG: Error connecting: Gio.TlsError: Peer sent fatal TLS alert: Unknown certificate
JS LOG: Disconnected from 'Nexus 5x'
JS LOG: [[email protected]]: Daemon._removeDevice(/org/gnome/Shell/Extensions/GSConnect/Device/c450b34d86d9965a)
JS LOG: Daemon: Removing device
JS LOG: [[email protected]]: Daemon: Notify()
JS LOG: [[email protected]]: Daemon: Notify()

[Feature thinking] Using XMPP

Actually, GSConnect use the KDE Connect protocol.

But what about using XMPP?

You can use :

It's just a thinking, but it could be useful to GSConnect.

Country Code issue

A bit of an odd issue. If I receive an SMS message, number is being recognized, I can display it in a popup window (SMS App) and respond. However, when I then check my phone, those messages are not sent, even though they appear in a correct conversation. If I pick a contact from the list in SMS App and send message this way, it is being sent correctly. The only difference is that when message arrives and I respond to it, it has a phone number prefixed with country code (+44 for UK). When I send it after picking a contact from the list, it only ha a 0 prefix. So I guess my phone app is picky when it comes to sending SMS to a number with country code prefix. If I add the country prefix with 00 instead of + (so 0044 instead of +44) it all works well. Is it possible to add feature that will convert + to 00? it would mean that I could have my conversation in a single window in SMS App.

Gnome Shell crashes

Hey there! I'm getting Gnome Shell crashes on the latest commit (88f10bf). See my log file.

Settings schema 'org.gnome.shell.extensions.gsconnect' does not contain a key named 'show-battery'
== Stack trace for context 0x5599d0c62000 ==
#0 0x7fffc54fa340 b   /home/thomas/.local/share/gnome-shell/extensions/[email protected]/extension.js:277 (0x7ff4053174d8 @ 622)
#1 0x7fffc54fa3b0 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7ff4500c2bc0 @ 71)
#2 0x7fffc54fa480 b   self-hosted:917 (0x7ff4500ee5e8 @ 394)
#3 0x5599d0fe7b00 i   /home/thomas/.local/share/gnome-shell/extensions/[email protected]/client.js:425 (0x7ff405327b38 @ 92)
(EE)
Fatal server error:
(EE) failed to read Wayland events: Connection reset by peer
(EE)

Duplicate SMS messages

Hello, whenever I receive an SMS message, the chat interface displays five duplicate messages. Here is the relevant debug information:

JS LOG: [[email protected]]: LanChannel.receive(12345)
JS LOG: [[email protected]]: Device received:
{"id":1518047754579,"type":"kdeconnect.telephony","body":{"event":"sms","messageBody":"Message
","contactName":"Name","phoneThumbnail":"","phoneNumber":"+11231231234"}}
JS LOG: Received from 'essential'
JS LOG: [[email protected]]: Telephony: handlePacket()
JS LOG: [[email protected]]: Telephony: _handleSMS()
JS LOG: [[email protected]]: Telephony: _hasWindow(+11231231234)
JS LOG: [[email protected]]: LanChannel.receive(12345)
JS LOG: [[email protected]]: Device received:
{"id":1518047754603,"type":"kdeconnect.telephony","body":{"event":"sms","messageBody":"Message
","contactName":"Name","phoneThumbnail":"","phoneNumber":"+11231231234"}}
JS LOG: Received from 'essential'
JS LOG: [[email protected]]: Telephony: handlePacket()
JS LOG: [[email protected]]: Telephony: _handleSMS()
JS LOG: [[email protected]]: Telephony: _hasWindow(+11231231234)
JS LOG: [[email protected]]: LanChannel.receive(12345)
JS LOG: [[email protected]]: Device received:
{"id":1518047754624,"type":"kdeconnect.telephony","body":{"event":"sms","messageBody":"Message
","contactName":"Name","phoneThumbnail":"","phoneNumber":"+11231231234"}}
JS LOG: Received from 'essential'
JS LOG: [[email protected]]: Telephony: handlePacket()
JS LOG: [[email protected]]: Telephony: _handleSMS()
JS LOG: [[email protected]]: Telephony: _hasWindow(+11231231234)
JS LOG: [[email protected]]: LanChannel.receive(12345)
JS LOG: [[email protected]]: Device received:
{"id":1518047754660,"type":"kdeconnect.telephony","body":{"event":"sms","messageBody":"Message
","contactName":"Name","phoneThumbnail":"","phoneNumber":"+11231231234"}}
JS LOG: Received from 'essential'
JS LOG: [[email protected]]: Telephony: handlePacket()
JS LOG: [[email protected]]: Telephony: _handleSMS()
JS LOG: [[email protected]]: Telephony: _hasWindow(+11231231234)
JS LOG: [[email protected]]: LanChannel.receive(12345)
JS LOG: [[email protected]]: Device received:
{"id":1518047754685,"type":"kdeconnect.telephony","body":{"event":"sms","messageBody":"Message
","contactName":"Name","phoneThumbnail":"","phoneNumber":"+11231231234"}}
JS LOG: Received from 'essential'
JS LOG: [[email protected]]: Telephony: handlePacket()
JS LOG: [[email protected]]: Telephony: _handleSMS()
JS LOG: [[email protected]]: Telephony: _hasWindow(+11231231234)
JS LOG: [[email protected]]: LanChannel.receive(12345)

I pulled down the the project and was able to build and run it, but I'm actually not receiving texts at all on the master branch, and the chat interface seems to be in limbo on the v10 branch. I'd be interested in looking into this bug!

daemon.js spewing null-value errors to journal (by the thousands)

Update

I've determined that the source of the problems could be caused by inadvertent local changes to folks-cache.py (see followup comment below), so please ignore this for right now while I revert those.

Original Report

Yikes. One of my two devices wasn't showing status in the User Menu even though it was on the network, so I went looking for error output in the journal only to discover these messages being output, in bursts, at the rate of many per second:

Dec 01 02:54:45 teevey gjs[9775]: JS ERROR: TypeError: this.model.get_value(...) is null
                                  ContactCompletion<._match@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:184:20
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._add@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:177:1
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._populate@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:150:13
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._init/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:140:13
                                  ContactsCache<._init/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/plugins/telephony.js:626:17
                                  @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:653:2
Dec 01 02:54:45 teevey gjs[9775]: JS ERROR: TypeError: this.model.get_value(...) is null
                                  ContactCompletion<._match@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:184:20
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._add@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:177:1
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._populate@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:150:13
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._init/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:140:13
                                  ContactsCache<._init/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/plugins/telephony.js:626:17
                                  @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:653:2
Dec 01 02:54:45 teevey gjs[9775]: JS ERROR: TypeError: this.model.get_value(...) is null
                                  ContactCompletion<._match@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:184:20
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._add@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:177:1
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._populate@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:150:13
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._init/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:140:13
                                  ContactsCache<._init/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/plugins/telephony.js:626:17
                                  @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:653:2
Dec 01 02:54:45 teevey gjs[9775]: JS ERROR: TypeError: this.model.get_value(...) is null
                                  ContactCompletion<._match@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:184:20
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._add@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:177:1
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._populate@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:150:13
                                  wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                  ContactCompletion<._init/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/widgets/telephony.js:140:13
                                  ContactsCache<._init/<@/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/plugins/telephony.js:626:17
                                  @/home/ferd/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:653:2

In the three seconds from Dec 01 02:54:43 to Dec 01 02:54:45, grep counts 1204 instances of 'model.get_value', but none immediately before and none since then. (As I type this sentence it's now Dec 01 03:07 locally.) They seem to come in infrequent bursts, but every time they do come it's a deluge. Here's a per-second count of the number of those messages logged, over the past 10k lines of my user journal:

% IFS="
"; for string in `journalctl --user -n 10000 |grep 'model.get_value' |cut -c1-15|uniq`; do echo -n "${string} - "; journalctl --user -n 10000 --no-pager |grep 'model.get_value' |grep -c "${string}"; done
Nov 30 21:01:22 - 201
Nov 30 21:01:23 - 402
Nov 30 21:01:24 - 601
Nov 30 21:39:00 - 157
Nov 30 21:39:01 - 231
Nov 30 21:39:02 - 215
Nov 30 21:39:03 - 517
Nov 30 21:39:04 - 84
Nov 30 22:42:18 - 247
Nov 30 22:42:19 - 481
Nov 30 22:42:20 - 476
Nov 30 23:39:13 - 201
Nov 30 23:39:14 - 561
Nov 30 23:39:15 - 442
Dec 01 00:53:52 - 36
Dec 01 00:53:53 - 354
Dec 01 00:53:54 - 641
Dec 01 00:53:55 - 173
Dec 01 01:42:12 - 380
Dec 01 01:42:13 - 635
Dec 01 01:42:14 - 189
Dec 01 02:13:14 - 146
Dec 01 02:13:15 - 508
Dec 01 02:13:16 - 550
Dec 01 02:54:43 - 352
Dec 01 02:54:44 - 413
Dec 01 02:54:45 - 439

Which, if you're playing along at home, means that 9,632 of the last 10,000 journal lines (96.3%) are that message. Or, going back farther, 18,431/20,000 (92.2%); 34,850/40,000 (87.1%); 44,346/50,000 (88.7%). Going back 50k lines only gets me as far as Nov 29 17:55:30 (a day and a half ago), and nowhere near the first instance of this issue. (Which may be Nov 26, though I also found a single, solitary matching log message back on Nov 22. The gjs process hosting daemon.js with PID 9775 was started on Nov 24. So only that one solitary outlier predates the current process, and these massive bursts didn't start up until the current daemon process had been running for around two days. Curiouser and curiouser.)

Each spam-burst looks to be preceded by this exact sequence. (That's based on a spot-check of two or three, I haven't examined every burst.) It always involves the same one of my two paired devices. (Not the one that isn't reporting correctly in the user menu, so that's probably completely unrelated and I'm not yet sure what the issue is there. But it makes sense that my phone 'lge' would be the device triggering this, as it's the only one for which the Telephony plugin is enabled. The other device is WiFi-only with no mobile service.)

Dec 01 02:54:34 teevey gjs[9775]: JS LOG: Failed to receive packet: Gio.TlsError: TLS connection closed unexpectedly
Dec 01 02:54:34 teevey gjs[9775]: JS LOG: Disconnected from 'lge'
Dec 01 02:54:41 teevey gjs[9775]: JS LOG: Daemon: Updating device
Dec 01 02:54:41 teevey gjs[9775]: JS LOG: Connecting to '${REDACTED}'
Dec 01 02:54:41 teevey gjs[9775]: JS LOG: Daemon: Updating device
Dec 01 02:54:42 teevey gjs[9775]: JS LOG: Authenticating '${REDACTED}'
Dec 01 02:54:42 teevey gjs[9775]: JS LOG: Connected to 'lge'

I'm still investigating here on my end, and will update if I come up with anything more to go on. For all the data I've spammed into this report (...revenge? πŸ˜‰), I realize it's somewhat light on useful info so far. I apologize for that, and will attempt to rectify it. But, any thoughts would be welcome!

Unable to delete unwanted device

I run Fedora with gnome-shell and I have VirtualBox installed.
I booted Fedora KDE as guest in a virtual machine.
Since this boot and as KDE include KDE Connect, I have my KDE user listed as GSConnect device and in the gnome-shell top bar I have a red icon who indicates this KDE user is not associated with GSConnect.
I did not find any way to delete this unwanted device and by the way suppress the red icon in gnome-shell top bar.
How can I do that ?

Improvements to SMS application and notifications

New to reporting issues/request hope it helps:

  1. No sound effects on notifications, made sure install all dependencies mentioned on the wiki.
  2. Would like to see time stamps on sms messages
  3. Would also like to have an option to save sms history, and ability to see them if you opened an SMS window with the specific person.
  4. I saw you can't receive or send images because of KDE connect, but is it possible to show a message on the sms chat about receiving an Image.
  5. Along with the Image notification, is it possible to receive the text that was sent along with the image?
  6. Sometimes when I receive notifications from gsconnect, even when I close the notification it will reappear again as if it was a new notification.
  7. An option to open an sms window automatically when a text is received
  8. On SMS chat window, a way to pull a list of emoticons from Characters (on fedora, not sure what other OSes use)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.