Sync: Could not get engine #2351

Closed
yurikhan opened this Issue Jan 11, 2016 · 10 comments

Projects

None yet

3 participants

@yurikhan

I am on Firefox 43.0.4, Greasemonkey 3.6. My local Greasemonkey scripts do not sync, although the “Enable Firefox Sync for User Scripts” checkbox in Greasemonkey preferences is checked.

When I set the services.sync.log.appender.file.logOnSuccess preference to true and perform sync, I get this log. This line looks suspicious:

1452516132631   Sync.EngineManager  DEBUG   Could not get engine: greasemonkey

Is that normal? What else should I check?

@janekptacijarabaci
Contributor

See also #2335

@yurikhan

Saw that ticket, but logs there show much more Greasemonkey-related sync activity that I observe here.

@janekptacijarabaci
Contributor

"See also ..." = There is another thread discussing similar issues :-)

@arantius arantius added this to the 3.8 milestone Jan 20, 2016
@arantius
Collaborator
arantius commented Mar 4, 2016

This issue should be fixed in version 3.8beta2. If you're experiencing this problem, please: 1) confirm you're still experiencing it, 2) describe how you confirmed that, 3) install 3.8beta2, 4) check whether it's fixed, 5) describe whether it's fixed or not, and how you know that.

https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/versions/?page=1#version-3.8beta2

@yurikhan
yurikhan commented Mar 4, 2016

1: I experience the problem.

2: I know because I have Firefox with Greasemonkey at home and at work. They sync bookmarks and Stylish userstyles, but not Greasemonkey scripts. The option in Greasemonkey preferences is set on both instances.

3: I have installed 3.8beta2 on both systems.

4: I still have a problem, but not necessary this same problem.

5: I restarted both instances and clicked Tools | Sync Now first on the home instance, then on the work instance. The local scripts I have at home did not sync over to work. The “Could not get engine” message is no longer in the log. Here are Greasemonkey-related log entries from the home instance:

1457113700587   Sync.Tracker.Greasemonkey   DEBUG   Saving changed IDs to greasemonkey
…
1457114041855   Sync.Service    INFO    Testing info/collections: {"clients":1457113541.69,"crypto":1426592609,"stylishsync":1456657023.87,"meta":1428853520.49,"bookmarks":1456812431.83,"prefs":1456811517.97,"greasemonkey":1444222466.42}
…
1457114041861   Sync.Engine.Greasemonkey    INFO    0 outgoing items pre-reconciliation
1457114041862   Sync.Engine.Greasemonkey    INFO    Records: 0 applied, 0 successfully, 0 failed to apply, 0 newly failed to apply, 0 reconciled.

The full log is here.

What other information can I provide to help track down more problems?

@yurikhan yurikhan changed the title from Sync: Cold not get engine to Sync: Could not get engine Mar 4, 2016
@janekptacijarabaci
Contributor

@yurikhan

If they are local scripts (installed from a local drive): see https://github.com/greasemonkey/greasemonkey/blob/3.7/modules/sync.js#L179

@yurikhan
yurikhan commented Mar 7, 2016

So, Sync in Greasemonkey just synchronizes the URLs of scripts installed from remote locations, not the scripts themselves? Why is that useful?

@arantius
Collaborator

Why is that useful?

Because normal users get the same scripts installed on all machines. Sounds like this is all working as intended.

@arantius arantius closed this Apr 18, 2016
@yurikhan

So, if I want to write scripts on one machine and have them replicated to my other machines, what do I do? File another issue?

@arantius
Collaborator

There's a very strict limit to the number of bytes in Sync data (on Mozilla's servers, at least), so such a feature would not "work", general case. You need to solve this yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment