Skip to content
This repository has been archived by the owner on Jul 2, 2024. It is now read-only.

Compatibility with Thunderbird 67 and newer versions #277

Open
jschwartzenberg opened this issue May 14, 2019 · 87 comments
Open

Compatibility with Thunderbird 67 and newer versions #277

jschwartzenberg opened this issue May 14, 2019 · 87 comments

Comments

@jschwartzenberg
Copy link

It is not possible to install the XPI of v5.0.0-alpha3 on Thunderbird 67.0b3.

"This add-on could not be installed because it is not compatible with Thunderbird 67.0."

Does anybody happen to know what is necessary to get this to work? I would prefer using the latest release version, but I have a RHEL6 system on which the latest release version of Thunderbird crashes. This beta version works without issues however.

@swartzieee
Copy link

What are the chances that this add-on will be written to be compatible with Thunderbird v68? I believe it will to be out of beta soon.

@eric-hinkle
Copy link

Agreed! Would love to see this available on 68, i am no longer able to use this now that i have updated. bummer....

@advancingu advancingu changed the title Thunderbird 67.0 compatibility Compatibility with Thunderbird 67 and newer versions Aug 29, 2019
@elhennig
Copy link

I will not update TB until I know if I can use this addon afterwards. Is there anything that can be done to help sorting this request out?

@advancingu
Copy link
Member

@elhennig As far as I can tell, there is a lot of work necessary. Most of the add-on code is of questionable quality and several years old. @Trim did a lot of structural clean-up work in the past but we didn't touch any of the Thunderbird specific add-on code.

I will try to take a closer look once Ubuntu has officially rolled out the update and I don't have to mess around with prerelease channels.

@TokenRing
Copy link

First thing I did was fresh install TB68 in a VM and see which extensions would actually work, and which ones wouldn't. This is the first "must have" extension I came across that is incompatible.

I'm in no rush - thanks for doing everything you do, advancingu. I'm fine with TB60 ESR at the moment. 68 can wait!

@jamesquilty
Copy link

jamesquilty commented Aug 29, 2019

@advancingu @Trim I want to help facilitate updates for TB 68 ESR compatibility, per my multiple comments in #163. As I asked there, would it be possible for me to be added as member of ExchangeCalendar so I can contribute?

Edited to add: there is relevant discussion about add-on compatibility happening right now on tb-planning, which is an opportunity to have the ExchangeCalendar extension, which is critically important for many users, receive similar recognition and support to other critically important calendaring extensions.

@advancingu
Copy link
Member

@jamesquilty Thanks for your offer. Best way to start is simply by forking the repository and then submitting merge requests (PRs) from your repository back to this one here. This can be done independent of membership.

Regarding the mailing list, are you referring to this thread?

@jamesquilty
Copy link

@advancingu There have been several relevant threads in tb-planning August, since the request to relay an offer of help with updating extensions I cited in #163 comment 5. I'd specifically draw your attention to this thread, and specifically the discussion from this post.

In those threads, there's a link to https://developer.thunderbird.net/add-ons/updates/tb68 which is directly relevant to this issue:

Changes in Thunderbird 61-68

This document tries to cover all the changes that may by needed to make add-ons compatible with Thunderbird 68. If you find stuff that is no longer working but is not yet on this list, ask for help and advice in the mozilla.dev.apps.thunderbird newsgroup or check our communication channels.

@holle
Copy link

holle commented Sep 6, 2019

Hi guys,

I just updated my rather complex extension to work with TB 68 and, yes, it took some time to figure out everything but as of now the "old style" XUL interface can be kept. You need to convert from install.rdf to manifest.json and then (probably) fix the preferences a bit. The major changes for me were to replace the by html:textarea elements and recreate some of the by since some weird layout bug caused them to render differently. Apart from that and some new eventHandlers I had to use instead of using onpageshow=".." attributes everything went fine. I would be glad to help if you need some advice or suggestions. Cheers, Holger

@attila123
Copy link

Workaround for Arch/Manjaro users so that they can stay at Thunderbird 60.x: I just added it (based on thunderbird-bin) due to this issue: https://aur.archlinux.org/packages/thunderbird-60-bin

