Firefox Sync Storage / syncstorage-rs

TL:WR: so far I have mixed results:

  • Profiles that existed before connecting to the new syncservice-rs, still sync with each other after switching to the new service.
  • Profiles that are created after switching and only have experience with the new syncservice-rs, only sync with each other
  • It seems these two groups don’t mix : no synchronization from one group to the other
  • I can send tabs from one group to the other though

Longer version:

I set out to test the new syncstorage-rs before decomissioning the old (still very much functional, albeit also very much Python-end-of-life) syncservice.

Test outline:

  • I started with my regular profiles on a laptop, desktop and a phone being in-sync. I added a new profile to the desktop version, and let that sync as well. (Sync was maybe not instantaneous, but done within a minute, including copying and installing of existing plugins)
  • Switched DNS from syncservice to syncservice-rs (with a path from https://sync.domain.tld/ffsync/token/1.0/sync/1.5, to https://sync.domain.tld/token/1.0/sync/1.5 )
  • Installed a new Firefox-based browser (nightly vs regular beta; “FFUpdater” makes it easy to find various Firefox-variants) on the mobile (as Firefox on mobile lacks profiles), set up the syncserver URI to point to https://sync.domain.tld/token/1.0/sync/1.5 and logged in to my Firefox-account
  • open logs on my Yunohost to see if anything is happening
    tail -f /var/log/syncserver-rs/syncserver-rs.log and
    tail -f /var/log/nginx/sync.domain.tld-access.log
  • Confirm that, yes, when I press ‘sync’ on either desktop or mobile, a call is done to the sync service
  • Wait and find that, no, the phone does not receive any profile data

I let the mobile browser run for a while (an hour? Could be more, could be a bit less). No results.
Next:

  • I uninstalled Firefox Nightly, redid the installation and configuration. No improvement for the most part. It does sync with the instance of Nightly that I had just uninstalled, so sync at some level does work (and storage does as well)
  • I installed Firefox Klar. It does not seem to have Firefox/Mozilla account integration or sync capability out of the box.
  • I installed Fennec F-Droid. Nice: this browser has quite a few settings by default that I have to change on regular Firefox. Synchronization though, no go. It does sync with the two Nightly ‘profiles’, but not with the others.
  • As a test, on Fennec, I disabled all syncing, except for logins. After that I tried on Nightly to open a tab from Fennec: not possible: because the ‘send tabs’ sync feature was disabled also in Nightly: the settings had been synced (this was via the third tab on ‘open tabs’ popup, left of ‘incognito’ tabs; long-click on an open tab and share → send to device still works, and can also send to the clients that came from the ‘legacy’ sysnservice.)
  • Finally, I thought of creating another profile on the desktop, that would sync with the new syncserver-rs, so would never have seen the old syncserver. That profile is somewhere in the middle, worst-of-both-worlds:
    • It has a single extension from my synced profiles (desktop-side) but lacks all the rest
    • It is not visible (and does not sync) with my mobile ‘new only’ synchronizations
    • “Send tab to device” does work, for sending and for receiving
    • As opposed to the other desktop-profiles, this profile does not have an “about:sync” page, only the “about:sync-log” page
    • What? While checking the error logs (about:sync-log, or ~/.mozilla/firefox/profileano.t.ao.3/weave/logs ) I just found I made a copy/paste mistake, and tried syncing to the non-existent (at the moment) old syncservice! No wonder nothing got synchronized; very peculiar the tabs could be sent to another device none the less!
    • upon correcting the URI, I still get a 404 on the correct link for the service

It seems that ‘new’ synchronization targets can sync with none of the accounts that have ever touched an old sync service.

To be continued, for sure!

1 Like