Giter Site home page Giter Site logo

exchangecalendar / exchangecalendar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ericsson/exchangecalendar

677.0 118.0 58.0 7.64 MB

Exchange Calendar, Tasks, Contacts provider for Mozilla Thunderbird

License: GNU General Public License v3.0

JavaScript 98.51% CSS 1.37% Makefile 0.12%

exchangecalendar's Introduction

Introduction

Exchange Calendar is an add-on for Thunderbird and Seamonkey.

It extends the Lightning add-on to provide Microsoft Exchange support.

Exchange Calendar extension can:

  • Synchronize calendars, tasks, and contacts with a Microsoft Exchange server.
  • Create, edit and update events and tasks.
  • Display contacts from your address books and the global address list (they are only readable, they are usable with address autocompletion).
  • Manage the Exchange « out of office » feature.

This extension requires:

  • Thunderbird between versions 52 and up to 59.
    • See the releases page for preview builds of ExchangeCalendar version 5 with Thunderbird 60 support.
  • Lightning extension corresponding to the Thunderbird release.
  • The targeted Exchange server has to provide an Exchange Web Service (EWS).

ExchangeCalendar is developed by a community of interested developers. Support is best effort and cannot be guaranteed. Contributions are welcome.

Installation

Download a pre-built release from our releases page or build your own release as shown below.

Development status

There is no active development at this time.

Thunderbird 68 compatibility

Currently not implemented. See issue #277.

A financial bounty is available for anyone who implements this support. For details and rules see the linked page.

Contributing

This add-on was originally created by Michel Verbraak. It is open source and based on the work of many contributors.

Report issues

Please report any issues that have not previously been reported here.

The more information you can provide about an issue, the easier it becomes to reproduce and fix. Examples of helpful information are:

  • Thunderbird version
  • Lightning version
  • List of running Thunderbird add-ons
  • Log output

Patch the code

To help us to maintain the code, we will be thankful to follow these main guidelines:

  • Use indentation with 4 spaces
  • Avoid too long lines, try to break long lines into smaller ones
  • Avoid to write "spaghetti" code with too many if/else imbrications
  • Try to keep code simple to help us maintain it on long term

Note that our Makefile has a beautify target which will try to beautify all JavaScript (requires jsbeautifier Debian package) and XML code (requires tidy package) to help maintain a clean code.

When your patches are ready, you are welcome to do pull requests on our repository.

Please help us to review your code by making multiple small pull requests instead of big ones modifying big parts of the code.

Translate

You are welcome to provide translation updates on our Transifex project: https://www.transifex.com/ExchangeCalendar/exchangecalendar

Build instructions

To manually build the add-on, you have to:

# clone this project
git clone https://github.com/ExchangeCalendar/exchangecalendar.git
cd exchangecalendar
# build it
make build

Then an xpi file is created in the project folder. This file is directly installable from the add-on page of Thunderbird.

If it doesn't work, please check you have these tools installed (example for Debian):

sudo apt install git-core zip

License

This software is provided on a best-effort basis without any warranty. Please see the license for details.

Some of the icons and images used are from the Fugue Icons Collection made by Yusuke Kamiyamane.

exchangecalendar's People

Contributors

1stsetup avatar advancingu avatar aomader avatar bavincen avatar bbbco avatar dannybaumann avatar dimania avatar dominique-2202 avatar ehrenfeu avatar enozkan avatar gymnasiast avatar invader444 avatar jaroslawp avatar jcpunk avatar krissn avatar logological avatar miurahr avatar morganantonsson avatar mtbc avatar muthusuba avatar parth avatar pro avatar rkent avatar robingarner avatar sch-github avatar sergio-mena avatar smehrbrodt avatar trim avatar web-flow avatar woi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

exchangecalendar's Issues

O365 2FA support?

Any chance of getting O365 2-factor auth support? (outside of the Application Password functionality which would already be supported)

Update code tree

Hello,

According to comments on #70, we will certainly do some initial big pull requests updating all the code (to automatically beautify the code files).

I want to suggest to update also the code tree structure and to document it.

Currently, what I've seen is this one if I understand it correctly:

