Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | widgets/search: display the number of matching messages in the thread | Anton Khirnov | 2021-02-10 | |
| | ||||
* | buffers/search: do not pass dbman into IterWalker | Anton Khirnov | 2021-02-10 | |
| | | | | | Use functools.partial to keep the widget construction logic out of IterWalker, since it should not handle such details. | |||
* | db/message: handle text MIME with invalid charsets | Anton Khirnov | 2021-02-08 | |
| | ||||
* | commands/thread: refactor applying the tag command | Anton Khirnov | 2021-02-07 | |
| | | | | Do all the changes in one batch rather than separately. | |||
* | commands/search: refactor applying the tag command | Anton Khirnov | 2021-02-07 | |
| | | | | Apply toggle as a single db write rather than two. | |||
* | db/manager: rewrite db write operation API | Anton Khirnov | 2021-02-07 | |
| | | | | Allows to apply multiple operations together as a single unit. | |||
* | db/manager: use only one worker thread for write operations | Anton Khirnov | 2021-02-05 | |
| | | | | | There is no point in having more, as the database cannot have more than one writer at any moment. | |||
* | commands/thread: add --thread option to tagging commands | Anton Khirnov | 2021-02-04 | |
| | | | | | Makes the command affect the whole thread, rather than just those messages matching the query. | |||
* | settings/manager: do not report an exception when hooks file is missing | Anton Khirnov | 2021-02-04 | |
| | | | | | | That is a normal situation, just log an info message. Raise an exception when the hooks file exists but cannot be loaded. | |||
* | buffers/namedqueries: add a hook for sorting queries | Anton Khirnov | 2021-02-04 | |
| | ||||
* | commands/thread: drop the select command | Anton Khirnov | 2021-02-03 | |
| | | | | | | It no longer makes sense since the buffer has been split into two windows. Replace it with a new 'openattachment' command for opening attachments. | |||
* | Fix access to Attachment filename. | Anton Khirnov | 2021-02-01 | |
| | ||||
* | mail/attachment: add methods forgotten in 309fb25e | Anton Khirnov | 2021-02-01 | |
| | ||||
* | buffers/search: fix handling malformed queries | Anton Khirnov | 2021-01-31 | |
| | ||||
* | buffers/search: remove unused variable | Anton Khirnov | 2021-01-31 | |
| | ||||
* | Add forgotten __init__.py files | Anton Khirnov | 2021-01-31 | |
| | ||||
* | db: use symbolic constants for sort orders | Anton Khirnov | 2021-01-31 | |
| | ||||
* | db: drop unused module-level imports | Anton Khirnov | 2021-01-30 | |
| | ||||
* | db/manager: handle notmuch exceptions in count_* | Anton Khirnov | 2021-01-30 | |
| | ||||
* | mail/envelope: document Envolope.attach_file() | Anton Khirnov | 2021-01-30 | |
| | ||||
* | db/attachment: move to mail/ | Anton Khirnov | 2021-01-30 | |
| | | | | It has nothing whatsoever to do with the database. | |||
* | db/attachment: simplify the Attachment class | Anton Khirnov | 2021-01-30 | |
| | | | | | Make it a plain container around raw data and a few bits of metadata, rather than around a whole MIME part. | |||
* | db/envelope: move to a new module "mail" | Anton Khirnov | 2021-01-30 | |
| | | | | It has nothing to do with the database. | |||
* | db/envelope: switch to the "new" (EmailMessage) python API | Anton Khirnov | 2021-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 unnecessarily | Anton Khirnov | 2021-01-29 | |
| | ||||
* | SendCommand: remove unnecessary instance attribute | Anton Khirnov | 2021-01-29 | |
| | | | | It is only used inside one function. | |||
* | commands/envelope: remove unused SendCommand parameters | Anton Khirnov | 2021-01-29 | |
| | ||||
* | widgets/global: move HeadersList to the only place where it is used | Anton Khirnov | 2021-01-26 | |
| | ||||
* | helper: move mimewrap() to the only place where it is called | Anton Khirnov | 2021-01-26 | |
| | ||||
* | ComposeCommand: read template/signature as text | Anton Khirnov | 2021-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 Khirnov | 2021-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 input | Anton Khirnov | 2021-01-26 | |
| | | | | Avoid the child grabbing our stdin. | |||
* | account: stop using call_cmd_async() to run sendmail | Anton Khirnov | 2021-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 Khirnov | 2021-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__ signatures | Anton Khirnov | 2021-01-25 | |
| | ||||
* | widgets/thread: better heuristics for detecting git patches | Anton Khirnov | 2021-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 Khirnov | 2021-01-24 | |
| | ||||
* | widgets/thread: fox tyop | Anton Khirnov | 2021-01-22 | |
| | ||||
* | db/message: make sure not to leave temporary files around | Anton Khirnov | 2021-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 Khirnov | 2021-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 Khirnov | 2021-01-21 | |
| | | | | | Do not get it from the underlying EmailMessage, since we may override it. | |||
* | db/message: implement __str__ | Anton Khirnov | 2021-01-21 | |
| | ||||
* | db/message: guess a better content type for octet-stream parts | Anton Khirnov | 2021-01-21 | |
| | | | | Same as what is done for Attachment. | |||
* | widgets/thread: update comment | Anton Khirnov | 2021-01-21 | |
| | ||||
* | widgets/thread: generic pygments highlighting | Anton Khirnov | 2021-01-21 | |
| | ||||
* | db/message: fix email-missing warning | Anton Khirnov | 2021-01-21 | |
| | ||||
* | widgets/thread: merge top-level whitespace into folded blocks | Anton Khirnov | 2021-01-21 | |
| | ||||
* | widgets/thread: treat whitespace-only lines as empty for folding detection | Anton Khirnov | 2021-01-21 | |
| | ||||
* | completion/tag: sort the tags | Anton Khirnov | 2021-01-21 | |
| | ||||
* | Use super() where applicable. | Anton Khirnov | 2021-01-21 | |
| |