-
Notifications
You must be signed in to change notification settings - Fork 255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The v5 release can't discover or communicate with devices, under Fedora 26 #6
Comments
Hmm, seems like a chicken-egg problem. The identity packet can't be made until the UDP broadcaster binds to a port, but somehow a device packet is being received in the probably milli-seconds span between the UDP listener binding and the identity packet being built. I'm not sure how that could reliably happen. I've just check v3->v5 and nothing changed that would affect this. It might have just been a bad coincidence or timing fluke. |
If you don't mind digging in a bit, you could move the line in Also, I haven't written the debugging page up yet, but you if you turn on "Debug Mode" in the preferences (on the about page) it will kill the daemon and you can run it in a terminal with:
I should say I really haven't written the debug mode to be easy on users, and the preferences dialog doesn't really deal well when you first turn it on since it's connected to the daemon when it gets killed. Normally the preferences dialog will start the daemon and restart it if it stops, but if debug is on it won't. So you should turn on debug, start the daemon in a terminal, then close and reopen the preferences dialog. |
I'm having the same problem with the same messages on Fedora 26. I'm willing to try and debug, but not sure what you meant when you said: "you could move the line in daemon.js here to just after the UDP inititalization here." I was getting the "this.identity is undefined" error on line 242 of daemon.js. So you are suggesting moving: if (packet.body.deviceId === this.identity.body.deviceId) { return; } somewhere after:
? I did try that but got some different errors ... Thanks. |
I mean move this line from line 605:
After the UDP listener is started on line 574, but before it the listener starts adding devices. So it looks like this and should be on line 575:
I've made this change in my local copy without problems, but there's upwards of a hundred other commits along with it. If you're really brave you can try this Zip: |
Actually, probably what would be easier and better is to add this line:
to the very beginning of the
Then it will just bail if the identity packet isn't built yet. |
I made both changes:
With... some effect. No success, but at least the logs changed.
Most significant would seem to be these; notice how
So then I performed a refresh on the Android app's pairing screen, and the extension logged only this:
|
Virtually identical results to my previous comment, after overwrite-unzipping that package and restarting the Shell. (Logs cover launch of the extension preferences window, a local Refresh, and an Android-app Refresh.)
|
In this case I would only add the line to gsconnect@andyholmes.github.io.zip I'm at a loss as to why this is only being reported on Fedora 26, there shouldn't be any incompatibilities with Gnome Shell 3.24 and I don't use any new features from GJS 1.50. |
Ooh, I missed some from higher up in the initialization. Note that I'm no longer seeing
|
That error seems like it might be a regression of a bug that's come up a couple times in the past with regard to GJS. Here's an old bug from 2012, but I bet it's the same cause: Bug 840414 - gobject-introspection in rawhide ignores LD_LIBRARY_PATH at runtime This is a little bit out of my league, so I'm not sure I can fix it on my end. But you said v3 runs fine? There must be something I'm missing. |
Could you check what version of |
Versions are
v3 runs fine and is fully functional, yes. I looked at the diff of I thought the issue might be a difference in the Gio or DBus semantics betwen Gnome 3.24 and 3.26 that v5 relied on, but the changes to --- a/src/service/protocol.js
+++ b/src/service/protocol.js
@@ -258,7 +258,7 @@ var UdpListener = new Lang.Class({
try {
if (this.socket !== null) {
- this.socket.close(null);
+ this.socket.close();
}
} catch (e) {
log("error closing UDP listener: " + e);
@@ -502,7 +502,7 @@ var LanChannel = new Lang.Class({
try {
if (this._listener) {
- this._listener.close(null);
+ this._listener.close();
}
} catch (e) {
log("error closing listener: " + e);
full stop. (Just for s&g, I reverted that change. No difference, as expected.) It feels like it could perhaps be some sort of esoteric JavaScript parsing/scoping bug, but as far as what change between v3 and v5 could be the trigger... ¯\_(ツ)_/¯ |
(TBH I'm almost at the point of just saying, "Frell it, I'll upgrade the machine to F27" and calling that the 'fix'. The only reason I've been dragging my feet is some chatter indicating Shell/Mutter may be leaking like a sieve in 3.26, so I was kinda letting that play out first. ...Plus, of course, it would be nice in general to have the GSConnect extension working under F26.) |
The only other thing I can think of is the import of Gvc in |
|
That's good, but too bad I have to write my way around Gvc :/ Telephony won't work in that build, but I'll post one here that should after dinner. |
Here you go, this should work until v6 where I can investigate this more:
Sorry, this one instead: |
Thanks, Andy. I had gone back to v3 yesterday, which had worked for me. But reinstalled with the new level and that's also working for me. |
Glad to hear it, it's just too bad you don't get the benefits of Gvc since it does fancy things like roll down the volume when your phone rings. I'll keep investigating, maybe I can get it to work later. |
Just confirming, the latest zipfile posted does indeed work under F26, Telephony included (sans Gvc features). I had the world's most boring SMS conversation with myself last night, right on my Shell desktop. |
@ferdnyc Glad to hear it. Heh, I have about a 300 message conversation of "test" with myself in my phone ;) |
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
indaemon.js
:(
lge
is my LG LS-860 Android phone, which paired just fine once I was running extension v3.)The text was updated successfully, but these errors were encountered: