Allow editing uids of external PGP keys
The current external PGP support is sorely lacking.
Problem statement:
Let's say you have an account user.name, which protonmails accepts as synonymous to User.Name, username and UserName.
However Protonmail only adds one uid to the PGP keys, e.g.
"UserName@..." for each of the domains (protonmail.com, proton.me and pm.me).
This is problematic for two reasons. First the chosen local part may not be the one primarily used. So someone replying to your preffered alias will not find your key in the WKD.
Secondly the uid does not have the display name. It should be "Jane Doe UserName@...". This missing name can lead to <none> or empty strings to be displayed and can even break some software, notably openKeychain (which therefore can't encrypt mails for protonmail recipients).
Solution:
Since a user may have a custom domain with a catch all, the only way to handle this gracefully is letting the user add as many uids to their external PGP keys as they wish themselves.
Since keychains will usually just show the primary uid, users will have to be able to set which uid is primary too, otherwise the automatically generated (broken) uid may still be appear first breaking badly written software.
Alternative solution:
Set the name of the uid to the Display Name of the corresponding email address.
This is undesirable because the uid of the email is publicly accessible through WKD or on a keyserver, while a display name is only shared with those you correspond with. Furthermre it won't help those with custom domains and catch all addressws one bit.
This solution is only suggested because it may seem the most logical to implement, not because it's actually a good idea.