oxen-io / session-desktop

Session Desktop - Onion routing based messenger
https://getsession.org
GNU General Public License v3.0
1.48k stars 190 forks source link

[Feature] URI support specifically for sending a message to a Session user ID #2881

Open BeholdersEye opened 12 months ago

BeholdersEye commented 12 months ago

Is there an existing request for feature?

What feature would you like?

Since the dawn of time it has been understood that clicking a link is easier than manually entering text.

Email has "mailto://" URI

AOL Instant Messenger and ICQ each implemented their own URI to allow messaging a user without entering their ID.

Even bittorrent has magnet links.

Session should do no less and implement a URI (I am not picky about the string but sessionpm:// suits me. This URL will contain only a user ID and when clicked will open the user's (chosen) Session client and send a message to the user ID in the URL.

Example URI:

sessionpm://FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Similar features have been requested in the past but they have been closed and merged into other feature requests for deep links to chat messages and discussion groups and whatnot that are all quite functionally different and that may require significantly more development effort to implement. I ask that this request not be so closed and merged.

Anything else?

@beantaco

Do you mind referencing the most relevant other issues in this issue?

Yes, exactly.

What do people think of URI scheme session as in this?

session:051337133713371337133713371337133713371337133713371337133713371337

session would be ideal but I thought it was so generic that it might already be taken. I was right:

https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml

session: is registered for use by media resource control protocol:

https://datatracker.ietf.org/doc/id/draft-ietf-speechsc-mrcpv2-22.html#sec.sessionURIScheme

And so unless someone has a good idea for something else I suggest sessionpm: for opening "Session Private Messenger". Or it could be for sending "Session private message". Either way works.

I don't know the details of URI, but I don't think // would be required.

You are correct. The // is only required if the optional "authority" component is included.

https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Syntax

As that link shows in the example URIs section, mailto: links don't use the component and they don't use the //. Presumably the sessionpm: URI would / could work the same way.

beantaco commented 12 months ago

Do you mind referencing the most relevant other issues in this issue?

What do people think of URI scheme session as in this?

session:051337133713371337133713371337133713371337133713371337133713371337

I don't know the details of URI, but I don't think // would be required.