Todo list, and bugs
===================

KNOWN BUGS:
O signed plain: a line beginning with "--" is transformed to "- --"
  This is not a bug; this is done by gpg. There is an option ib gpg to avoid this, but it should not be enabled for emails!
X When asked for a passphrase, if user enters a bad one, an alert panel is displayed, complaining about a SIGPIPE signal
  The alert panel can be dismissed without any fear; everything worked well though.
  Now exception is caught, and we display gpg error
- BCC users are never taken in account for encrypted files; their email address, thus PGP key, is not used for encryption
- (MacOS X Server 1.x only) GPGMail fails to decrypt twice in-a-row the same MIME message.
X It may happen that Mail.app/MailViewer.app displays PGP signatures using non-ASCII characters, but GPGMail never creates non-ASCII signatures/encrypted messages; this is a display problem.
  There was a problem with quoted-printable
- In some circumstances, GPGMail is unable to decrypt MIME messages if your secret keyring contains more than one key.
- (MacOS X Server 1.x only) App blocked during decryption. Happened only 1x. Bad passphrase? Maybe we should put a watchdog and enable "cancel" for decryption.
- Forwarded/Replied mail is encrypted; does not happen (MOXS) if user double-clicked on message.
X Broken pipe exception if gpg cannot find public key; also in some unknown other cases!!
  Exception is now caught, and gpg error is displayed.
- Customizing Compose toolbar: button state is not correct
- Passphrase panel: sometimes passphrase has not be forgotten and is redisplayed in panel. How to repeat?!
X On MOX, there's a message from Gordon I cannot verify (plain text)
  I didn't get MimeBodyPart data correctly; it was no longer quoted-printable => contained 8-bit characters
- Toolbar Items restoration: it may happen that order is not restored correctly: check stored indexes!
- Toolbar buttons are sometimes duplicated, when you have multiple viewers.
X Create a MIME (multipart/alternative) message from forward/reply AND no rich text; encrypting it resulted in an ill-formed message (is missing subparts headers)
  Seems there's a bug in Mail.app; see patch in -[Message(GPGMail) gpgEncryptWithIdentity:passphrase:recipients:signatureType:]
- If a message is signed and encrypted, and public key is not available, then decryption will failed. It should not!
X On MOX, with decrypted messages, user looses ability to click on hyperlinks (mailto, http, ...)
  Changed invoked method to reload textView
- On MOX, appearance of encrypted MIME message in mailbox changes after first decryption: before, user sees two attachments (with label), after he sees only one (without label). Maybe a cache problem?
X On MOX, some URLs in message, containing =, are not correctly rendered: tries to decode quoted-printable sequence!
  Corrected after I modified -[MimeBodyPart gpgBodyPart]...
X Compose window is not redrawn correctly when mail delivery fails
  Now we redraw in an async way (delayed)
(- Following mails in GPGMail.mbox are unverifiable/undecryptable: 6 (missing key), 22 (missing key), 37 (Mulberry mail with 2 sigs), 110, 111)
X Some weird behaviors: - decrypts/authenticates previously selected message, but not current one
                        - first message authentication fails, without any message
  These bugs were due to the non-thread-safetyness of GPGHandler...
- It happens that after having decrypted a message, the password panel appears again, during modal sheet; after this message can no longer be displayed in clear
- Annoying logs in console about toolbar items
- DOES NOT WORK AT ALL ON 10.1: it needs a LOT of work... (if ever possible)


Modifications:
- Add full compliance with RFC 3156
- Better filtering of gpg error messages using GPGME
- Allows decrypted message forwarding
- Replace state buttons in Compose toolbar with custom view containing 2 checkboxes; label is PGP.
- Automatic decrypt/verify only if message is unread
- Use sheet when asking passphrase


New Features:
- Add command-key shortcuts
- Add contextual menu entries for MessageViewer
- Add support for multiple PGP identities
- Allow recipients choice
- Use KeyChain Manager (MacOS X only)
- Customize display of signed/encrypted message
- Add support for BCC recipients
- Add support for partial encryption/signature (not the whole message)
- Full multithreading of encryption/decryption
- Add support for S/MIME
- Localization in different languages
- MacOS X Server: add buttons on Mailbox Viewer to decrypt/authenticate selected message
- Read/write the following headers:
  X-PGP-KeyID: shortKeyID
  X-Request-PGP: http://url/to/get/publicKey
- Modify MIME version header: add (GPGMail 0.5.1v8), or add X-PGP-Agent: GPGMail 0.5.1v8
