summaryrefslogtreecommitdiff
path: root/alot
Commit message (Collapse)AuthorAge
...
* | Options overwrite default values for sent_tags and draft_tagssgelb2019-07-07
|/ | | | | In addition, remove hardcoded default values from `account.py` and use defaults from `alot.rc.spec`
* refactor ReplyCommandPatrick Totzke2019-06-02
| | | | | This moves the static methods clear_my_address and ensure_unique_address out of ReplyCommand and into alot.db.utils.
* fix: use from-header from disk when replyingPatrick Totzke2019-06-02
| | | | | | | | | | | | | | | | see issue #1402 If the "author" string (a decoded version of the From header value) is read from the notmuch index, it may have already removed quotes around real name parts containing a comma. This means that `alot.db.message.get_author()` will potentially misinterpret it because python's email libs decoding behaviour is different. For example, 'Ä, B <a@b.c>' will yield address 'Ä' and empty name!. This commit makes sure that the original from header is read from disk when one replies to a message, which avoids the above problem.
* fix formataddrPatrick Totzke2019-06-02
| | | | | | | | | | | | | | | | | | | | | This adds a local utility function `formataddr` which acts as the direct inverse of `email.utils.parseaddr`. The problem with `email.utils.formataddr` is (currently) that - it encodes non-ascii characters and - it does not re-introduce quotes around the real name parts in case parseaddr removed them: >>>parseaddr('"Ö, Ä" <a@b.c>') >>>('Ö, Ä', 'a@b.c') >>>formataddr(('Ö, Ä', 'a@b.c')) >>>'=?utf-8?q?=C3=96=2C_=C3=84?= <a@b.c>' >>>parseaddr('=?utf-8?q?=C3=96=2C_=C3=84?= <a@b.c>') >>>('=?utf-8?q?=C3=96=2C_=C3=84?=', 'a@b.c') related issue #1402
* adjust to variable python-magic APIMichael J Gruber2019-06-02
| | | | | | | | Depending on the libmagic/ctypes version, magic_version is a function or a constant. So far, the code expected a constant and fails on the function variant with a TypeError. Test with callable() und use the magic_version attribute accordingly.
* remove old new-style classes syntaxPatrick Totzke2019-05-27
| | | | | | Python3 only supports "new-style" classes (those extending object), and we don't need to explicitly inherit from this root class any more. See http://pylint-messages.wikidot.com/messages:c1001
* do not remove quotes around realname partsPatrick Totzke2019-05-27
| | | | | | | | | | | | | when decoding headers containing email addresses; Some MUAs (exchange) will add headers in the form: To: "Last, First" <x@y.z> Prior to this commit, alot would remove the quotes (apparently they violate RFC 2047). However, this then would lead to problems where the additional comma is interpreted as separator between several recipients. This commit causes alot to not remove the quotes.
* Fix double width characters in search viewCaio Prado2019-05-14
| | | | | Hotfix for double width characters causing columns misalign in search view (https://github.com/pazz/alot/issues/1393)
* update docs for tag commands in search modePatrick Totzke2019-05-11
| | | | Closes #1391
* cleanup trailing whitespacePatrick Totzke2019-05-11
|
* fix mergePatrick Totzke2019-05-11
| | | | | | | | Since this branch was created, master has diverged in that ComposeCommand now stores the determined sender account in the envelope. (see #117). This commit makes sure that the newly split methods read the account from there.
* fix pyflakes issuesPatrick Totzke2019-05-11
|
* commands/globals: split remaining functionality out of applyPatrick Totzke2019-05-11
| | | | The last few functions are very small so just doe them in one go.
* commands/globals: Split encryption code into a helperDylan Baker2019-05-11
|
* commands/globals: Split code for setting a missing To headerDylan Baker2019-05-11
|
* commands/globals: split gpg signing code into a helperDylan Baker2019-05-11
|
* commands/globals: split envelope setting codePatrick Totzke2019-05-11
|
* commands/globals split out the signature setting codeDylan Baker2019-05-11
|
* commands/globals: split the code for setting ...Patrick Totzke2019-05-11
| | | | account and From header
* commands/globals: split out the code for loading a templateDylan Baker2019-05-11
|
* commands/globals: wrap apply in an error handlerDylan Baker2019-05-11
| | | | | | | | As we split the apply method up into separate methods we need a way for those helpers to stop execution of the method. This wraps the real apply method inside of a try/except block with a custom exception. Any helper that is intended to run in the apply method simply needs to raise this exception, and apply will return.
* expose subject and to headers to forward_prefix hookNick Hu2019-05-11
|
* fix double-line issuePatrick Totzke2019-03-04
| | | | | | | | | Tagstrings with double-width characters resulted in not enough horizontal space being allocated, which lead urwid to draw the statusline in two lines instead of one (see #742). This lets urwid calculate the necessary width itself, using its pack() method.
* adding new config options to the docsAndrés Martano2019-03-04
|
* Config to display in thread buffer status bar all tags present in a thread, ↵Andres MRM2019-03-04
| | | | or tags common to all messages in thread
* bump yearPatrick Totzke2019-02-14
|
* bump version stringPatrick Totzke2019-02-14
|
* restore lenient libmagic decodingMichael J Gruber2019-02-07
| | | | | | | | 176cffcd ("refactor alot.db.utils.remove_cte", 2018-12-04) created a few problems with 8bit quoted-printable e-mails, see #1291 #1360. This commit restores the old libmagic fallback which did not cause this problem.
* addressbook: add logging statementsMatthieu Coudron2019-02-06
| | | | to help troubleshoot problems
* db/message: accept attachments of type pgp-encryptedRuben Pollan2019-01-21
| | | | | | | | | | | | | | | | | In case of a '.gpg' file being attached to a non-encrypted email some email clients (like thunderbird) will mark this attachment as content type 'application/pgp-encrypted'. Alot used to discard that mime part because the same content type is being used in PGP/MIME to signal de version: https://tools.ietf.org/html/rfc3156#section-6.1 Now alot differenciates two cases: * Normal PGP/MIME encrypted messages, where we need to discard the 'application/pgp-encrypted' mime part. Detected because this part is followed by a 'application/octet-stream' mime part. * A mime part with aplication/pgp-encrypted as content type, that is displayed as attachment.
* ~ expansion for .config/alot/configbrady2019-01-06
| | | | | | | | pep8! Better variable names, new feature into docs. Make sphinx documentation.
* restore support for regex in section namesWill Dietz2018-12-22
|
* Set local variable before useageLucas Hoffmann2018-12-14
| | | | Fixes #1351.
* bump version stringPatrick Totzke2018-12-10
|
* rename get_account_by_address to account_matching_addressvrs2018-12-10
| | | | | ... since accounts' addresses can overlap and get_account_by_address promises too much. Also remove now-obsolete get_addresses.
* match addresses against accounts, not address listsvrs2018-12-10
| | | | fixes #1230, fixes an unfiled bug in clear_my_address()
* attach accounts to envelopesvrs2018-12-10
| | | | simplifies a few tests, fixes #1177
* refactor alot.db.utils.remove_ctePatrick Totzke2018-12-07
| | | | | | | This makes remove_cte more accepting of incorrect Content-Transfer-Encoding header values: instead of looking for exact matches of valid values, it now tests if a valid value appears as substring.
* Add test for #1301Lucas Hoffmann2018-12-03
| | | | | | This adds a test for detecting a malformed content-transfer-encoding (trailing semi-colon). It also changes the raised exception to the more appropriate ValueError.
* fix: ui.notify is no coroutinePatrick Totzke2018-11-21
| | | | this fixes #1336
* make bounce command use the correct sender accountMichael J Gruber2018-11-15
| | | | | | | | | | | | | | | Bounce correctly determines the address and account to send the bounce from. It uses the account to choose an address book for "to:" completion and passes the sender address as "Resent-From:" to SendCommand(). The latter uses the "From:" header, though, to determine the sending account again and (in the case of a bounce) wrongly. Make SendCommand() use "Resent-From:" if present and "From:" else. Code remark: specifying "False" as the default return value for get() ist not necessary; it is meant to make this short form clearer to read, and to safeguard for times when '' or None do not evaluate to False here.
* don't include quoted lines in msg content summaryPatrick Totzke2018-11-08
|
* crypto: use sphyinx 'raise' first param to give the typeRuben Pollan2018-11-01
|
* crypto: deal with bad signatures on session-decryptRuben Pollan2018-11-01
| | | | | | When the key is known or just the signature is invalid gpgme raises 'BadSignatures'. Up to now we were not acknoledging it when using session-keys, making impossible to open emails without the signing key.
* db/utils: strip cte before comparingDylan Baker2018-10-19
| | | | Fixes #1325
* Check set of encryption keys before sendingAndre Bianchi2018-10-16
| | | | Closes: #1232
* Merge pull request #1306 from lucc/fix-1303Dylan Baker2018-10-10
|\ | | | | Check the return code from sendmail
| * Improve error notification on failing sendmailLucas Hoffmann2018-10-10
| |
| * Check the return code from sendmailLucas Hoffmann2018-09-22
| |
* | crypto: Use session-key to decrypt messages if present in the indexRuben Pollan2018-10-08
| | | | | | | | | | | | | | | | | | | | notmuch caches the OpenPGP session keys if configured to do so. See index.decrypt on: https://notmuchmail.org/manpages/notmuch-config-1/ Using the cached session key decryption of messages can be done without the need of having the private OpenPGP key. There is some speed up on decryption, mostly notable on long encrypted threads.