Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | mail/envelope: improve the parse_template() algorithmHEADmaster | Anton Khirnov | 2023-08-23 |
| | | | | | | | | | | | | | It currently assumes that the string to be parsed contains LF-separated lines. This assumption is in general wrong, because the string may be written by the user's text editor and is thus outside of our control and may contain anything. In addition, since emails should use CRLF line endings, it is arguably more correct for text editors to write CRLF to .eml files. E.g. recent versions of vim do exactly that by default. Change the parsing code to accept any of CR/LF/CRLF line endings. | ||
* | main: allow -c to be used multiple times | Anton Khirnov | 2023-03-16 |
| | | | | Merge values from multiple files. | ||
* | settings/manager: make a log message more informative | Anton Khirnov | 2023-03-16 |
| | |||
* | argparse: simplify ValidatedStoreAction.__init__ | Anton Khirnov | 2023-03-16 |
| | |||
* | settings/utils: move resolve_att to the only place where it's used | Anton Khirnov | 2023-03-07 |
| | |||
* | UI: drop always-true function argument | Anton Khirnov | 2022-05-11 |
| | |||
* | commands/globals:BufferCloseCommand: drop unused redraw param | Anton Khirnov | 2022-05-11 |
| | | | | | Drop it also from the corresponding UI functions, where it does not do anything. | ||
* | ui: move _{save,load}_history* out of the UI class | Anton Khirnov | 2022-05-11 |
| | | | | | They are currently private staticmethods and there is no good reason to keep them inside UI, they only make the already large class larger. | ||
* | commands/globals:ExternalCommand: actually use thread param from touchhook | Anton Khirnov | 2022-05-08 |
| | | | | | The value from the hook would currently get overridden by the value provided to the ExternalCommand() constructor. | ||
* | commands/globals:ExternalCommand: do not shell-quote cmd for the shell | Anton Khirnov | 2022-05-08 |
| | | | | | | | | | This is not just "being extra safe" as the comment says, it actually prevents using shell constructs in the commandline, thus nullifying the main reason to use the shell in the first place. If the shell is requested, assume the command list is already properly prepared for the shell and just join the list elements with spaces. | ||
* | commands/thread: fix action name | Anton Khirnov | 2022-02-05 |
| | |||
* | db/manager: support flexible database location | Anton Khirnov | 2022-02-05 |
| | | | | | In newer notmuch versions it no longer needs to be stored along with the emails themselves. | ||
* | ui: change command hooks back to normal callables | Anton Khirnov | 2021-12-03 |
| | | | | | | | They are treated as coroutines now, but this does not seem to be documented. This is a step towards making commands synhronous again. | ||
* | mail/envelope: fix Envelope.from_mailto() after header changes | Anton Khirnov | 2021-12-03 |
| | | | | Pass them as strings rather than single-element lists. | ||
* | commands/search: allow reversing search results | Anton Khirnov | 2021-11-29 |
| | |||
* | buffers/search: allow displaying results in reverse | Anton Khirnov | 2021-11-29 |
| | | | | | | | | | | | | Not hooked up to any commands, so not actually usable yet. Note that oldest_first and newest_first sort orders are not inverses of each other, because oldest_first uses the oldest message in the thread for sorting, while newest_first uses the newest one. This option applies on top of that sorting to display results from the end to the beginning. This requires reading the whole result list first, so can be slow for queries with many results. | ||
* | mail/reply: fix deleting address from AddrList | Anton Khirnov | 2021-11-29 |
| | |||
* | helper: move guess_mimetype into its own file | Anton Khirnov | 2021-11-24 |
| | |||
* | settings/manage: sanitize various Unicode zero-width spaces to nothing | Anton Khirnov | 2021-11-24 |
| | |||
* | defaults: default honor_followup_to to True | Anton Khirnov | 2021-11-24 |
| | | | | | If the sender bothered with setting it, we should respect their wishes by default. | ||
* | mail/reply: rewrite recipient selection | Anton Khirnov | 2021-11-24 |
| | | | | | | | | Thoroughly ensure that To+Cc contains neither our own address (except when it is wanted) nor any duplicates. Use structured headers provided by email.headerregistry to simplify dealing with addr-spec vs. mailbox (display name + <addr-spec>). | ||
* | Drop some unused imports. | Anton Khirnov | 2021-11-24 |
| | |||
* | mail: add a custom email policy | Anton Khirnov | 2021-11-24 |
| | | | | Uses structured parsing for more headers. | ||
* | mail/headers: fix header name | Anton Khirnov | 2021-11-24 |
| | | | | It's X-BeenThere, not X-Been-There. | ||
* | commands/thread: move determining reply recipients to mail/reply | Anton Khirnov | 2021-11-24 |
| | |||
* | helper/split_commandline: drop unused function parameters | Anton Khirnov | 2021-11-22 |
| | |||
* | commands/thread: split some reply handling code to a separate module | Anton Khirnov | 2021-11-22 |
| | |||
* | mail/envelope: replace string literals with named constants | Anton Khirnov | 2021-11-22 |
| | |||
* | mail/envelope: set headers for sending as strings, not lists | Anton Khirnov | 2021-11-22 |
| | |||
* | commands/thread: auto-page copiousoutput mailcap handlers | Anton Khirnov | 2021-11-20 |
| | |||
* | utils/mailcap: fix filename handling | Anton Khirnov | 2021-11-20 |
| | | | | | It is only relevant for the sanitize_attachment_filename hook, so never got triggered. | ||
* | commands/thread: construct the reply body in its own function | Anton Khirnov | 2021-11-20 |
| | |||
* | commands/thread: refactor selecting reply recipients | Anton Khirnov | 2021-11-20 |
| | |||
* | defaults: default followup_to to True | Anton Khirnov | 2021-11-20 |
| | | | | | | It only has any effect when mailinglists is configured, which signals the user's intent to use mail-followup-to just as well. Maybe followup_to should be removed completely. | ||
* | commands/thread: refactor adding mail-followup-to header | Anton Khirnov | 2021-11-20 |
| | | | | Move it to a separate function, simplify flow control. | ||
* | commands/thread: refactor setting reply references | Anton Khirnov | 2021-11-20 |
| | | | | | Move it to its own function, simplify the flow control. Expand the arbitrary references limit to 16 in total. | ||
* | commands/thread: do not construct the Envelope until right before compose | Anton Khirnov | 2021-11-20 |
| | | | | | It is cleaner to construct it with all the headers known, rather than modify it progressively. | ||
* | commands/thread: drop useless delete | Anton Khirnov | 2021-11-20 |
| | | | | | The 'To' header has not been set on the envelope yet, so trying to delete it is pointless. | ||
* | commands/thread: replace one more header with named constant | Anton Khirnov | 2021-11-20 |
| | |||
* | commands/thread: fix action name for forwarding email | Anton Khirnov | 2021-11-20 |
| | |||
* | mail/headers: use the canonical Capitalized spelling | Anton Khirnov | 2021-11-20 |
| | |||
* | commands/thread: use named constants instead of string literals | Anton Khirnov | 2021-11-20 |
| | | | | This is safer against typos. | ||
* | mail/envelope:_EnvelopeHeaders: make del delete all the entries | Anton Khirnov | 2021-11-20 |
| | |||
* | commands/envelope: refactor deriving headers to be edited | Anton Khirnov | 2021-11-20 |
| | | | | | | | | | Split the code into its own function. Make it properly case-insensitive. Apply either the blacklist or the whitelist setting, trying to apply both makes no sense. Enforce that either a blacklist or a whitelist is configured in the settings. | ||
* | mail/envelope: add a special class for headers | Anton Khirnov | 2021-11-20 |
| | | | | Handle multiple headers with ordering and case-insensitive operations. | ||
* | envelope: drop unused code | Anton Khirnov | 2021-11-20 |
| | |||
* | commands/thread: use imported function directly | Anton Khirnov | 2021-11-20 |
| | |||
* | db/message: work around python bug 39100 | Anton Khirnov | 2021-11-20 |
| | |||
* | mail/envelope: fix setting attachment params | Anton Khirnov | 2021-06-21 |
| | | | | | Actually pass them as a tuple of tuples. Also, set the charset param only for text attachments. | ||
* | buffers/thread: drop unused import | Anton Khirnov | 2021-06-18 |
| |