@fweidner
Copy link

Hi folks,

could anyone say (or write down) a few words about the problem(s) with the current extension and TB68? That would provide interested developers (like me) with a starting point for debugging or fixing issues.

Best, Florian

@mmadela
Copy link

mmadela commented Sep 19, 2019

Hello
the plugin info file format and name was changed,

the old one is install.rdf
the new one is manifest.json

BR

@skullandbones
Copy link

I am running Fedora 29 and installed some updates which caused Thunderbird to get updated to 68.1.0 (package thunderbird-68.1.0-1.fc29.x86_64). Now my exchange calendar no longer works.

I tried to install exchangecalendar-v5.0.0-beta1.xpi but Thunderbird refused to install it saying "not compatible with Thunderbird 68.1.0).

Thanks for looking.

@attila123
Copy link

attila123 commented Sep 30, 2019

Alternative solution for TB 68 which does not require this add-on: use DavMail. It is a separate (java) application, which acts kind of a protocol translator between Outlook 365/Exchange and TB. Then you can set up your calendar using the CalDav protocol (no need to change your email settings).

@bberndt
Copy link

bberndt commented Sep 30, 2019

Alternative solution for TB 68 which does not require this add-on: use DavMail. It is a separate (java) application, which acts kind of a protocol translator between Outlook 365/Exchange and TB. Then you can set up your calendar using the CalDav protocol (no need to change your email settings).

Also, for Linux, Evolution from the Gnome project, works well. Im not a fan because I like keeping my mail OFF the mail server. Evolution's native Exchange works jut like Outlook, keeping mail ON the serve.r

advancingu added a commit that referenced this issue Oct 6, 2019
* Refactor `install.rdf` to `manifest.json`.
advancingu added a commit that referenced this issue Oct 6, 2019
* Fix version number to actual next release.
@advancingu
Copy link
Member

I've opened up PR #304 where the old install.rdf is replaced with manifest.json.

Since Ubuntu still hasn't rolled out Thunderbird 68, maybe someone can test this PR and report back what is broken. I imagine a lot of permissions will be missing.

@tomryanx
Copy link

tomryanx commented Oct 6, 2019

@advancingu Could you give some details around testing this? I've successfully checked out, built and installed 5.0.0-beta2 from the 277-thunderbird-67-compatibility branch. As you suggest, it isn't working, so I'd like to get you a detailed report.

I don't see any errors related to permissions (but I'm probably not looking in the right place). My existing exchange calendars are greyed out, and the option to add a new exchange calendar is not present in New Calender => On the Network

I'm running TB 68.1.0 on OpenBSD-current

@holle
Copy link

holle commented Oct 7, 2019

Hi folks,

the JS Console showed these errors when trying to use the 277-thunderbird-67-compatibility branch. I am at 7ea16ee using an empty TB 68.0 Profile and an empty TB 68.1.1 Profile

1570433280058 addons.webextension. WARN Loading extension 'null': Reading manifest: Error processing version_name: An unexpected property was found in the WebExtension manifest.
1570433280061 addons.xpi WARN Failed to parse recommendation: TypeError: NetworkError when attempting to fetch resource. No traceback available
1570433282658 addons.webextension. WARN Loading extension 'null': Reading manifest: Error processing version_name: An unexpected property was found in the WebExtension manifest.
1570433282679 addons.webextension.github.com_exchangecalendar@community.invalid WARN Loading extension 'github.com_exchangecalendar@community.invalid': Reading manifest: Error processing version_name: An unexpected property was found in the WebExtension manifest.

Furthermore the thundernest-addons-linter reports:
Validation Summary:

errors 0
notices 0
warnings 3

WARNINGS:

Code Message Description File Line Column
CSS_SYNTAX_ERROR Unknown word An error was found in the CSS file being processed as a result further processing of that file is not possible common/theme/common/delegateCalendar.css 20 25
CSS_SYNTAX_ERROR Unclosed block An error was found in the CSS file being processed as a result further processing of that file is not possible common/theme/mac/attachments-view.css 12 1
CSS_SYNTAX_ERROR Unexpected } An error was found in the CSS file being processed as a result further processing of that file is not possible common/theme/common/priority-display.css 544 1

