Vinculando a uma sala de chat via XMPP: URI

3

Eu descobri como me conectar diretamente a uma sala de bate-papo em um servidor de conferência do Jabber - demorou um pouco para cavar, e acabei realmente olhando para a especificação antes de ter certeza de que estava fazendo certo. Eu confirmei aqui , então tenho certeza que consegui.

Os resultados, no entanto, são intrigantes. Se eu clicar em um link do estilo xmpp:[email protected] , recebo uma nova sessão de bate-papo com o usuário "dude" em example.com, como esperado. Se eu marcar uma consulta sem sentido ( xmpp:[email protected]?foobar ), ela será ignorada, que é o que a especificação diz que deve acontecer. No entanto, se eu usar xmpp:[email protected]?join , como no link acima, nada acontece.

Eu pesquisei um pouco mais e descobri que no meu sistema (Linux), os URIs xmpp são manipulados via purple-url-handler , então eu deixei cair em um terminal e o executei manualmente. O resultado foi que qualquer URI xmpp correu bem exceto um que inclua uma consulta? Join. A consulta? Join resulta em um dbus crash, apontando especificamente para a linha 2356 do dbus-message.c - um pequeno Googling sugere que esta provavelmente é a maneira menos elegante do dbus de me dizer que alguém está usando o dbus incorretamente.

Estou criando meu link corretamente? Isso é um problema de OS ou talvez de aplicativo? Isso funciona em outras plataformas / navegadores / etc? Mais importante, existe alguma maneira fácil de corrigir isso?

    
por Coderer 05.04.2010 / 21:53

1 resposta

5

O esquema de URI usado pelo XMPP é definido em XEP-0147 e estendido para ?join em XEP-0045, ponto 15.7.2. Nesta forma, ele é tratado por psi e gajim - então este padrão já está sendo implementado por alguns clientes XMPP.

Eu acho que se o seu software falhar em um cenário tão simples, o seu software está com problemas. Você deve informar isso aos seus mantenedores de distribuição.

    
por 06.04.2010 / 11:44