Ссылка на чат через XMPP: URI

Я узнал, как подключиться напрямую к чату на сервере конференций Jabber - потребовалось немало копать, и я начал изучать спецификацию, прежде чем был уверен, что все делаю правильно. Я подтвердил здесь, так что я почти уверен, что понял.

Результаты, однако, озадачивают. Если я нажму на ссылку стиля xmpp:dude@example.com Я получил новый сеанс чата с пользователем "чувак" на example.com, как и ожидалось. Если я придерживаюсь бессмысленного запроса (xmpp:dude@example.com?foobar), это игнорируется, что и должно быть в спецификации. Однако, если я использую xmpp:room@conference.example.com?join, как и в ссылке выше, ничего не происходит.

Я покопался немного глубже и обнаружил, что в моей системе (Linux) URI xmpp обрабатываются с помощью purple-url-handler, поэтому я бросил в терминал и запустил его вручную. В результате все URI xmpp работали нормально, кроме одного, включающего запрос? Join. Запрос? Join приводит к сбою dbus, указывающему конкретно на строку 2356 dbus-message.c - небольшой гугл предполагает, что это, вероятно, не слишком элегантный способ сказать мне, что кто-то использует dbus неправильно.

Правильно ли я создаю свою ссылку? Это ОС или проблема приложения? Это работает на других платформах / браузерах / и т.д.? Что еще более важно, есть ли простой способ исправить это?

1 ответ

Решение

Схема URI, используемая XMPP, определена в XEP-0147 и расширена для ?join в XEP-0045, пункт 15.7.2. В этой форме он обрабатывается, например, psi а также gajim - поэтому этот стандарт уже внедряется некоторыми клиентами XMPP.

Я думаю, что если ваше программное обеспечение дает сбой в таком простом сценарии, ваше программное обеспечение глючит. Вы должны сообщить об этом вашим дистрибьюторам.

Другие вопросы по тегам