@holle
Copy link

holle commented Oct 7, 2019

Hi folgs,

this patch fixes the CSS errors:

diff --git a/common/theme/common/delegateCalendar.css b/common/theme/common/delegateCalendar.css
index 7d04bdd..54168cd 100644
--- a/common/theme/common/delegateCalendar.css
+++ b/common/theme/common/delegateCalendar.css
@@ -17,7 +17,7 @@
}

-listitem[selected] { // or listitem[selected=true]
+listitem[selected] { /* or listitem[selected=true] */
background-color: red;
color: yellow;
}
@@ -69,4 +69,4 @@ treechildren::-moz-tree-checkbox(disabled)
Firefox 1, 2, and 3 in Mac OS X, so you should specify a URL to an image
in your extension or elsewhere. */
list-style-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif");
-}
\ No newline at end of file
+}
diff --git a/common/theme/common/priority-display.css b/common/theme/common/priority-display.css
index 2107073..9054f12 100644
--- a/common/theme/common/priority-display.css
+++ b/common/theme/common/priority-display.css
@@ -540,7 +540,7 @@
border-color: #993399;
}
#threadTree treechildren::-moz-tree-row(n){
-text-shadow: white 0 -2px;}
+text-shadow: white 0 -2px;
}
#threadTree treechildren::-moz-tree-row(lcolor-663366), .blcolor-663366 {
background-color: #663366 !important;
diff --git a/common/theme/mac/attachments-view.css b/common/theme/mac/attachments-view.css
index 657c699..8d142a7 100644
--- a/common/theme/mac/attachments-view.css
+++ b/common/theme/mac/attachments-view.css
@@ -13,6 +13,7 @@
#exchWebService-add-attachment-button {
list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#attach);
}
+}

toolbar[brighttext] #exchWebService-add-attachment-button {
list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#attach-inverted);

@JensErat
Copy link

JensErat commented Apr 30, 2020

The Thunderbird 60.9.0 changelog mentions a third party addon -- are they talking about this paid one https://www.beonex.com/owl/index.html (no experience with that addon, though)?

Does not support calenders, either.

@jschwartzenberg
Copy link
Author

