alice-mkh / lightbird

Sunbird UI for Lightning on SeaMonkey
https://addons.mozilla.org/en-US/seamonkey/addon/lightbird/
13 stars 2 forks source link

Support Exchange EWS Provider extension #35

Open baszoetekouw opened 7 years ago

baszoetekouw commented 7 years ago

Since the latest update, Lightbird makes Thunderbird unusable: I can no longer select a new mailbox in Thunderbird, and it is stuck on the first mailbox you select after starting.. Strangely enough, calendaring functionality works as expected.

This is on Linux, using TB 45.8.0. Please let me know what I can do to debug this issue further.

alice-mkh commented 7 years ago

Hello. It certainly works for me on the same version on Fedora 25. Are there any errors in error console?

baszoetekouw commented 7 years ago

The console show this, if I enable Lightbird and try to select a new mailbox:

JavaScript error: resource://calendar/modules/calUtils.jsm -> file:///home/bas/.thunderbird/2r51haju.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js, line 992: too much recursion
JavaScript error: chrome://calendar/content/calendar-ui-utils.js, line 100: too much recursion
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://exchangecalendar/content/priority-display.js, line 144: TypeError: gDBView is null
JavaScript error: chrome://calendar/content/calendar-ui-utils.js, line 100: too much recursion

etc.

alice-mkh commented 7 years ago

Hmm. Do you use Exchange? If so, us there an easy way to test it on Linux? Second, so you have any other extensions other than Lightning and Lightbird?

alice-mkh commented 7 years ago

is there*

alice-mkh commented 7 years ago

I searched a bit and it seems that exchange support is an extension itself. In this case it's obvious why I cannot see the error. So, again, is there a easy way to set it up for test? I have neither a personal server nor Windows.

baszoetekouw commented 7 years ago

I'm not aware of any Exchange-instances you could use for testing, unfortunately,

The Exchange extension I'm using is this one: https://github.com/Ericsson/exchangecalendar

I'll try to do some debugging on my side, to see if I can figure out what the issue is.

alice-mkh commented 7 years ago

It's probably a bug in Lightbird. I obviously didn't test with it, since I wasn't even aware that it exists. Maybe I'll be able to reproduce the bug without actually adding Exchange calendars.

alice-mkh commented 7 years ago

Yes! I see the bug. Will try to fix it, although there might be more.

alice-mkh commented 7 years ago

Hmm, that extension seems really large. I'm not sure it's even possible. What I can say for sure is that even if I fix this particular bug, the extension itself will most probably not work. It makes too many assumptions about Lightning that simply aren't true with Lightbird.

alice-mkh commented 7 years ago

And another thing is that it seems to make many changes directly to Thunderbird window. I will have to disable them, but then they will need to be somehow applied to Lightbird window (and changed so they actually work). For that it may be better to create an entirely new extension, rather than support it in Lightbird. It might get easier if there was a Sunbird version.

alice-mkh commented 7 years ago

Ah, and another question. So, did it work on previous Lightbird versions? I'm pretty sure it didn't. I've installed Lightbird 0.5, and Thunderbird seems to respond fine, but there are many errors in Error Console, and since I cannot test it, I don't know if any of Exchange functionality works.

baszoetekouw commented 7 years ago

Well, the two extensions worked together quite well until earlier this week. At least, my Exchange calendars showed up in Lightbird, and I could add new meetings and change existing one.

alice-mkh commented 7 years ago

Ok, it seems, https://github.com/Exalm/lightbird/commit/8a7ea9a08a0c6a641a57cc659b75ef954ff72707 broke it. It seems that Exchange extension hooks to chrome://lightning/content/imip-bar-overlay.xul and fails.