Open Bug 953953 Opened 6 years ago Updated 1 year ago

Register protocol handlers for IM protocols like irc://

Categories

(Chat Core :: General, enhancement)

enhancement
Not set

Tracking

(Not tracked)

People

(Reporter: Mic, Unassigned)

References

Details

*** Original post on bio 516 at 2010-09-21 13:04:00 UTC ***

Several services offer urls that can be handled by a protocol handler. For example aim: or irc:

Enhancement request: implement support for this.
*** Original post on bio 516 at 2010-09-21 13:12:25 UTC ***

This leaves the question of How?

What should happen if a url states that message should be send? AIM can do that afaik and it is in the Mozilla irc urls 'spec'.


CC'ing Patrick Cloke, as he has investigated about this earlier.
*** Original post on bio 516 at 2010-09-21 13:37:22 UTC ***

The official AIM client simple opens the conversation and fills in the text and the user must /manually/ click "Send." I think this is the way to go in all situations.  Although what if a user doesn't even have an account created for that type?  Do we still register as default in the OS?  Do we open the account manager and autofill information?

Thunderbird code to look at:
http://mxr.mozilla.org/comm-central/source/mail/components/nsMailDefaultHandler.js (command line handler)
http://mxr.mozilla.org/comm-central/source/mail/components/shell/ (OS integration to register as default)
http://mxr.mozilla.org/comm-central/source/mail/components/mailContentHandler.js (internal link handler?)

I'm not sure the third one needs to be implemented.

URL schemes I've identified we should look into implemented (* indicate its a network we don't currently support):
aim
*callto
gg
*gizmoproject
gtalk
im/xmpp
irc/ircs/irc6
msnim
*skype
ymsgr
*xfire

Mic found some info on the IRC scheme (it actually has an RFC draft):
http://tools.ietf.org/html/draft-butcher-irc-url
http://tools.ietf.org/html/draft-mirashi-url-irc-01
http://www.mozilla.org/projects/rt-messaging/chatzilla/irc-urls.html

IM RFC:
http://tools.ietf.org/html/rfc3860
XMPP RFCs:
http://tools.ietf.org/html/rfc4622
http://tools.ietf.org/html/rfc5122

A good general reference is Wikipedia: http://en.wikipedia.org/wiki/URI_scheme (has links to specs where available)
*** Original post on bio 516 at 2010-09-21 15:52:31 UTC ***

Another passing thought about this.  It seems that Thunderbird includes all the handlers in one big file, but it might be more beneficial to abstract out a general instant messaging handler type and then register each one separately using that to allow protocol extensions to easily add their own handlers. I'm not sure how easy/feasible that would be however.
*** Original post on bio 516 at 2010-09-21 16:08:31 UTC ***

(In reply to comment #3)
> Another passing thought about this.  It seems that Thunderbird includes all the
> handlers in one big file, but it might be more beneficial to abstract out a
> general instant messaging handler type and then register each one separately
> using that to allow protocol extensions to easily add their own handlers. I'm
> not sure how easy/feasible that would be however.

Each protocol plugin bringing its own code for handling the associated url scheme seems to be a good solution. Hardcoding a few special cases somewhere else sounds just wrong.

CC'ing Florian.
*** Original post on bio 516 at 2011-01-18 17:23:01 UTC ***

Good link (actually from Mic via IRC) about how to make a command line handler: http://mike.kaply.com/2011/01/18/writing-a-firefox-protocol-handler/
*** Original post on bio 516 at 2011-01-18 17:39:23 UTC ***

(In reply to comment #5)
> Good link (actually from Mic via IRC) about how to make a command line handler:
> http://mike.kaply.com/2011/01/18/writing-a-firefox-protocol-handler/

So, this is actually about a slightly different issue: this is for protocol handlers for links in our conversations, etc. Not for command line handlers, but both are necessary at some point.
*** Original post on bio 516 at 2011-01-18 18:28:16 UTC ***

How to add a protocol handler on Windows:

> http://msdn.microsoft.com/en-us/library/aa767914%28v=VS.85%29.aspx
Component: Other → General
Product: Instantbird → Chat Core
Duplicate of this bug: 1167463
Summary: Register protocol handlers for IM protocols → Register protocol handlers for IM protocols like irc://
You need to log in before you can comment on or make changes to this bug.