summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* db/envelope: move to a new module "mail"Anton Khirnov2021-01-30
| | | | It has nothing to do with the database.
* db/envelope: switch to the "new" (EmailMessage) python APIAnton Khirnov2021-01-30
| | | | | | | | | | email.mime is a part of the old API, which does not mix well with the new one (i.e. when email.policy.SMTP is used), specifically when non-ASCII headers are used. Additionally, clean the APIs that accept either EmailMessage or a str to only expect EmailMessage. Supporting both just adds confusion and complexity.
* SendCommand: stop using an instance attribute unnecessarilyAnton Khirnov2021-01-29
|
* SendCommand: remove unnecessary instance attributeAnton Khirnov2021-01-29
| | | | It is only used inside one function.
* commands/envelope: remove unused SendCommand parametersAnton Khirnov2021-01-29
|
* widgets/global: move HeadersList to the only place where it is usedAnton Khirnov2021-01-26
|
* helper: move mimewrap() to the only place where it is calledAnton Khirnov2021-01-26
|
* ComposeCommand: read template/signature as textAnton Khirnov2021-01-26
| | | | | | We should not try to guess anything, just use the platform encoding. Remove helper.try_decode(), as it has no more callers.
* addressbook/external: stop using call_cmd()Anton Khirnov2021-01-26
| | | | | | | It does not actually save any code. The new code also uses a shell as is documented. Remove call_cmd(), as it no longer has any callers.
* db/message: use DEVNULL stdin when there is no inputAnton Khirnov2021-01-26
| | | | Avoid the child grabbing our stdin.
* account: stop using call_cmd_async() to run sendmailAnton Khirnov2021-01-26
| | | | | | | It does not actually save any code. The new code also uses a shell as is documented. Remove call_cmd_async(), as it no longer has any callers.
* Rewrite mailcap handling.Anton Khirnov2021-01-26
| | | | | | | | | | | Add a class that encapsulates the handler and is responsible for managing the temporary file, if one is needed. Use this class for both rendering inline content and displaying attachments externally. External attachments are now wrapped in an asyncio task that is added to a pool of tasks managed by ui.
* completion: fix some __init__ signaturesAnton Khirnov2021-01-25
|
* widgets/thread: better heuristics for detecting git patchesAnton Khirnov2021-01-24
| | | | | | | | | Do not use the X-Mailer header, since git-send-email can be used for other things than patches (such as cover letters) and not all git-formatted patches are sent with git-send-email. Instead, detect the distinctive keywords that hopefully appear only in git-formatted patches.
* db/manager: fix signature of Database.add()Anton Khirnov2021-01-24
|
* widgets/thread: fox tyopAnton Khirnov2021-01-22
|
* db/message: make sure not to leave temporary files aroundAnton Khirnov2021-01-21
| | | | | Use a contextlib.ExitStack to remove the temporary file used by external handler, even if an exception is raised.
* db/message: split _render_part()Anton Khirnov2021-01-21
| | | | | | | | Rename it to _render_part_external() and make it only handle external rendering. Move the other code - dealing with text parts without an external handler - to _MimeTree.render_str(). This takes into account overridden content types, and also processes text/plain parts if that is configured.
* db/message: pass content-type to _render_part()Anton Khirnov2021-01-21
| | | | | Do not get it from the underlying EmailMessage, since we may override it.
* db/message: implement __str__Anton Khirnov2021-01-21
|
* db/message: guess a better content type for octet-stream partsAnton Khirnov2021-01-21
| | | | Same as what is done for Attachment.
* widgets/thread: update commentAnton Khirnov2021-01-21
|
* widgets/thread: generic pygments highlightingAnton Khirnov2021-01-21
|
* db/message: fix email-missing warningAnton Khirnov2021-01-21
|
* widgets/thread: merge top-level whitespace into folded blocksAnton Khirnov2021-01-21
|
* widgets/thread: treat whitespace-only lines as empty for folding detectionAnton Khirnov2021-01-21
|
* completion/tag: sort the tagsAnton Khirnov2021-01-21
|
* Use super() where applicable.Anton Khirnov2021-01-21
|
* Add time to log format.Anton Khirnov2021-01-20
| | | | Useful for a quick check how long operations took.
* buffers: make get_info() asynchronousAnton Khirnov2021-01-20
| | | | | Allows computing message/thread counts asynchronously in a separate thread.
* commands/search: remove unused variableAnton Khirnov2021-01-20
|
* db/thread: add parentheses for chaining queriesAnton Khirnov2021-01-20
|
* db: make sure to close the read-only database instancesAnton Khirnov2021-01-20
|
* widgets/search: cleanup ThreadlineWidgetAnton Khirnov2021-01-20
| | | | | Remove unnecessary instance variables that are only really needed within one function. Prepare the class for async rebuild.
* commands/search: remove unused codeAnton Khirnov2021-01-20
|
* widgets/search: remove unused variableAnton Khirnov2021-01-20
|
* ui: clean up asyncio callsAnton Khirnov2021-01-20
| | | | Bump python dependency to 3.7, which added create_task().
* db: make write operations asyncAnton Khirnov2021-01-20
|
* widgets/thread: option for smarter subject in message summaryAnton Khirnov2021-01-20
| | | | | | In the smart mode, display subject only if it's different from parent (modulo leading re:'s). Since the subject should not change most of the time, this reduces visual clutter.
* db/manager: drop unused variableAnton Khirnov2021-01-19
|
* widgets/thread: fix processing quote blocks into folding treeAnton Khirnov2021-01-18
|
* widgets/thread: colorize text/x-{diff,patch} as patchesAnton Khirnov2021-01-17
|
* widgets/thread: allow forcing inline display of selected attachment typesAnton Khirnov2021-01-17
|
* ui: do not display an error on cancelling a commandAnton Khirnov2021-01-16
| | | | This is not an error state, just normal operation.
* completion/query: update keywordsAnton Khirnov2021-01-16
| | | | | | | | | Make them a class, rather than instance, attribute, since they are static. Update the list to include all the terms currently listed in notmuch-search-terms manual, skipping aliases 'is' and 'mid' (to avoid unnecessarily crowding the completion space).
* completion/query: add class attribute prototypesAnton Khirnov2021-01-16
| | | | | Also, remove unused dbman attribute and add _ prefix to private attribute keywords.
* helper: get rid of decode_string()Anton Khirnov2021-01-16
| | | | | | | | It just adds unnecessary type confusion. In most places where it is used, the types are always str, so it does nothing. In the few others, the encoding/decoding is better handled explicitly.
* helper: move humanize_size to the only place where it is usedAnton Khirnov2021-01-16
|
* helper: rewrite mailto_to_envelope/parse_mailto to Envelope.from_mailtoAnton Khirnov2021-01-16
|
* helper: drop unused RFC3156_canonicalize()Anton Khirnov2021-01-16
|