Calendar:Lightning:Integration Issues

From MozillaWiki
Revision as of 19:19, 30 March 2005 by Shaver (talk | contribs)
Jump to navigation Jump to search

This is a very rough doc; I use it to keep track of problems we need to address for Lightning and likely for other extension authors as well. I need to find/file bugs on these to track and suggest improvements in. --Shaver 10:51, 30 Mar 2005 (PST)

  • Little-to-no error reporting for overlay errors.
    • Put an incorrect URL in your chrome.manifest
    • Causes an empty buffer to be sent to expat
    • Which is an XML error, causing the XUL content sink to generate <parsererror> _and_ blow away the context stack.
    • You get an assertion from the context stack destruction, and future overlay processing is broken.
    • No useful error reported at _any_ point.
  • Some, but insufficient, for chrome.manifest/chromereg.
  • Also, extension manager error reporting is sorely lacking. Some of that is because the RDF datasource stuff sucks, and doesn't report errors back up the chain. F.e. update.rdf served as wrong (but RDF-legal: application/rdf+xml) MIME type.
  • Reload-to-test cycle painful -- can't even use "reload chrome" extension in tbird for those cases, let alone where JS components change, etc.
  • DOMi and Venkman don't work well with Thunderbird -- DOMi was dropped in Tbird 0.8 for DL-size reasons, and people said it was available as an extension, but I can only find an old one from Chris Neale that I have to hack install.rdf for.
  • Need to participate in the folder/server/msgdbheader model to get into the Tbird search model.
    • Can't participate in server/folder model without security-risky, leak-prone, JS-incompatible RDF work.
    • Also need to implement large and baroque nsIMsgIncomingServer and nsIMsgFolder interfaces.
    • MsgDbHeader stuff looks very mork-centered, hard to use with other stores.
  • Overlaying new columns into tree widgets is hard.
  • Everyone seems to have to write their own "is a message selected?" sorts of command handlers, since we don't have any good ones to reuse.
  • Can't search addressbook
    • Have to retrieve all cards and enumerate (!)
  • hard to plug in new addressbook implementations (more RDF stuff, painful interfaces)
    • The GroupDAV guy is suffering under this, proposing new ifaces, stuck between a rock and a hard place!
  • Thunderbird skin/chrome build system very confusing, with classic and qute and mailnews and mail. Some docs or fixes there would be greatly helpful.
  • Venkman doesn't help at all for debugging with JS component issues for which we have well-isolated (xpcshell) test cases; have to choose between running easily in xpcshell and having venkman available (by loading it into tbird or such). Maybe xulrunner can help here?
  • xpcshell doesn't work well with components installed in firefox/tbird profiles, which makes reproducing and testing bugs/fixes much harder.
  • Would be nice to be able to use IMAP as a calendar store, and maybe for centralized prefs, etc., but driving the IMAP protocol code from non-mailnews apps looks to be Very Hard.