root
  ↳ chrome: contains user interfaces
    ↳ content
      ↳files for all user interfaces: `.xul` for layout description and `.js` for javascript event handling
    ↳ skins: every subfolder contains custom CSS files for every supported Operating System
      ↳ common
        ↳ images
      ↳ mac
      ↳ unix
      ↳ win
      ↳ winaero
  ↳ components: contains javascript objects which interacts with  Exchange Web Service API
  ↳ defaults
    ↳ preferences: contains extension default preferences
  ↳ email: contains same directory structure than root, but with sources specific to the email tagging part
    ↳ chrome
      ↳ content
    ↳ interfaces
      ↳ one directory by interface using prefix exchangeMsg
  ↳ interfaces
    ↳ one directory by interface using prefix exchange with files with `miv` prefix (I don't understand)
    ↳ exchangeAddressBook
      ↳ chrome
        ↳ content
        ↳ directories containing interfaces for AddressBook
        ↳ locale
          ↳ exchangecontacts: contains one directory by localization
    ↳ global
    ↳ updater
    ↳ xml2json: Seems to be a new XML parser that make JSON objects
    ↳ xml2jxon: Seems to be the older XML parser to objects that is still used in some components
  ↳ locale
    ↳ exchangecalendar

Edit (2017.11.11):

According to the comments below, we will switch to such a structure:

  • root
    • addressbook
      • content
      • exchangeapi
      • interface
      • locale
    • base
      • exchangeapi
      • interface
        • exchangeFunctions (was global directory)
        • xml2json: Seems to be a new XML parser that make JSON objects
        • xml2jxon: Seems to be the older XML parser to objects that is still used in some components
      • locale
    • calendar
      • content
      • exchangeapi
      • interface
      • locale
    • emailtag
      • content
      • exchangeapi
      • interface
      • locale
    • theme
      • common
        • images
      • mac
      • unix
      • win
      • winaero

I've made a task by main sub-directory as I think I'll make one pull request by task.

Undismissable pop-ups

[This is a dupe of https://github.com/Ericsson/issues/573 but since this seems to be the active project now, moving it here.]

Calendar reminders in the last few versions pop up and when you click "dismiss" the go away for a second and come right back. No matter how many times you dismiss them.

Killing thunderbird after this and restarting it sometimes helps, but othertimes I need to dismiss it from another instance of thunderbird on another computer and then restart. :(

Office365, Linux, TB 45.8.0, plugin 4.0.0-beta1

Release of version 4.0.0

Hello
What is your plan to release version 4.0.0. this can help me to plan the release in Debian.

Kind regards

Mechtilde

Wrong file permissions

A number of non-executable files in the source tree (DTD files, XML files, properties files) are incorrectly marked as executable. The file permissions should be changed.

Can't update events descriptions

Since the update to Thunderbird 52.1.1, Lightning 5.4 and EWS Provider v4.0.0-beta3, I can not update event's descriptions from Lightning calendar as before, as they get always overwritten with the one in the server right after saving.

Creation of the event if fine, is just when trying to update the description inside the event after being created.

A similar problem was happening when updating task's descriptions, but that was already fixed in #5.

Best.

Declining an event shows acceptance

When attempting to decline an event (using the Decline button), a blue banner appears that reads, "The event has been added to your calendar." One must go back to the event in the calendar and right-click and delete the event.

This is present ExchangeCalendar-4.0.0beta4, using Thunderbird 52.2.0, Lightning 5.2.4, on CentOS 7.3.1611 (with all yum updates).

Problems with attachments on Calendar items

I cannot seem to retrieve attachments added to Calendar items. Usually there is a long delay opening these items (see timestamps from log below), and then the attachment URLs show up as
'somewhere?id=blahblahblah'

I'm using the 4.0.0-beta1 build. This worked before I had to upgrade to these forked builds for later Thunderbird/Lightning support. Does this work for others?

1st-setup:2017-5-3 11:17:48.663:[OM] getInvitedAttendee 2:mailto:XXXXXXXXXXXXXX (_getInvitedAttendee in mivExchangeCalendar.js:3063)
1st-setup:2017-5-3 11:17:48.664:[OM] getInvitedAttendee FOUND someonelse:Interview scheduled for XXXXXXX, attendee.id:mailto:XXXXXXXX
.com, attendee.participationStatus:NEEDS-ACTION (_getInvitedAttendee in mivExchangeCalendar.js:3071)
1st-setup:2017-5-3 11:17:48.664:[OM] getInvitedAttendee 2:mailto:XXXXXXXXXXXX (_getInvitedAttendee in mivExchangeCalendar.js:3063)
1st-setup:2017-5-3 11:17:48.664:[OM] getInvitedAttendee FOUND myself:Interview scheduled for XXXXXXXXXXXX, attendee.participationStatus:ACCEPTED, a
Item.myResponseType:Accept (_getInvitedAttendee in mivExchangeCalendar.js:3066)
1st-setup:2017-5-3 11:18:43.708:  -- It is an Exchange Calendar event:Interview scheduled for XXXXXXX
1st-setup:2017-5-3 11:18:43.712:  -- Could not add exchange attachment buttons:TypeError: this._document.getElementById(...) is null
1st-setup:2017-5-3 11:18:43.713:exchWebService.attachments.addAttachmentsFromItem: foutje:TypeError: documentLink is null
1st-setup:2017-5-3 11:18:43.713:exchWebService.attachments.addAttachmentsFromItem: title:Interview scheduled for XXXXXXXXXXX
1st-setup:2017-5-3 11:18:43.714:  -- We have attachments:1 (_onLoad in attachments-view.js:267)
1st-setup:2017-5-3 11:18:43.714:  -- processing attachment: 0
1st-setup:2017-5-3 11:18:43.715:exchWebService.attachments.addAttachment

Where is the wiki for this project?

I just found this repo/fork of the project the other day when I received an email about an issue that was opened related to breakages in the ericsson version that this project was forked from. The wiki for that project is here: https://github.com/Ericsson/exchangecalendar/wiki - but there's no wiki link for this project although it is mentioned in the README.md file...

What I find confusing is the requirement to compile with other components. I don't understand why a plugin wouldn't be available as a plugin, especially since most people wishing to integrate exchange services with Thunderbird/Lightning (which Lightning is now properly part of Thunderbird and not separate) are running Windows operating systems with no Bash shell or other utilities to compile source code.

Regardless of whether someone is running Solaris or BSD or Linux or Windows.... Shouldn't there just be a single .xpi file to install in Thunderbird?

I realize that's two questions, first, where is the wiki for this project, and two, why does the README.md indicate that someone must compile the plugin instead of just downloading the .xpi file?

Any assistance would be greatly appreciated.

Contributing Czech translation

cs-CZ.zip

Hi, sorry for doing it this way - forking and doing pull request is far to complicated for mere translator ;-)
BTW - what about exposing translation in some translation tool/service (weblate, transifex...)? It would attract even more translators...

Pavel

Colorpick on calender creation doesn't work

Heya,

this is an "old" bug, but your version also seem to include it.

If you add a new calender, you can select a color for the calendar. But after successfull adding it to your calendarlist, it stil has the default color. If you change it afterwards, everything is nice and fine.

So, just cosmetic, but annoying :)

Cheers,
Sven

Unable to add account

providing all informations for the new account i do get an Response 440.

Fehler bei der Abfrage des Servers und des Postfachs:HTTP Client error 440: 
URL:https://***/owa/
<HTML><SCRIPT>if (parent.navbar != null) parent.location = self.location;else self.location = self.location;</SCRIPT><BODY>440 Login Timeout</BODY></HTML>

 (Code: -19)

I read about some password prompt problems and added the password to the password manager, but no luck.

Log from 3.9.0

1st-setup:2017-6-4 11:48:21.893:exchWebServicesConvertIDOK: user:******\******, mailbox:[email protected]
1st-setup:2017-6-4 11:48:21.905:mivExchangeAuthPrompt2: getPassword: A realm was specified:Exchange Web Service (_getPassword in mivExchangeAuthPrompt2.js:122)
1st-setup:2017-6-4 11:48:21.906:mivExchangeAuthPrompt2: getPassword: There is no password in the passwordCache[******\******|https://SERVER/owa/|Exchange Web Service] (_getPassword in mivExchangeAuthPrompt2.js:140)
1st-setup:2017-6-4 11:48:21.906:mivExchangeAuthPrompt2: getPassword: password(1)=******** (_getPassword in mivExchangeAuthPrompt2.js:146)
1st-setup:2017-6-4 11:48:21.906:mivExchangeAuthPrompt2: getPassword: There is no password in the cache. Going to see if there is one in the passwordManager. (_getPassword in mivExchangeAuthPrompt2.js:151)
1st-setup:2017-6-4 11:48:21.906:mivExchangeAuthPrompt2: passwordManagerGet: username=******\******, aURL=https://SERVER/owa/, aRealm=Exchange Web Service (_passwordManagerGet in mivExchangeAuthPrompt2.js:621)
1st-setup:2017-6-4 11:48:21.908:mivExchangeAuthPrompt2: getPassword: There is no password stored in the passwordManager. (_getPassword in mivExchangeAuthPrompt2.js:159)
1st-setup:2017-6-4 11:48:21.909:mivExchangeAuthPrompt2: getPassword: password(2)=******** (_getPassword in mivExchangeAuthPrompt2.js:166)
1st-setup:2017-6-4 11:48:21.909:mivExchangeAuthPrompt2: getPassword: First request for a password. Not going to ask user for it because we want to see if we need a password. For Kerberos for example we do not need a password. (_getPassword in mivExchangeAuthPrompt2.js:205)
1st-setup:2017-6-4 11:48:21.909:4e2eeed6-afca-41b6-8544-de52bc150066: : 1 ExchangeRequest.sendRequest : user=******\******, url=https://******/owa/
1st-setup:2017-6-4 11:48:21.910:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext1st-setup:2017-6-4 11:48:21.911:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext1st-setup:2017-6-4 11:48:21.911:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({70d2b4fe-a552-48cd-8d93-1d8437a56b53})
1st-setup:2017-6-4 11:48:21.911:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext1st-setup:2017-6-4 11:48:21.912:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-6-4 11:48:21.912:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({1040ebe3-6ed1-45a6-8587-995e082518d7})
1st-setup:2017-6-4 11:48:21.912:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIApplicationCacheContainer
1st-setup:2017-6-4 11:48:21.912:  >>>>>>>>>>> SUBMIT THIS LINE TO https://github.com/Ericsson/exchangecalendar/issues: ecnsIAuthPrompt2.getInterface({0d6ce59c-ad5d-4520-b4d3-09664868f279})
POST 
XHR 
https://******%5C******:@SERVER/owa/ [HTTP/1.1 440 Login Timeout 2ms]
1st-setup:2017-6-4 11:48:21.913:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-6-4 11:48:21.913:4e2eeed6-afca-41b6-8544-de52bc150066: : ExchangeRequest.loadstart
1st-setup:2017-6-4 11:48:21.918:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-6-4 11:48:21.919:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext1st-setup:2017-6-4 11:48:21.920:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-6-4 11:48:21.920:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onStatus: STATUS_RESOLVING of SERVER
1st-setup:2017-6-4 11:48:21.920:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-6-4 11:48:21.920:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onStatus: STATUS_RESOLVED of SERVER
1st-setup:2017-6-4 11:48:21.921:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-6-4 11:48:21.921:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onStatus: STATUS_CONNECTING_TO of SERVER
1st-setup:2017-6-4 11:48:21.921:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-6-4 11:48:21.921:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onStatus: STATUS_CONNECTED_TO of SERVER
1st-setup:2017-6-4 11:48:21.922:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-6-4 11:48:21.922:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onStatus: STATUS_SENDING_TO of SERVER
1st-setup:2017-6-4 11:48:21.922:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-6-4 11:48:21.922:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onProgress: this is a nsIChannel
1st-setup:2017-6-4 11:48:21.922:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onProgress:2603 of 2603
1st-setup:2017-6-4 11:48:21.922:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-6-4 11:48:21.922:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onStatus: STATUS_WAITING_FOR of SERVER
1st-setup:2017-6-4 11:48:21.924:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
Diese Website verwendet ein SHA-1-Zertifikat; es wird empfohlen, Zertifikate mit Signaturalgorithmen zu verwenden, die stärkere Hashfunktionen verwenden als SHA-1.[Weitere Informationen]  SERVER
1st-setup:2017-6-4 11:48:21.925:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-6-4 11:48:21.926:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-6-4 11:48:21.926:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onStatus: STATUS_RECEIVING_FROM of SERVER
1st-setup:2017-6-4 11:48:21.926:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-6-4 11:48:21.926:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onProgress: this is a nsIChannel
1st-setup:2017-6-4 11:48:21.926:6ffed82a-a9aa-4c25-91c1-cd8cda6715f9:   --- ecnsIAuthPrompt2.onProgress:154 of 154
1st-setup:2017-6-4 11:48:21.927:4e2eeed6-afca-41b6-8544-de52bc150066: : ExchangeRequest.progress. loaded:154, total:154
1st-setup:2017-6-4 11:48:21.927:4e2eeed6-afca-41b6-8544-de52bc150066: : ExchangeRequest.onLoad :load, readyState:4, status:440
1st-setup:2017-6-4 11:48:21.927:4e2eeed6-afca-41b6-8544-de52bc150066: exchangeRequest.isHTTPRedirect.xmlReq. xmlReq.readyState:4, xmlReq.status:440
1st-setup:2017-6-4 11:48:21.927:4e2eeed6-afca-41b6-8544-de52bc150066: ecExchangeRequest.fail: aCode:-19, aMsg:HTTP Client error 440: 
URL:https://SERVER/owa/
<HTML><SCRIPT>if (parent.navbar != null) parent.location = self.location;else self.location = self.location;</SCRIPT><BODY>440 Login Timeout</BODY></HTML>


1st-setup:2017-6-4 11:48:21.927:exchWebServicesCheckServerAndMailboxError: aCode:-19, aMsg:HTTP Client error 440: 
URL:https://SERVER/owa/
<HTML><SCRIPT>if (parent.navbar != null) parent.location = self.location;else self.location = self.location;</SCRIPT><BODY>440 Login Timeout</BODY></HTML>


1st-setup:2017-6-4 11:49:57.656:4e2eeed6-afca-41b6-8544-de52bc150066: : ExchangeRequest.loadend
1st-setup:2017-6-4 11:49:57.656:4e2eeed6-afca-41b6-8544-de52bc150066: : ExchangeRequest.loadend :loadend, readyState:4, status:440

but I tried the 4 beta too.

Reminder keeps coming up after dismissing

I'm not sure that this fork will fix our issue but I want to try put that issue here as it exists in the forked repo: Ericsson#546

Does anybody know how to fix it? or could anybody prepare a fix for that issue? I'm talking about normal fix not a uncheck 'Show missed reminders" option.

Thanks mates. I hope this fork will prepare a fixes faster then previous.

Tb-UI not functionally rebuild

Windows 10 pro 1703 15063.413 32 bit German
Thunderbird 52.2.1 32 bit German
Exchange EWS Provider 4.0.0-beta3

  • installed EWS provider
  • restarted Thunderbird
  • configured Exchange calender -> run fine and Tb-UI showed up correctly
  • configured Exchange Tasks -> run fine and Tb-UI showed up correctly
  • configured LDAP directory server -> run fine and Tb-UI showed up correctly
  • closed Tb
  • started Tb
  • Thunderbirds User Interface shows up "reduced" (see picture), menue bar items open but no action is started if something is selected from the menues

tb-exewsp-ui

  • start Tb in safe mode with deactivated add-ons -> run fine and Tb-UI showed up correctly
  • disabled EWS Provider and restarted Tb -> run fine and Tb-UI showed up correctly
  • enabled EWS Provider and restarted Tb -> the problem is reproducable

Editing the entries in "Create New Calendar" dialog un-sizes the window

When I create a new exchange calendar, and am to the window at "Exchange/Windows Active Directory settings" where I am working on the settings for an office365 calendar, I can't see all of the fields - they aren't wide enough, and there is a scrollbar.

So I resize the window to accomodate.
As soon as I press any key, the window reverts to the tiny size again.
You can understand this is aggravating. haha

screenshot_thunderbird thunderbird _086

Office 365, changed meeting time does not appear

Using v4.0.0-beta4.
A scheduled meeting time was updated (1000->1100) by someone else. The new time appears in my Office365 web UI but Thunderbird still shows the old time. "Synchronize" button has no effect on this.

response to meeting invitation seems to treat my local time as UTC;

When I send an affirmative response with the option 'edit response before sending' set, the response is received by the meeting scheduler as being a request to reschedule 4 hours in the past -- I am in the US Eastern Time Zone.

Specifically, the meeting was requested for "16:30" and sent at about "16:15", and my response said I was trying to reschedule it to "12:30".

There is no similar time-shift if I leave the default option 'send response now' set.

Thunderbird 52.2.1 (64-bit)
Lightning 5.4.2.1
EWS provider v4.0.0-beta4
Ubuntu 16.04 LTS

Authentication error

Similar to what was mentioned in the Ericsson#604 of the previous repository, with Exchange2010 server I still have an issue with the current 4.0.0-beta4 version. This fixes the problem of not showing up the password prompt, but still for me it doesn't work. If I enter the password I got a new window which then asks for a password, while trying to use my previously entered password in plain text as the user name! Of curse since such a user does not exist, it gets stuck, and finally aborts (after timeout?) with an authentication failed message. While this prevents me from getting updates on my calendars it is also a security issue, because of the plain text password will go into logs probably.
Finally I fixed it by downgrading Thunderbird to 38 installing the old 3.9.0 version of the EWS provider and saved my new password and re-updated Thunderbird while keeping the old version of EWS provider. Seem to bu unusable in its current version.

Thunderbird: 52.2.1 (64-Bit)
Lightning: 5.4
EWS-provider: 4.0.0-beta4 (failed to login), while after using the described method to update my calendars and save the correct password in the pw manager again, it works now with 3.9.0.

Calendar with 4.0.0-beta2 fails to sync up completely

I just upgraded to TB v55.0b1 with Lightning 5.7 & my calendar fails to completely sync up with my Office365 calendar. Both whole & partial days of appointments/events are missing. I can see these events in Outlook. Please let me know if there is anything I can do to help troubleshoot this.

Calendar lookup performance very slow

I have linked the plugin to Office365

When I invite attendees to my calendar event, a lookup is performed for that attendee. The status bar shows around 40 queued jobs at that time. Each time I type in a new user, jobs are added (around 20) and after selecting a name, again ~40 jobs are added. This makes inviting attendees a very long and annoying process.

As a test I installed Hiri, https://www.hiri.com/ , and noticed an almost instant update of attendee information for events.

Could this be investigated to have the same performance in Thunderbird?

This add-on increases Tbird's start time by 1 minute and 5 seconds!

I've been using this add-on for a few years now, and I've been pretty patient with it considering that it adds over a minute to Tbird's startup time. It's gotten to the point that I just make Tbird a startup item so that it automatically starts every time I boot up my OS.

Since we're turning over a new leaf with this add-on now, I think it's about time we address how incredibly slow it makes Tbird's startup.

With EWS provider enabled, the time between opening Tbird and actually seeing the window appear is 1 minute and 11 seconds! Normal startup time with this add-on disabled is only 6 seconds on my system.

"Invite Attendees" makes calendar read-only

Whenever I invite attendees to an event, my calendar becomes read-only for about 30 to 60 seconds. This means it's impossible for me to immediately save and close the event. If I try to do so anyway, I get a rather unhelpful MODIFICATION_FAILED error message, and my new event is lost.

Steps to reproduce:

  1. Events and Tasks->New Event…
  2. Select an Exchange calendar in the "Calendar" drop-down (if one isn't already the default)
  3. Press the "Invite Attendees" button. An "Invite Attendees" dialog appears.
  4. Add an attendee by starting to type their e-mail address and then selecting from the autocompletion options.

Observed behaviour:
5. The calendar becomes read-only. (This is evident only if you are in the Calendar tab; a lock icon will appear next to the calendar.) The calendar remains read-only for about 30 to 60 seconds. If you attempt to save the event during this period, you get a nondescript error dialog; pressing the "Details" button shows only "MODIFICATION_FAILED".

Expected behaviour:
5. The calendar should not become read-only. If for some reason this is absolutely unavoidable, then attempting to save the event should result in a meaningful error dialog, which should return the user to the event dialog rather than discarding the event.

All calendars readonly

Hello all.

I configured my own calendar and some shared ones, but all are marked readonly.
Moreover, at start I get prompted for the password even if I already checked the box to use password manager. Tried both with and without NTLM-v1.

A strange thing I noticed is that username and domain are swapped: username/DOMAIN instead of DOMAIN\username .

Using 4.0.0.b4 with Lightning 5.4 on TB 52.2.1 (64 bit). Ubuntu 16.04.2 LTS.

Any hints?

Tks.

Unexpected CPU load

ExchangeCalendar is configured to sync every 300s so I would expect nearly no raise of CPU load.

But when enabling ExchangeCalendar (rel. 3.9) the CPU load of thunderbird raises fom 0.3% to 2.3% and powertop from 30 events/s to 130 events/s which drains battery on notebooks.

Thx Matthias

Gotchas and incompatibilities in build script

The build.sh script is not written in a way that will work with all Bourne-compatible shells, and uses globbing in dangerous ways. In particular:

  • Commands such as echo "-u:enable update" can be misinterpreted as passing a command-line parameter to echo
  • Globbing in lines such as zip -r exchangecalendar-v$version.xpi * … could end up passing command-line parameters to zip if there exist filenames starting with a hyphen
  • Variable substitution in lines such as zip -r exchangecalendar-v$version.xpi … could result in unwanted word splitting, depending on the value of $version.

Adding calendars without e-mail address? ( rooms, teams.. etc )

In outlook ( 365 ) I can search calendars for our conference rooms, or I can browse by team and add them that way. I hate outlook obviously so I'm trying to do this in with this addon.

I can add calendars by e-mail address, but I can't figure out any way to add the conference room availability calendars. I would imagine maybe knowing the "shared folder id" might help but I have no way of knowing how to obtain that.

I know in the outlook client I can just browse rooms and add the calendar, or i can get a list of those in my "team" and add them.. but in thunderbird I see no way of doing this. Any thoughts?

Can't connect to Calendar on TB56beta

Hi,
latest beta version of Thunderbird had problems with both Provider for Google Calendar and ExchangeCalendar. It's a well-know bug on their side.
This is the issue I reported
https://bugzilla.mozilla.org/show_bug.cgi?id=1389031
Latest Lightning Nightly and Provider for Google Calendar now work, but your addon still doesn't allow me to add a new calendar.
I figure out it's the same problem which occurred for Provider for Google Calendar.

Can't update tasks/events descriptions

Since the update to Thunderbird 52.1.1, Lightning 5.4 and EWS Provider v4.0.0-beta1, I can not update task's descriptions from Thunderbird as before, as they get always overwritten with the one in the server right after saving.

Calendar and new tasks creations seems to sync well, but I can't live without been able to modify the descriptions as before :(

I really love this addon! So I can't imagine working without this functionality. I know the effort you guys have to make so I will very grateful if someone can help with this. Anyone else with this problem?

Best.

Cannot setup a new Calendar to connect to Office 365

Error during checking of server and mailbox: HTTP Server error 503: Service unavailable
URL:https://outlook.office365.com/EWS/Exchange.asmx

(Code: -19)

Logs of attempt:

1st-setup:2017-7-5 10:42:23.583:[null] We are not going to perform a startup because we do not have a name yet and the calendar is probably still created. (set uri in mivExchangeCalendar.js:598)
1st-setup:2017-7-5 10:42:31.685:exchWebServicesConvertIDOK: user:[email protected], mailbox:[email protected]
1st-setup:2017-7-5 10:42:31.710:mivExchangeAuthPrompt2: getPassword: A realm was specified:Exchange Web Service (_getPassword in mivExchangeAuthPrompt2.js:120)
1st-setup:2017-7-5 10:42:31.711:mivExchangeAuthPrompt2: getPassword: There is no password in the passwordCache[[email protected]|https://outlook.office365.com/EWS/Exchange.asmx|Exchange Web Service] (_getPassword in mivExchangeAuthPrompt2.js:138)
1st-setup:2017-7-5 10:42:31.711:mivExchangeAuthPrompt2: getPassword: password(1)=******** (_getPassword in mivExchangeAuthPrompt2.js:144)
1st-setup:2017-7-5 10:42:31.711:mivExchangeAuthPrompt2: getPassword: There is no password in the cache. Going to see if there is one in the passwordManager. (_getPassword in mivExchangeAuthPrompt2.js:149)
1st-setup:2017-7-5 10:42:31.712:mivExchangeAuthPrompt2: passwordManagerGet: [email protected], aURL=https://outlook.office365.com/EWS/Exchange.asmx, aRealm=Exchange Web Service (_passwordManagerGet in mivExchangeAuthPrompt2.js:628)
1st-setup:2017-7-5 10:42:31.713:mivExchangeAuthPrompt2: getPassword: There is no password stored in the passwordManager. (_getPassword in mivExchangeAuthPrompt2.js:157)
1st-setup:2017-7-5 10:42:31.714:mivExchangeAuthPrompt2: getPassword: password(2)=******** (_getPassword in mivExchangeAuthPrompt2.js:164)
1st-setup:2017-7-5 10:42:31.714:mivExchangeAuthPrompt2: getPassword: First request for a password. Not going to ask user for it because we want to see if we need a password. For Kerberos for example we do not need a password. (_getPassword in mivExchangeAuthPrompt2.js:204)
1st-setup:2017-7-5 10:42:31.715:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.716:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.716:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.717:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.717:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.717:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.717:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.718:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.718:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.719:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsIApplicationCacheContainer
1st-setup:2017-7-5 10:42:31.720:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:31.840:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsIProgressEventSink
1st-setup:2017-7-5 10:42:31.841:66508114-4b5b-4cf8-8f56-31d9a15cc396:   --- ecnsIAuthPrompt2.onStatus: STATUS_SENDING_TO of outlook.office365.com
1st-setup:2017-7-5 10:42:31.841:66508114-4b5b-4cf8-8f56-31d9a15cc396:   --- ecnsIAuthPrompt2.onProgress: this is a nsIChannel
1st-setup:2017-7-5 10:42:31.841:66508114-4b5b-4cf8-8f56-31d9a15cc396:   --- ecnsIAuthPrompt2.onProgress:2638 of 2638
1st-setup:2017-7-5 10:42:31.841:66508114-4b5b-4cf8-8f56-31d9a15cc396:   --- ecnsIAuthPrompt2.onStatus: STATUS_WAITING_FOR of outlook.office365.com
1st-setup:2017-7-5 10:42:32.226:66508114-4b5b-4cf8-8f56-31d9a15cc396: ecnsIAuthPrompt2.getInterface: Ci.nsILoadContext
1st-setup:2017-7-5 10:42:32.228:exchWebServicesCheckServerAndMailboxError: aCode:-19, aMsg:HTTP Server error 503: Service unavailable
URL:https://outlook.office365.com/EWS/Exchange.asmx

Simplified interface to add calendar and password dialogs

In order to have a simpler way to create calendar and to have a more reliable way to ask password to users, I plan to update the calendar creation dialog and calendar properties.

Tasks I identified to achieve this:

  • Modify the Exchange Request standard component to allow pass password as argument
  • Modify Auth Prompt Manager interface to allow set password manually
  • Modify Exchange Settings Overlay XUL to split current standard UI into two independent dialogs (to be able to insert them separatly)
    • Create an exchangecalendar authentication dialog (alias "ecauth") to ask:
      • user domain name (in one field as new NT technologies support the style [email protected] since years)
      • user password (to avoid current bugs where password dialogs doesn't appear and where we don't know if we have to give user domain password or mailbox folder password)
      • select a server configuration type (autodiscover, office 365 or manual configuration)
      • according to server configuration type, ask a Exchange Web Service URL
      • add a final configuration test button to auto discover configuration if needed (and if successfull set EWS URL and update type to manual) and allow to pass to next screen if authentication were successfull
    • Create an exchangecalendar folder selection dialog (alias "ecfolderselect") to ask:
      • Owner folder (mailbox to look for data)
      • Select root folder (Calendar, Task, Addressbook) and path as current dialog do
      • Check access is available for previously configured user (not sure if this step is needed)
      • Save all settings on finish (don't forget to save password as it's a new field)
  • Modify Exchange Settings Overlay Javascript to handle new screens
    • Handle ecauth dialog
      • Add a way to validate user, password, Web Service URL
    • Handle ecfolderselect dialog
      • Add a way to validate folder access before saving
  • Modify Echange Calendar Creation dialog to use new available interface from Exchange Settings
    • Add wizard page for ecauth dialog
    • Add wizard page for ecfolderselect dialog
  • Modify every XUL where Exchange Settings Overlay is used (list of XUL to determine)

I'm currently working on my personal branch Trim/wip-new-calendar-creation-dialog-and-authentication-process. I don't work directly on ExchangeCalendar repository, because I'll certainly rebase the branch multiple times and/or force push commits.

"Save and close" vs. "save"

Hello everybody,
this is my setup on the computer at the office:
Exchange EWS Provider - 4.0.0-beta1
Lightning 5.4.1.1
Thunderbird 52.1.1
Windows7Pro
Using exchange calendar and CalDAV calendars in parallel.

When adding a date or task (regardless if adding to Exchange or to CalDAV) I just see the button "save" (which was "save and close" in older versions).

On my home computer I have the exact same setup, but without Exchange EWS Provider - 4.0.0-beta1.
If adding a date or task to CalDAV there is still "safe and close".

Is it true, that the change from "save and close" to "save" was introduced with the new Exchange EWS Provider? It looks like that, because without this addon its still "save and close" (which is, in my opinion, a much better and consistent way to handle that).

Thank you for informations or help!

Thunderbird 56 beta: unable to connect to calendars (component failure)

Existing calendars and any attempt to create a new calendar will display the following error message:

[Exception... "Component returned failure code: 0x80570015 (NS_ERROR_XPC_CI_RETURNED_FAILURE) [nsIJSCID.createInstance]" nsresult: "0x80570015 (NS_ERROR_XPC_CI_RETURNED_FAILURE)" location: "JS frame :: resource://calendar/modules/calUtils.jsm -> file:///usr/lib/thunderbird/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calCalendarManager.js :: createCalendar :: line 446" data: no]

English copy-editing

Much of the English-language text in the project (documentation, user-facing strings, etc.) is full of spelling and grammar errors or is awkwardly or inconsistently worded. (Even the project's name in the README doesn't match the name of the add-on as registered with Thunderbird!)

I can probably do some cleanup here and will submit some pull requests referencing this issue.

Special Characters (German)

When making a new appointment in Lightning, the special german characters disappear, an are replaced by questionmaks.
When syncing new appointments from the server, the special german characters remain unchanged.

How to Add Shared Calendars

It is easy enough to add a personal calendar (which I can do, too), but how about a shared calendar that is created in the domain's public folders?

How does one get the "Share Folder Id" ?
I've tried using the location \Public Folders - [email protected]\All Public Folders\theCalendar
I've also tried every combination of parts from this location to use as the shared folder id. I got this "location" by right-clicking the properties of the shared folder item in Outlook.

chrome://exchangecalendar/content/msgHdrUtils.js, line 219: SyntaxError: missing ] after element list

Hi There!

I dont know what is the exact issue here, but my thunderbird does not want to start and getting the following printouts:

1497346599159	addons.xpi	WARN	Exception running bootstrap method startup on [email protected]: SyntaxError: missing ] after element list (chrome://ldapinfo/content/ldapInfoUtil.jsm:187:44) JS Stack trace: startup@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///home/ebalbar/.thunderbird/user.default/extensions/[email protected]:48:3 < [email protected]:4968:9 < [email protected]:2885:13 < [email protected]:237:12 < [email protected]:790:5 < [email protected]:976:9 < [email protected]:3033:5 < [email protected]:65:9
[calBackendLoader] Using Thunderbird's builtin libical backend
JavaScript warning: chrome://gdata-provider/content/gdata-migration.js, line 82: JavaScript 1.6's for-each-in loops are deprecated; consider using ES6 for-of instead
JavaScript strict warning: resource://messagingmenu/modules/utils.jsm, line 174: ReferenceError: assignment to undeclared variable upper
JavaScript warning: chrome://exchangecalendar/content/msgHdrUtils.js, line 211: JavaScript 1.6's for-each-in loops are deprecated; consider using ES6 for-of instead
JavaScript error: chrome://exchangecalendar/content/msgHdrUtils.js, line 219: SyntaxError: missing ] after element list
EwsTagging(exception) 2 :JavaScript strict warning: resource://interfaces/exchangeBaseItem/mivExchangeBaseItem.js, line 1912: ReferenceError: reference to undefined property "getScriptableHelper"
JavaScript strict warning: resource://gre/components/SlowScriptDebug.js, line 17: ReferenceError: reference to undefined property "_activationHandler"
JavaScript error: resource://gre/components/nsPrompter.js, line 351: NS_ERROR_NOT_AVAILABLE: Cannot call openModalWindow on a hidden window
JavaScript warning: chrome://calendar/content/widgets/minimonth.xml, line 576: Error: Script terminated by timeout at:
setBusyDaysForOccurrence@chrome://calendar/content/widgets/minimonth.xml:576:1
onGetResult@chrome://calendar/content/widgets/minimonth.xml:501:15
calCompositeGetListenerHelper.prototype.onGetResult@file:///usr/lib/thunderbird/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calCompositeCalendar.js:532:9
_getItemsFromMemoryCache@file:///usr/lib/thunderbird/extensions/[email protected]/interfaces/exchangeCalendar/mivExchangeCalendar.js:2829:5
_getItems@file:///usr/lib/thunderbird/extensions/[email protected]/interfaces/exchangeCalendar/mivExchangeCalendar.js:2647:3
calCompositeCalendar.prototype.getItems@file:///usr/lib/thunderbird/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calCompositeCalendar.js:399:41
getItems@chrome://calendar/content/widgets/minimonth.xml:1038:11
showMonth@chrome://calendar/content/widgets/minimonth.xml:921:15
refreshDisplay@chrome://calendar/content/widgets/minimonth.xml:733:11
minimonth_XBL_Constructor@chrome://calendar/content/widgets/minimonth.xml:455:9

JavaScript error: file:///usr/lib/thunderbird/extensions/[email protected]/interfaces/exchangeCalendar/mivExchangeCalendar.js, line 2829: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [calIOperationListener.onGetResult]
JavaScript error: resource://gre/components/nsPrompter.js, line 351: NS_ERROR_NOT_AVAILABLE: Cannot call openModalWindow on a hidden window
JavaScript warning: chrome://global/content/bindings/text.xml, line 229: Error: Script terminated by timeout at:
@chrome://global/content/bindings/text.xml:229:10
formatAccessKey@chrome://global/content/bindings/text.xml:90:45
label-control_XBL_Constructor@chrome://global/content/bindings/text.xml:62:11

progress_panel

What I did is to killed all thunderbird process because the reminder panel get stucked - could not dismiss an item - and since I have been facing with this issue.. any suggestions? version 3.8

starting ends up in non-resposive state

It's great that some work is being done on Exchange compatability. This new version had been working for me up until just now, although start times were long.

However, now after startup thunderbird is not showing emails and is non-responsive - the submenus pop up but clicking on the entries doesn't do anything. Disabling the EWS add-on (start in safe mode, disable the add-on, and then restart) returns to a workable state (but of course without my Exchange calendar). Re-enabling goes back to the broken state.

I am running thunderbird with output to an emacs buffer and I can see the Exchange requests happening, so it is not that thunderbird is completely wedged, just that the interface isn't working except for the close button.

Any suggestions on what could be going wrong? I'm running Thunderbird 52.1.0 (64-bit) under Fedora 25 with XFCE.

screenshot_2017-06-14_14-15-16

Task HTML editor is stuck some times

While trying to resolve issue #5 , we reached multiple different issues.

Most have been able to be fixed, but one remains. To be more clear about the current status (4.00beta3) of releases, I open a new issue here.

As mentioned before, I've made some tries to fix this one, but I'm not able to resolve it and I think I've reached the point where I have not enough knowledge on Javascript and XUL technologies to be able to understand and fix the issue.

Note, that as I never used before the exchangecalendar task editors, I don't know the previous state of this element: does it was full working, does it had already some bugs ?

Current issue description

Exchangecalendar task editor provides a HTML text editor based on the <editor> XUL element.

I've found on the web that Mozilla don't provide a simple HTML editor directly but requires every project needing this to create themself a binding between the text area (the editor) and required buttons (like bold, italic, ...).

So, the exchangecalendar plugin does the right thing by defining itself a <exchWebServiceEditor> XBL element which contains the required editor text area, toolbar and the JavaScript bindings between them.

The issue is that, sometimes, the HTML editor is stuck in an unusable state: italic, bold and underlined buttons are stuck in an active state and the textarea is unable to be selected:

blocked editor screenshot

For me, it doesn't always appear, but for @smvicente it appears 98% of the time.

What I've discovered is that this state correspond to an exception raised when a click event happens. The exception is raised when the JavaScript code try to create an instance (in the XUL world) of nsICommandParams to read some button state.

The strange part is that it works well for say 5 buttons, but it fails on the ol_command button. I've tried to try/catch this exception to allow the code continues its execution, but then it failed with another instantiation creation in other part of the code.

Some tries / suggestion which didn't work

As suggested by @advancigu it can be an error of general initialization of the editor as it apperas only some times and on some basic XUL feature.

I've tried to get rid of <constructor> and <destructor> of the XBL element, but it seems to not work correctly if event handlers aren't loaded on XBL constructor phase.

Now I remember that this issue appeared after I've fixed another issue in the HTML editor: before I work on this code, the task editor reached an XML exception because the task editor dialog tried to insert badly formed HTML content inside the HTML editor. To fix this issue, I took the decision to modify the content setter to force the content to be inserted to be fixed by the Mozilla DOM parser. So, I think there is two options: either this fix caused the new issue, or this issue have always existed but wasn't reachable because of the XML parsing issue.

Address book lookup duplicates/performance

I've been having an odd problem with this plugin for some time. As notes in other comments, since there's some renewed life in the project now, I thought this would be a good time to bring it up.

I use the Exchange contact folder w/ Global Address List to allow searching for contacts in our address book. In terms of finding contacts this works great, but there's a recurring pattern where after a day or so of normal use I start getting a pause with every name lookup, and after a few days those pauses are so infuriatingly long that I need to restart Thunderbird to get it usable again.

If I run thunderbird from a console and watch out, I see when it performs a look up and gets a result. Eg.:

1.@@@ displayName:Last, First, localId:ActiveDirectory:[email protected]

On a freshly started session, I compose a new mail and search for a user with a unique first time so that there's only one match in the address book. I get two "hits" showing in the console in the above format, though these are for the same person. If I delete his name and search again, I then get 6 hits. Repeat and I get 12 hits. I repeated this a few times and get the following number of hits with each name search:

2
6
12
20
30
42
56
72
90
110
167
182
210

I've let this go for a while before, and by the point I need to restart thunderbird it's returning thousands of matches for each individual, which is then multipled by however many users match that name (searching for bill, for example, returns many more individuals than the example above).

Any idea what's causing this? or what I can do to help troubleshoot so we can try to get it resolved? I've completed dumped and re-created my profile after each of the last two major Thunderbird updates, and the issue recurs every time. I love this project and the functionality it provides, but the performance hit is seriously wearing on me. I'm happy to provide whatever additional info would be helpful if you could provide some guidance on how to further troubleshoot.

For reference, I'm running Thunderbird 52.2.0 on Gentoo Linux (amd64) with the following extensions enabled:
AddressBookTab
Exchange EWS Provider
InverseSOGo Connector
Lightning

My environment is using Office 365, and I have to enable the "add global address list to search results" option to find contacts in our address book.

All invitation are handled by Exchange EWS Provider

Thank you very much for the hard work of keeping this addon working and compatible!

I have an issue, maybe somebody can confirm / help about that:
When receiving an invitation by e-Mail, I was asked before in which of my calendars this invitation should be written - I am using an Exchange calendar and some additional CalDAV-calendars. So I was able to choose via a popping-up pulldown menu, where to save the date.
Now this behaviour changed: When accepting an invitation it is automatically written into the Exchange calendar without asking me.

I am not sure if this is caused by the new exchangecalendar addon, by the new version of firefox or by the new lightning.
I am using:
Exchange EWS Provider - 4.0.0-beta1
Lightning 5.4.1.1
Thunderbird 52.1.1

Any help would be great!

Thank you

Thank you for your work on this fork. I just installed the 4.0 beta and it resolved my issues.

Much appreciated !

Andrew

Looking to contribute, but no idea where to start

I'm familiar with XUL extension development, and I want to look into contributing to the extension. Specifically, I have this idea that the extension currently doesn't (effectively) uses EWS delta sync because I see fairly frequent updates drawn in the calendar. Is this idea I have true, and where should I start looking to implement delta sync?

Gotchas and incompatibilities in translationupdater.sh

The translationupdater.sh script employs some semantically questionable, inelegant, and even dangerous constructs, particularly with relation to globbing and quoting. (See for the example the output of ShellCheck, a lint-like tool for Bourne-compatible shell scripts.) The code should be cleaned up to prevent gotchas and incompatibilities.

See also Issue #38.

Events on Monday Mornings Do Not Display in the Calendar View

Thunderbird 52.2.1 (Mac OS 64-bit); Exchange EWS Provider 4.0.0beta4

This is a long-standing issue, not a new issue with 4.0.0 beta 4. Events scheduled for Monday mornings do not display in the calendar view, but they do appear in the Today Pane. The 10-11 am slot seems to be most problematic while 11 am - 12 pm displays in the calendar view. The timezone, just in case it is relevant, is Pacific/Auckland.

This is definitely a problem with Exchange EWS Provider, because events created in a local calendar for the 10-11 am time slot display without problem.

An almost certainly related, and perhaps the same, bug is Exchange events for any morning with an end date prior to 11 am failing to display in the Today Pane.

Invite to repetitive appointment shows "Failed to read 'weeklyNthOnNounclass3' from chrome://calendar/locale/calendar-event-dialog.properties."

Received an invitation, I see the message "Failed to read 'weeklyNthOnNounclass3' from chrome://calendar/locale/calendar-event-dialog.properties."

It seems the functionality is not affected.

Console shows:
Failed to read 'weeklyNthOnNounclass3' from chrome://calendar/locale/calendar-event-dialog.properties.
Error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIStringBundle.formatStringFromName]"
nsresult: "0x80004005 (NS_ERROR_FAILURE)"
location: "JS frame :: resource://calendar/modules/calUtils.jsm -> file:///home/tharrrk/.thunderbird/8n2zcjji.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js :: calGetString :: line 699" data: no]

Type: hosted on outlook.office365.com

Versions:
EWS: V2017_04_14 (15.1.1261.13)
XPI: 4.0.0-beta4
Lightning: 5.4
TB: 52.1.1 (64-bit)
OS: KDE neon User Edition 5.10 (based on Ubuntu Xenial 16.04) x86_64

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.