summaryrefslogtreecommitdiff
path: root/alot
Commit message (Collapse)AuthorAge
* 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.
* | Go back to Twisted event loopDylan Baker2018-10-04
| | | | | | | | | | | | | | | | | | | | Urwid + asyncio has been known to have very high CPU usage for 4 years now, and it hasn't been fixed. That basically makes it impossible to switch event loops. We can still get the asyncio syntax goodness but using the twisted asyncioreactor and then initializing urwid with the Twisted loop which doesn't have this problem. Fixes #1302
* | ui: Use Eventloop.create_future instead of asyncio.FutureDylan Baker2018-10-04
|/ | | | | This is recommended since other implementations can use this hook to return their own Future compatible implementations.
* Don't try to add Content-Disposition header to email that already has oneDylan Baker2018-08-13
| | | | | | | | | | | | | | | Currently in db.utils.extract_body we try to add a Content-Disposition header, regardless of whether an email already has one. This isn't actually legal, and individual mime message may only have one C-D. The correction is to replace the header with the modified header if it already exists, and to add a new one only if the message doesn't have one. Note that I haven't actually seen a message that hits the path that would need "add_header", only "replace_header". I have however included it because it would be a behavioral change to not handle that case. Fixes #1297
* commands/thread: Don't refresh after movingDylan Baker2018-08-08
| | | | | | | | | | For large threads (I can reproduce on threads with ~50 messages), changing messages can become quite slow, especially if there are a significant number of folded messages. Removing the call to refresh the body after moving seems to fix this. There may be side effects of this change, and it may be required in some cases, just not all of them.
* Set the policy for email.message_from_*Dylan Baker2018-08-06
| | | | | | | Otherwise they default to the Compat32 policy, which isn't want we want, since we end up with a mixture of new and old types. Fixes: #1292
* helper: remove unused GeneratorDylan Baker2018-08-06
|
* db/utils: remove unused Header importDylan Baker2018-08-06
|