A modernized version of the EAS provider for TbSync v5 for Thunderbird 153
This version has gone through extensive testing, but it is still an early beta release. Please be prepared for data duplication or data loss issues, and have a backup of your calendar and contacts at hand.
You can install the beta version of the EAS provider by dragging the .xpi file links from the Assets section below into Thunderbird’s Add-on Manager. Thunderbird will see the link and download and install the add-on automatically. You also need the beta version of TbSync v5.
Update TbSync as well. This release changes the internal protocol between TbSync and its providers. This provider will not connect to TbSync v5.0.11, and TbSync v5.0.12 will not accept this provider at v5.0.11.
Release plan
This version will auto-update to every new released beta version. At some later time, the version will also be published on ATN (addons.thunderbird.net) for general availability.
Technical notes
This rewrite is on track to eliminate the use of Experiment APIs and become fully compatible with Thunderbird's Release Channel. TbSync and its providers will become pure WebExtensions.
The current beta versions still rely on Experiments for:
- Migrating existing data to WebExtension storage
- Calendar support
See: #309 for discussions.
Important bug fixes:
- re-authenticating an account now works. The account's action button — labelled Authenticate as of this version — did nothing at all: the provider never implemented the hook behind it, so the Event Log filled with
onReauthenticate not implemented by providerand the account stayed frozen. The only way out was to delete the account and add it back. Signing in as a different user is refused, and clicking the button again while the sign-in window is open brings that window to the front - username/password accounts can recover from an authentication failure. They previously had no way out either: correcting the password did not clear the error, and Connect was greyed out. The button now opens the account's settings and hands the account back once you save
- a server-initiated resync no longer duplicates every item in a folder. When a server rejects our sync key, the whole folder is re-fetched — and every item was being re-created next to the copy already in your address book or calendar. Item identity is now recovered from the items themselves, so they are matched up instead
- a refresh token rotated by the server is now saved, so an account that has been running for a while still works after a Thunderbird restart
- cached credentials are dropped when an account is disabled or deleted, rather than living on until Thunderbird restarts