Yeah I was wondering the same. That would not really mean "just works" in all cases though. Clueless sysadmins sometimes disable IMAP/SMTP :(

I created this btw: https://microsoftteams.uservoice.com/forums/555103-public/suggestions/40311511-full-integration-with-mozilla-thunderbird-calenda

Maybe Microsoft could fix this themselves.

@frederikmoellers
Copy link

Yeah I was wondering the same. That would not really mean "just works" in all cases though.

True, but then again "just works" has a different meaning in an issue discussion than it does in an advertisement 😉

@Bugeater327
Copy link

Bugeater327 commented Apr 30, 2020 via email

@elhennig
Copy link

The Thunderbird 60.9.0 changelog mentions a third party addon -- are they talking about this paid one https://www.beonex.com/owl/index.html (no experience with that addon, though)?

Does not support calenders, either.

You could use DavMail and CalDav. That works for me with TB 68.7 on Linux

@jan-kiszka
Copy link

In both environments where I have to deal with a MS Exchange calendar they now also introduced MS Teams which shows the calendar.

I do not know if MS Teams offers some API that enables integration, but maybe that would be another way to go for future support.

The new big thing is apparently the MS Graph API (https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/office-365-rest-apis-for-mail-calendars-and-contacts). EAS is legacy, so is EWS. Does anyone know about activities to add ad an add-on or even directly?

However, the need of certain mobile clients seem to keep the old ones open in many setups. I'm currently exploiting this via TbSync and some client ID "adjustment". But I'm also missing features like accepting/declining invitations or a working meeting assistant.

Using some gateway like DavMail is continuously brought up on our side as well. I've been there (DavMail), and I hated it deeply. The lack of integration with the frontend caused continuous troubles.

@jschwartzenberg
Copy link
Author

I did not know that even EWS is legacy!

There seems to be a JavaScript client library available for MS Graph:
https://github.com/microsoftgraph/msgraph-sdk-javascript

Maybe it would make sense to implement that in Thunderbird instead? It would not seem like a good idea to spend a lot of effort on a legacy API.

@advancingu
Copy link
Member

I have just updated the repository README.md with a link to the bug bounty as well as an indication that there is currently no active development.

In addition, I have the following thoughts:

Using an API like MS Graph and matching JS library is probably a good idea as this will likely exist longer than EWS. This means that on top of the already unsupported UI code on Thunderbird's side almost all remaining EWS logic and all transport code will also no longer be of any use.

I guess at this point it will be far easier to do a full rewrite based on supported technologies than to fix up what is available here.

@gregoryo2014
Copy link

I am surprised to hear EWS being considered legacy, but I guess things sometimes don't last terribly long. I am required to use EWS, but haven't got a calendar working across it yet, although I never tried to figure out whether Evolution's EWS support includes calendar. For now I am paying for Exquilla for reliable mail access through TB, and surviving with OWA and Teams for calendar. I have stuck with TB for about 20 years, and I would prefer to stay that way!

@jamesquilty
Copy link

While Microsoft are recommending Graph, as far as I can tell EWS is not considered by Microsoft as a legacy technology, rather, it is a current and supported Exchange technology: Exchange Online and Exchange development

You can use Graph API, REST API, Exchange Web Services (EWS), Autodiscover, Outlook add-ins, or other APIs to develop your applications. This page helps you choose the right Exchange technology.

A working limited & buggy add-on is better than a non-working limited & buggy rewrite. It's better to bugfix and maintain what is available here as a first priority.

@jschwartzenberg
Copy link
Author

I looked a bit around, but EWS really is on its way out :(

Today, we are announcing that on October 13th, 2020 we will stop supporting and fully decommission the Basic Authentication for EWS to access Exchange Online. This means that new or existing apps will not be able to use Basic Authentication when connecting to Exchange using EWS.

DavMail does OAuth, but I haven't seen it in the extension. This would mean even users that stuck with an older Thunderbird will soon not be able to use calendar features anymore (if their server is not on-premise).

See: https://developer.microsoft.com/en-us/graph/blogs/upcoming-changes-to-exchange-web-services-ews-api-for-office-365/

@jschwartzenberg
Copy link
Author

jschwartzenberg commented May 2, 2020

It's possible to try it here:
https://developer.microsoft.com/en-us/graph/graph-explorer

I just tried this with my account where the calendar shows up in Teams, so I thought some integration was enabled, but I got: MailboxNotHostedInExchangeOnline

Edit: I forgot to add some info here. This page is also relevant:
https://docs.microsoft.com/en-us/graph/hybrid-rest-support

So I am afraid there's another API below the radar that MS Graph uses to reach out to the actual Exchange server :(

@jschwartzenberg
Copy link
Author

I created a ticket:
microsoftgraph/msgraph-sdk-javascript#278

@tkorvola
Copy link

tkorvola commented May 2, 2020

Basic auth is on its way out. EWS does not seem to be going anywhere - in a positive or negative sense.

@jschwartzenberg
Copy link
Author

It seems an upcoming version of Thunderbird will have OAuth2 support for O365:
https://bugzilla.mozilla.org/show_bug.cgi?id=1528136

@willfrazer
Copy link

I gave up on exchangecalendar add-on and switched over to tbsync:

https://www.systutorials.com/how-to-synchronize-thunderbird-calendar-and-address-book-with-office365-exchange-online-using-activesync/

Went in really easily & seems to work well. Not sure about sign-in stuff mentioned above but I dont really care as long as I can see my calendar :)

@survient
Copy link

survient commented May 4, 2020

I gave up on exchangecalendar add-on and switched over to tbsync:

https://www.systutorials.com/how-to-synchronize-thunderbird-calendar-and-address-book-with-office365-exchange-online-using-activesync/

Went in really easily & seems to work well. Not sure about sign-in stuff mentioned above but I dont really care as long as I can see my calendar :)

