Imported issue:
Expected: Mouse is usable immediately
Actual: Mouse can't be used for ~5 secs while server/client restarts for elevation (when already elevated)
Hmm, found what seems to be a possible fix for this bug: the GUI sets the flag to restart the client on desktop switch, ostensibly for the purpose of elevation (when elevation wasn't a GUI config option?). Changing this seemed to make the UAC restart pause disappear, in the 30 seconds of testing I did. :p
diff -Naur synergy-1.4.12-Source.orig/src/gui/src/MainWindow.cpp synergy-1.4.12-Source/src/gui/src/MainWindow.cpp
--- synergy-1.4.12-Source.orig/src/gui/src/MainWindow.cpp 2013-04-11 09:51:17.000000000 -0700
+++ synergy-1.4.12-Source/src/gui/src/MainWindow.cpp 2013-04-15 03:54:16.200377400 -0700
@@ -400,7 +400,9 @@
// is switched; this is because we may need to elevate or not
// based on which desk the user is in (login always needs
// elevation, where as default desk does not).
Tried it on the 1.4.11 release as well as the r1750 nightly, both behave consistently (i.e. bug without patch, fixed after).
Of note: the bug also occurs exactly the same way with KeePass' "secure desktop" option, which I discovered doesn't actually use the UAC desktop but rather creates its own and emulates the same appearance; since I used the same thing for my desktop switching launcher, the bug also happened with that. Bug is definitely linked to the desktop switch in particular, not the elevation.
Anyhow, hope this helps!
And now, the patch hopefully without formatting goof:
diff -Naur synergy-1.4.12-Source.orig/src/gui/src/MainWindow.cpp synergy-1.4.12-Source/src/gui/src/MainWindow.cpp
--- synergy-1.4.12-Source.orig/src/gui/src/MainWindow.cpp 2013-04-11 09:51:17.000000000 -0700
+++ synergy-1.4.12-Source/src/gui/src/MainWindow.cpp 2013-04-15 03:54:16.200377400 -0700
@@ -400,7 +400,9 @@
// is switched; this is because we may need to elevate or not
// based on which desk the user is in (login always needs
// elevation, where as default desk does not).
I now understand how markdown works
diff -Naur synergy-1.4.12-Source.orig/src/gui/src/MainWindow.cpp synergy-1.4.12-Source/src/gui/src/MainWindow.cpp
--- synergy-1.4.12-Source.orig/src/gui/src/MainWindow.cpp 2013-04-11 09:51:17.000000000 -0700
+++ synergy-1.4.12-Source/src/gui/src/MainWindow.cpp 2013-04-15 03:54:16.200377400 -0700
@@ -400,7 +400,9 @@
// is switched; this is because we may need to elevate or not
// based on which desk the user is in (login always needs
// elevation, where as default desk does not).
- args << "--stop-on-desk-switch";
+ if (!m_ElevateProcess) {
+ args << "--stop-on-desk-switch";
+ }
#endif
}
FWIW, I applied this fix to my local source copy of 1.4.17 and it fixed the issue for me. Would be great to have this integrated into the official branch!
Another satisfied hacker chiming in to say that I applied the simple patch above and have no service interruption during UAC prompts!
Is this fix still relevant, and can in be incorporated into the latest builds? It really seemed to help back when I was using 1.4.x, and it seems there are a bunch of other issues here that would be solved by adding this in for all.
Quick update, I pulled the latest commits into my fork, and then re-applied this diff, and sure enough, if I run Synergy in elevated mode, then I don't lose the connection when UAC prompts appear!
The updated diff is:
@@ -527,7 +527,9 @@ void MainWindow::startSynergy()
// is switched; this is because we may need to elevate or not
// based on which desk the user is in (login always needs
// elevation, where as default desk does not).
- args << "--stop-on-desk-switch";
+ if (!appConfig().elevateMode()) {
+ args << "--stop-on-desk-switch";
+ }
#endif
}
I don't know what the current issues are with always running in an elevated mode, but if they're minimal or have been addressed since this was originally opened, I'd strongly suggest pulling this change in.
Subscribing, plus curious, how has this gone over a year w/o being fixed when there is a patch!?!?!? Are you waiting for a pull request? Especially considering how annoying this problem is (I actually have to restart my server to reconnect it seems -- or maybe I just dont wait long enough...).
Can someone test this nightly?
http://synergy-project.org/nightly?filter=synergy-pr5139-fix-redundant-restart-for-elevation-beta-06c853a
I have been using it for about 2 days on my windows 10 laptop.
The server is an Arch linux machine with the latest stable release.
The UAC popup doesn't disconnect me anymore and it also seems to fix a similar disconnect when unlocking windows after having locked windows with win key+l
This might be a different problem.
There is a slight freeze if you move the mouse when unlocking but no disconnect.
(and that might result in a jittery mouse movement that goes back to normal after a minute or two.
The jittery mouse i can't always reproduce it so it might be unrelated or even due to my network)
Anyway it doesn't seem there is any freeze when the UAC appears/disapears so overall this a great fix and i hope it makes it to stable
Fixed by cb6012f91be4c0fe67c6d7a58dbded89dc6e0941
Is there an ETA on when this version might get released?
ssue #3241
SRV: synergy-v1.8.3-rc1-e36a7ae-Linux-x86_64
CLN: synergy-v1.8.3-rc1-e36a7ae-Windows-x64
PASSED. Synergy stayed connected.
Retested bug with RC2 for regressions:
SRV: synergy-v1.8.3-rc2-89c9c58-Linux-x86_64
CLN: synergy-v1.8.3-rc2-89c9c58-Windows-x64
Issue #3241
PASSED. Synergy stayed connected.
Most helpful comment
Retested bug with RC2 for regressions:
SRV: synergy-v1.8.3-rc2-89c9c58-Linux-x86_64
CLN: synergy-v1.8.3-rc2-89c9c58-Windows-x64
Issue #3241
PASSED. Synergy stayed connected.