Server support for namespaces

Hi,

I just want to know if the server currently supports, or will support, the following modules:

Message Events

vcard-temp

jabber:iq:search

vcard-temp is currently supported

Message Events and iq:search as well as all other protocols described by JEPs will eventually be supported.

Everybody here really wants to see if the other person is composing a reply to their chat message. As I understand it, this would be done with the message event. You’‘ve stated that message events will eventually be supported. Can you give me a time frame? I’'m wondering if I should create a workaround in the mean time…

Composing events are purely client-side so you should be able to have those now. Clients send a composing x extension in a message to the recipient. Then cancel the composing when the person is no longer composing. The server doesn’'t have anything to do with composing events (server event participation is limited to timestamping and delay events).

For your client, when you detect the user is typing send the following to the recipient:


<message to=''jane@jungle.com'' id=''message-21''>
  <x xmlns="jabber: x:event">
    <composing/>
  </x>
</message>

(the space between jabber: and x:event is there to bypass emoticon formatting and should not be there in the real XML you send) Jane’‘s client should then start showing the composing state on. When you’'re done composing send:


<message to=''jane@jungle.com''>
  <x xmlns="jabber: x:event">
    <id>message-21</id>
  </x>
</message>

And Jane’'s client should show composing is off.

The one caveat is that the server currently applies namespace prefixes to non jabber:client namespaced elements. The style is SOAP-like. this is fully XML compliant but some clients seem to not understand namespace prefixes and thus, don’‘t see the events. If you’'re using a namespace aware XML parser you should have no problems adding composing events to your client right now.

Note that the composing event stream is slightly different than other IM systems where you send a composing event and it corresponds to some set time of composing status (AIM sends a composing event and you show composing for 2 seconds). In Jabber, you turn on composing with the event, and then turn it off.

See JEP-0022 for the complete details http://www.jabber.org/jeps/jep-0022.html

Warning: the client-side composing is something you can do now, but the server side offline event is not supported by the server at this time.

-iain