Yeah the "sign-in stuff" is definitely a factor in regards to using tbsync:
https://i.imgur.com/MqpNXjX.png

@sphh
Copy link

sphh commented May 4, 2020

Just a little field story for all people stuck with the newest Thunderbird, where ExchangeCalendar does not work any more:

I had to take the plunge and switched to TbSync and Provider for Exchange ActiveSync, because my Thunderbird was updated …

It works quite well and I have had no problems so far. I have not seen the "sign-in stuff" mentioned by @survient in #277 (comment).

But there is one draw-back: TbSync+Provider for Exchange ActiveSync does not support Vacation/Out of Office replies (see jobisoft/EAS-4-TbSync#11). Unfortunately this request does not feature high up on the maintainer's agenda (jobisoft/EAS-4-TbSync#11 (comment)), so I have to log into Office365.com every time I want to set a vacation message, This - frankly - is a pain.

Conclusion: TbSync+Provider for Exchange ActiveSync works well (for me); setting vacation messages does not work. It's worth a try.

@jan-kiszka
Copy link

@survient If you are lucky, your setup may already know and allow some mobile client (smartphone app). If such an app is active, you can find out its ID strings via the web interface of O365 and use them when following https://github.com/jobisoft/EAS-4-TbSync/wiki/What-if-TbSync-is-blocked-by-my-server%3F.

@willfrazer
Copy link

Other option that might work is to generate an custom password for TB:

Setup a custom password:

OWA | My account | Security & privacy | additional security verification | create and manage app passwords

Then use this unique password for TB instead of your generic OWA password. This is bound to that install and effectively whitelists the application (TB) so the password is not requested. Not been using tbsync long enough to know if this is needed but worked for TB in the past (and other apps on OWA).

@survient
Copy link

survient commented May 4, 2020

The provider paired with TbSync looks promising but the following is also an interesting read:
https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-interoperability-guidance/dn144954(v%3Dexchg.140)
Essentially the best case scenario would be to have an EWS-based plugin that works with modern firefox, possibly just via TbSync. A working ActiveSync plugin would be a nice interim solution.

@AndrewElz
Copy link

@jan-kiszka can you please give some additional info on how to find the ID Strings via the O365 web interface -thanks.

@jan-kiszka
Copy link

@AndrewElz Options->General->Mobile Devices, at least in my OWA instance. No idea how the cloud looks like.

@lciti
Copy link

lciti commented May 5, 2020

I gave up on exchangecalendar add-on and switched over to tbsync:

https://www.systutorials.com/how-to-synchronize-thunderbird-calendar-and-address-book-with-office365-exchange-online-using-activesync/

Went in really easily & seems to work well. Not sure about sign-in stuff mentioned above but I dont really care as long as I can see my calendar :)

While TBSync is a great project, I think it still misses many features that I find quite important. Among these, the ability to accept/decline invites received over email, have them show up in the calendar, and send an accept/decline reply to the sender.
A number of these features is listed here:
https://github.com/jobisoft/EAS-4-TbSync/labels/meeting%20stuff%20postponed

The developer (John Bieling) says he can only work on the project on his spare time and cannot fix these issues any time soon. Given the number of people using Thunderbird with a company/school Exchange/Office365 account, I think this is the type of core feature that should be addressed by Thunderbird itself and not delegated to a one-man project. Unfortunately I do not know enough of the technology/protocol behind exchange calendars to offer John any useful help.

larskanis added a commit to larskanis/exchangecalendar that referenced this issue Jun 4, 2020
Financial bounties have been transferred to the correct issue ExchangeCalendar#277 now.
@RonaldDuncan
Copy link

Just

switched to TbSync and Provider for Exchange ActiveSync,
using
https://www.systutorials.com/how-to-synchronize-thunderbird-calendar-and-address-book-with-office365-exchange-online-using-activesync/

Having been stuck on manjaro with no calendar, and now my remaining ubuntu desktop lost its calendar, this is a big improvement on no calendar.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests