Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | widgets/thread: improve thread node decoration rendering | Anton Khirnov | 2021-05-18 |
| | | | | | Implement configurable message summary indentation, fix appearance when the message summary spans more than one line. | ||
* | default.bindings: add a default binding for thread 'move toggle' | Anton Khirnov | 2021-05-17 |
| | |||
* | buffers/thread: prevent cursor movements from switching sub-window focus | Anton Khirnov | 2021-05-17 |
| | |||
* | mail/attachment: add 'B' suffix to under-kB sizes | Anton Khirnov | 2021-05-15 |
| | | | | | Displaying just a plain number leaves the user confused as to what the number means. | ||
* | mail/envelope: use params when constructing attachments | Anton Khirnov | 2021-05-15 |
| | | | | E.g. makes sure the charset is properly set for text attachments. | ||
* | db/message: make sure attachment data is always a byte sequence | Anton Khirnov | 2021-05-15 |
| | | | | Encode text strings to UTF-8 and set the charset parameter accordingly. | ||
* | mail/envelope: only accept valid UTF-8 for text attachments | Anton Khirnov | 2021-05-15 |
| | | | | | | | | Also set the charset parameter to UTF-8. While this restricts the kinds of files that may be attached, it ensures we do not generate invalid files, as we do not do charset detection currently. That can be implemented in the future, if necessary. | ||
* | mail/attachment: do not assume a non-trivial filename | Anton Khirnov | 2021-05-15 |
| | |||
* | commands/thread:ForwardCommand: do not construct EmailMessage unnecessarily | Anton Khirnov | 2021-05-15 |
| | |||
* | commands/thread:ForwardCommand: use the message headers object | Anton Khirnov | 2021-05-15 |
| | |||
* | commands/thread: pass bytes to Attachment, not str | Anton Khirnov | 2021-05-15 |
| | | | | Attachment payload should always be bytes. | ||
* | mail/envelope: drop a workaround for very old libmagic versions | Anton Khirnov | 2021-05-15 |
| | | | | 5.12 was released in 2013, we do not need to support it anymore. | ||
* | commands/globals: remove special treatment for a missing signature file | Anton Khirnov | 2021-05-15 |
| | | | | | | It is unnecessary extra complexity. If the user set a signature, then it must exist. If it does not exist, the user should unset the signature path. | ||
* | commands/globals: invert a condition to reduce indent level | Anton Khirnov | 2021-05-15 |
| | |||
* | mail/envelope: add missing import | Anton Khirnov | 2021-05-15 |
| | | | | Forgotten during move in fe1450cba. | ||
* | db/message: apply _fixup_charset() to attachments as well | Anton Khirnov | 2021-05-15 |
| | |||
* | db/message: override missing content-type charset to utf-8 | Anton Khirnov | 2021-05-15 |
| | | | | | Strictly speaking it should be inferred to be us-ascii when missing, but utf-8 is a safer (and compatible) choice. | ||
* | alot.rc.spec: add 'passed/flagged' to default property tags | Anton Khirnov | 2021-05-15 |
| | |||
* | commands/envelope: fix accessing the attachment filename | Anton Khirnov | 2021-05-15 |
| | |||
* | buffers/thread: do not access message widgets unnecessarily | Anton Khirnov | 2021-05-13 |
| | | | | Avoids constructing the widgets when we only need the messages. | ||
* | buffers/thread: do not construct the message widgets until they are needed | Anton Khirnov | 2021-05-13 |
| | |||
* | utils/cached_property: replace with the stdlib implementation | Anton Khirnov | 2021-05-13 |
| | |||
* | db/message: stop loading the email in the constructor | Anton Khirnov | 2021-05-13 |
| | | | | | | | The last bit of code in the constructor accessing the email was the chunk parsing the author. Move it to the author accessor, and also make it use the 'From' header value loaded from the Notmuch message (which is stored in the database). | ||
* | db/message: turn _email and body into cached properties | Anton Khirnov | 2021-05-13 |
| | | | | | Does not really change much for now, since the email is still loaded in the constructor, but will allow optimization later. | ||
* | db/message: remove get_email() | Anton Khirnov | 2021-05-13 |
| | | | | | It has no more callers left. The email object should no longer be accessed directly. | ||
* | commands/thread:ReplyCommand: stop calling get_email() | Anton Khirnov | 2021-05-13 |
| | |||
* | commands/thread:ReplyCommand: use the message headers object in ↵ | Anton Khirnov | 2021-05-13 |
| | | | | determine_sender() | ||
* | commands/thread:ReplyCommand: use the message headers object for building reply | Anton Khirnov | 2021-05-13 |
| | |||
* | commands/thread:ReplyCommand: simplify list-reply logic | Anton Khirnov | 2021-05-13 |
| | |||
* | commands/thread:ReplyCommand: factor out list-reply logic | Anton Khirnov | 2021-05-13 |
| | |||
* | commands/thread:ReplyCommand: use the headers object for accessing List-Id | Anton Khirnov | 2021-05-13 |
| | |||
* | commands/thread:ReplyCommand: factor out building reply subject | Anton Khirnov | 2021-05-13 |
| | |||
* | commands/thread: use the headers object for building reply subject | Anton Khirnov | 2021-05-13 |
| | |||
* | settings/manager: handle future dates in _pretty_datetime() | Anton Khirnov | 2021-05-10 |
| | |||
* | buffers/thread: cosmetics, vertical alignment | Anton Khirnov | 2021-04-01 |
| | |||
* | buffers/thread: sanitize thread subject in info | Anton Khirnov | 2021-04-01 |
| | |||
* | widgets/thread: disregard whitespace-only alternatives | Anton Khirnov | 2021-03-18 |
| | |||
* | db/manager: optimize database modifications | Anton Khirnov | 2021-03-18 |
| | | | | | | | Add only tags that are not present on the message, remove only tags that are present. Otherwise the no-op modification results in an actual db write, even though nothing changes. | ||
* | commands/thread: use MimeTree properties instead of accessing email directly | Anton Khirnov | 2021-03-16 |
| | |||
* | settings/manager: remove newlines from headers during sanitization | Anton Khirnov | 2021-03-01 |
| | |||
* | commands/search: fix sort order in RefineCommand | Anton Khirnov | 2021-02-22 |
| | |||
* | commands/thread:ReplyCommand: drop unnecessary call to parseaddr() | Anton Khirnov | 2021-02-10 |
| | |||
* | commands/thread:ReplyCommand: drop unnecessary instance variable | Anton Khirnov | 2021-02-10 |
| | |||
* | commands/thread: stop calling get_email in ForwardCommand | Anton Khirnov | 2021-02-10 |
| | | | | Serialize the message and deserialize it again to avoid modifying it. | ||
* | commands/thread: stop calling get_email in BounceCommand | Anton Khirnov | 2021-02-10 |
| | | | | Serialize the message and deserialize it again to avoid modifying it. | ||
* | commands/thread: remove unused import | Anton Khirnov | 2021-02-10 |
| | |||
* | Add common message text sanitization. | Anton Khirnov | 2021-02-10 |
| | |||
* | Cosmetics, clean up imports | Anton Khirnov | 2021-02-10 |
| | |||
* | 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. |