GNOME Bugzilla – Bug 788192
Support mid: URI scheme
Last modified: 2020-10-29 12:05:55 UTC
https://tools.ietf.org/html/rfc2392 describes a "mid:" scheme in addition to the "cid:" scheme that evolution already supports. It would be nice if I could click on "mid:<msg-id>" URLs on my desktop and have evolution open the message with the message-id: of <msg-id>. In order to be able to do this, evolution needs a way to be told to open a message by it's <msg-id>. It could be that such a message exists in more than one account/folder due to copying, etc. In such a case, it is probably prudent to first pop up a dialog showing all of the locations the message was found and asking the user which one they want to open. It would then be useful for the context menu for an individual message to be given a function to copy the message's mid:<msg-id> URL to the clipboard for pasting elsewhere.
I believe a better approach than asking the user with possibly modal dialog will be to switch the Mail view to an Advanced Search in All Active Accounts, searching for the Message-ID header and show in the list all the matches. It can provide sort of feedback too this way. The only downside is when the user doesn't notice that the scope of the search changed and he/she will search later for some other term(s).
Created commit [1] in eds master (3.39.1+) Created commit [2] in evo master (3.39.1+) I added also a Free Form Expression token "mid:" for this and it's used there. Evo can be called like this: $ evolution "mid:<123@no.where>" $ evolution mid:\<123@no.where\> It's important to use whole header value, including the '<' and '>'. It changes the search of the Mail view currently. I've been thinking of opening a special search window instead, but I didn't go that route (yet). Let's try this way and change it when needed. The eds part is required to search the MESSAGE-ID header with the summary information, not by opening each message, which makes it lightning fast and working even in offline for messages, which are not downloaded locally. [1] https://gitlab.gnome.org/GNOME/evolution-data-server/-/commit/f302e70f991d9d351ef27ecc552d8a506d2f9524 [2] https://gitlab.gnome.org/GNOME/evolution/-/commit/fbaee67b32f717b4fb251edb2102f00428189021