Calendar:Lightning:Integration Issues
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.
- 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 stuff. (Some of that is because the RDF datasource stuff sucks, and doesn't report errors back up the chain.)
- 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?