Ссылка на чат через 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.
Я думаю, что если ваше программное обеспечение дает сбой в таком простом сценарии, ваше программное обеспечение глючит. Вы должны сообщить об этом вашим дистрибьюторам.