[OTR-dev] Secure connections through a connect/disconnect cycle, OTR error messages

Ian Goldberg ian at cypherpunks.ca
Thu Jan 27 17:51:32 EST 2005


On Thu, Jan 27, 2005 at 04:20:33PM -0600, Evan Schoenberg wrote:
> >But it *is* a message that's sent as if you typed it, whether the UI or
> >libotr does it.  Every (inline) message from OTR looks as if the other
> >user typed it, since that's the only way to deliver inline messages.
> >
> Which is a situation that I've been saying in several different threads 
> should change.  That's not the only way to deliver inline messages.  
> For a client which can only display an inline message as an incoming 
> message, it can implement the inform_error callback to simply call the 
> inform_message callback.  For a client which can differentiate and 
> still be inline... such as Gaim and Adium... it can provide a better 
> user experience by having the chance to handle the inline error 
> differently.

So I'm getting what you're saying.  libotr should, when it receives an
IM, look at its contents to decide if it's really a "control" message,
and if so, display it with a new callback instead of returning it.

Is that right?

> >The first attempt had this very problem.   <snip>
> Hm.  Okay, what if the UI had a callback which could let the library 
> know if the user is available for heartbeats and conversation closed 
> messages?  If the information is unavailable, the UI just returns NO, 
> and we proceed as we do at present... but if the information is 
> available (in Gaim, it's an easy check to find out if a given 
> username/account/protocol combination is available, and in Adium 
> similarly) then we can do the better behavior without running into the 
> problem of sending messages to offline contacts.

I'm pretty sure gaim doesn't provide this functionality, because that's
where I ran into the problem with the heartbeats.  For example, if
you're talking with someone on AIM who's not in your (server-side) buddy
list, the AIM network won't deliver you "logged out" messages, so you
have no way of knowing he's gone.  But if you try to send him a message,
you'll get thwacked with an "Undeliverable message" error.

   - Ian



More information about the OTR-dev mailing list