Florian Bruhin

Results 379 issues of Florian Bruhin

When typing a tag manually that's a valid tag, but also a substring of other valid tags, the tag completer doesn't close: ![image](https://github.com/user-attachments/assets/24e58d78-f413-401d-abac-00d09f6ecd78) It should probably close once a space...

Simplifies the code and works with PGP encrypted messages (where the previous logic did not find any attachments). Due to letting notmuch handle the attachment extraction, this should hopefully also...

This is mostly a note to myself - I decided to open it here to make things more discoverable, I hope that's okay! For a while I've been running my...

- Add `ComposePanel.set_status` helper, to avoid duplicating HTML rendering code, and move rendering code into Panel and out of sendmail thread. - pgp_util: Fix minor typing issues - Improve GPG...

A `` element can be used by websites to request a link to be opened in a new tab. For some reason, some links in mails seem to have `target="_blank"`...

I just noticed: https://github.com/akissinger/dodo/blob/503763c4d738af79ee0d761c47920e9a7b61855a/dodo/pgp_util.py#L69-L79 Where the `any(re.search(addr, u) for u in k['uids'] for addr in recipients)` strikes me as very odd. - Why is `addr` treated as a regex pattern...

Useful for debugging when wanting to see a message via `notmuch`, but personally I also sometimes use this when I need a nice identifier for a message otherwise (e.g. on...

I'd regard [ruff](https://docs.astral.sh/ruff/) as best practice when developing Python code (replacing flake8, black, and some others). However, IMHO it's only worth looking at if we can agree on also using...

Running mypy currently reports: ``` dodo/settings.py:294: error: Need type annotation for "message2html_filters" (hint: "message2html_filters: list[] = ...") [var-annotated] dodo/util.py:247: error: Argument 1 to "decode_header" has incompatible type "str | None";...

Out of curiosity: Is there a good reason why `notmuch` is used as a subprocess and output hand-decoded from JSON everywhere, rather than using the [Python bindings shipped with notmuch](https://notmuch.readthedocs.io/projects/notmuch-python/en/latest/)?...