8000 feat(pgp): save drafts of encrypted messages encrypted by hanthor · Pull Request #603 · hyprlab/hylki · GitHub
[go: up one dir, main page]

Skip to content

feat(pgp): save drafts of encrypted messages encrypted - #603

Open
hanthor wants to merge 5 commits into
hyprlab:mainfrom
tuna-os:feat/pgp-encrypted-drafts
Open

hanthor wants to merge 5 commits into
hyprlab:mainfrom
tuna-os:feat/pgp-encrypted-drafts

Conversation

@hanthor
@hanthor hanthor commented Nov 5, 2026
Copy link
Copy Markdown
Contributor

Builds on #602.

Drafts of a message marked Encrypt were saved in plaintext to the server and the draft_copies cache. They are now encrypted to the user's own key (not signed), with subject and recipients inside and Autocrypt-Draft-State: encrypt=yes outside, on the IMAP, JMAP and Graph draft paths. Reopening decrypts on a background thread and opens the composer with Encrypt on.

Tests: the round trip through the draft cache with a throwaway keyring. Not tested live: whether Exchange stores a PGP/MIME draft intact.

Bcc recipients go to gpg as hidden recipients, so To and Cc cannot see whose keys were Bcc'd. A good signature from a key without the From address shows amber, not green. Encrypting to a key the keyring does not vouch for asks first in the composer, and each address is encrypted to the checked key by fingerprint, preferring a vouched one.
An account can now send its key in an Autocrypt header and keep the keys others send, gossip included, in a keyring of Hylki's own rather than the user's GnuPG keyring. Recipients are looked up by WKD while a message is addressed, each pill shows where its key comes from, and Encrypt turns on when everyone prefers it.
A draft of a message set to be encrypted was saved readable to the server and to the local draft cache. It is now encrypted to the user's own key alone, unsigned, with its subject and recipients inside and an Autocrypt-Draft-State header outside, on IMAP, JMAP and Microsoft 365. Opening it again decrypts it off the main thread and opens the composer with Encrypt on.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0