this post was submitted on 24 Dec 2023
16 points (94.4% liked)

Arch Linux

7725 readers
10 users here now

The beloved lightweight distro

founded 4 years ago
MODERATORS
 

Whenever I click a server invite link in my browser for example, I get the xdg-open popup window which in turn opens my browser with a link in the following format:

discord:///invite-proxy/some numbers

I'm relatively familiar with xdg-mime commands, but I'm not sure what the "filetype" I should be associating with my discord.desktop file should be. Anyone that can help?

Thanks

top 6 comments
sorted by: hot top controversial new old
[–] SpacingBat3@szmer.info 1 points 10 months ago (1 children)

I don't think XDG is really useful here, I've honestly haven't met much use online of "discord:" protocol – I see more of regular "https:" links instead. As a dev around Discord clients, I know it rather uses a WebSocket server or maybe even Unix sockets as well for the 3rd party applications to communicate and share any info, including the invite code.

[–] promitheas@iusearchlinux.fyi 1 points 10 months ago (1 children)

So what does that mean for trying to open links from browser in discord desktop app? Its a trivial thing, but it would be nice to have it.

haven’t met much use online of “discord:” protocol – I see more of regular “https:”

Do you mean in the context of discord? Like you haven't encountered many sites using discord for links that lead to discord, or in general. Do most sites use https for their invite links?

Sorry if these are dumb questions.

[–] SpacingBat3@szmer.info 1 points 10 months ago (1 children)

Sorry if these are dumb questions.

Nah it's fine, for me these might occur dump for a reason I've been into development around the Discord for a while and actually partially reimplemented their WS/IPC handling a bit for my own use within Node.js (I mean it's FOSS so anyone could technically use it as well).

So what does that mean for trying to open links from browser in discord desktop app? Its a trivial thing, but it would be nice to have it.

That, as long as Discord or any site running within the browser can connect to the local ports on your computer (I believe Discord should use ports within the range 6463-6472), via the WebSocket API in JS, the one could send an invite link request directly to the Discord or even for other stuff like RPC or page redirection – this works by Discord in the browser doing a check for any Discord client opened and just communicating with it directly if found via locally-executed JS. So there should be no XDG involved in the process and there's no need to configure Discord in order to handle links, at least if you open links like https://discord.gg/[code] in the browser.

Do you mean in the context of discord? Like you haven't encountered many sites using discord for links that lead to discord, or in general. Do most sites use https for their invite links?

I just haven't seen any of the use for their own protocol and honestly I couldn't find the docs either for that once I was dealing with the implementation of the URL handling. However, if you've noticed like some people or pages using that instead, I would love to be proven wrong – I guess I could consider then working on that within my own client if it is worth it to implement it and their protocol is not something like the legacy implementation.

[–] promitheas@iusearchlinux.fyi 1 points 10 months ago (1 children)

So this is the link I found through my search engine. Accepting the invite then leads to the link I posted above.

[–] SpacingBat3@szmer.info 2 points 10 months ago* (last edited 10 months ago) (1 children)

Huh, on my Arch PC there's no even a request to accept the invite link within the browser, as long as I have any (mine, official) Discord client opened (i.e. browser does just redirect me to the opened client in order to proceed), with the closed client though there's a request to log in and with that I can accept the invite link within the browser. So again, no XDG or custom protocols are involved for me. So really I have no clue how you're doing this.

I should be saying that I use Firefox and X11 for testing, but I'm more than sure that whenever I would use Wayland or X11 it won't matter, webpage shouldn't have a way to detect this and behave differently. So I have no clue how to even trigger Discord to use their protocol over WS without setting up anything extra. I've been also using the discord package as of the client.

Also from what I see with the steam, you can register the protocol with MIME and .desktop but discord does configure neither of these. So it doesn't seem like this would be a thing anymore, but again I might be mistaken or maybe Arch packagers don't want from Discord to register their protocol, I dunno.

[–] promitheas@iusearchlinux.fyi 1 points 10 months ago

While I agree it should be irrelevant, I am using bspwm and X11. Anyway, its such a minor issue that its unimportant. Thanks for all your input either way :)