summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* mail/envelope: improve the parse_template() algorithmHEADmasterAnton Khirnov2023-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 timesAnton Khirnov2023-03-16
| | | | Merge values from multiple files.
* settings/manager: make a log message more informativeAnton Khirnov2023-03-16
|
* argparse: simplify ValidatedStoreAction.__init__Anton Khirnov2023-03-16
|
* settings/utils: move resolve_att to the only place where it's usedAnton Khirnov2023-03-07
|
* UI: drop always-true function argumentAnton Khirnov2022-05-11
|
* commands/globals:BufferCloseCommand: drop unused redraw paramAnton Khirnov2022-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 classAnton Khirnov2022-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 touchhookAnton Khirnov2022-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 shellAnton Khirnov2022-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 nameAnton Khirnov2022-02-05
|
* db/manager: support flexible database locationAnton Khirnov2022-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 callablesAnton Khirnov2021-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 changesAnton Khirnov2021-12-03
| | | | Pass them as strings rather than single-element lists.
* commands/search: allow reversing search resultsAnton Khirnov2021-11-29
|
* buffers/search: allow displaying results in reverseAnton Khirnov2021-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 AddrListAnton Khirnov2021-11-29
|
* helper: move guess_mimetype into its own fileAnton Khirnov2021-11-24
|
* settings/manage: sanitize various Unicode zero-width spaces to nothingAnton Khirnov2021-11-24
|
* defaults: default honor_followup_to to TrueAnton Khirnov2021-11-24
| | | | | If the sender bothered with setting it, we should respect their wishes by default.
* mail/reply: rewrite recipient selectionAnton Khirnov2021-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 Khirnov2021-11-24
|
* mail: add a custom email policyAnton Khirnov2021-11-24
| | | | Uses structured parsing for more headers.
* mail/headers: fix header nameAnton Khirnov2021-11-24
| | | | It's X-BeenThere, not X-Been-There.
* commands/thread: move determining reply recipients to mail/replyAnton Khirnov2021-11-24
|
* helper/split_commandline: drop unused function parametersAnton Khirnov2021-11-22
|
* commands/thread: split some reply handling code to a separate moduleAnton Khirnov2021-11-22
|
* mail/envelope: replace string literals with named constantsAnton Khirnov2021-11-22
|
* mail/envelope: set headers for sending as strings, not listsAnton Khirnov2021-11-22
|
* commands/thread: auto-page copiousoutput mailcap handlersAnton Khirnov2021-11-20
|
* utils/mailcap: fix filename handlingAnton Khirnov2021-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 functionAnton Khirnov2021-11-20
|
* commands/thread: refactor selecting reply recipientsAnton Khirnov2021-11-20
|
* defaults: default followup_to to TrueAnton Khirnov2021-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 headerAnton Khirnov2021-11-20
| | | | Move it to a separate function, simplify flow control.
* commands/thread: refactor setting reply referencesAnton Khirnov2021-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 composeAnton Khirnov2021-11-20
| | | | | It is cleaner to construct it with all the headers known, rather than modify it progressively.
* commands/thread: drop useless deleteAnton Khirnov2021-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 constantAnton Khirnov2021-11-20
|
* commands/thread: fix action name for forwarding emailAnton Khirnov2021-11-20
|
* mail/headers: use the canonical Capitalized spellingAnton Khirnov2021-11-20
|
* commands/thread: use named constants instead of string literalsAnton Khirnov2021-11-20
| | | | This is safer against typos.
* mail/envelope:_EnvelopeHeaders: make del delete all the entriesAnton Khirnov2021-11-20
|
* commands/envelope: refactor deriving headers to be editedAnton Khirnov2021-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 headersAnton Khirnov2021-11-20
| | | | Handle multiple headers with ordering and case-insensitive operations.
* envelope: drop unused codeAnton Khirnov2021-11-20
|
* commands/thread: use imported function directlyAnton Khirnov2021-11-20
|
* db/message: work around python bug 39100Anton Khirnov2021-11-20
|
* mail/envelope: fix setting attachment paramsAnton Khirnov2021-06-21
| | | | | Actually pass them as a tuple of tuples. Also, set the charset param only for text attachments.
* buffers/thread: drop unused importAnton Khirnov2021-06-18
|