![通过 XMPP: URI 链接到聊天室](https://linux22.com/image/1235626/%E9%80%9A%E8%BF%87%20XMPP%3A%20URI%20%E9%93%BE%E6%8E%A5%E5%88%B0%E8%81%8A%E5%A4%A9%E5%AE%A4.png)
我找到了如何直接链接到 Jabber 会议服务器上的聊天室的方法——这需要花点时间研究,最后我还是查看了规范,然后才确定我做的是正确的。我确认这里,所以我很确定我已经得到它了。
但结果却令人费解。如果我点击样式为 的链接,我会像预期的那样,在 example.com 上与用户“dude”进行新的聊天会话。如果我添加一个无意义的查询 ( ),它会被忽略,而这正是规范所说的应该发生的情况。但是,如果我使用,如上面的链接所示,什么也不会发生。xmpp:[email protected]
xmpp:[email protected]?foobar
xmpp:[email protected]?join
我深入研究了一下,发现在我的 (Linux) 系统上,xmpp URI 是通过处理的purple-url-handler
,所以我转到终端并手动运行它。结果是任何 xmpp URI 都可以正常运行除了其中包括 ?join 查询。?join 查询导致 dbus 崩溃,具体指向 dbus-message.c 的第 2356 行——谷歌搜索后发现,这可能是 dbus 以不太优雅的方式告诉我有人错误地使用了 dbus。
我是否正确创建了链接?这是操作系统还是应用程序的问题?这在其他平台/浏览器/等上有效吗?更重要的是,有没有什么简单的方法可以修复它?
答案1
XMPP 使用的 URI 方案定义在XEP-0147并扩展?join
到XEP-0045,要点 15.7.2。psi
在这种形式下,它由和处理gajim
- 因此该标准已经被一些 XMPP 客户端实施。
我猜想,如果你的软件在这样一个简单的场景中崩溃,那么你的软件就有缺陷。你应该向你的发行版维护者报告这个问题。