2016-12-09 7 views
0

Я запустил сервер XMPP с помощью Prosoids. Некоторые пользователи появляются дважды, если они соединяются с двумя клиентами (например, «Разговоры» и «Гаджим») и присоединяются к многопользовательскому чату. Это действительно раздражает, например, в зависимости от того, какое имя пользователя вы упоминаете, уведомление будет отображаться только на своем рабочем столе или на мобильном устройстве.Пользователи с одинаковым JID дважды появляются в многопользовательском чате, если они подключаются к нескольким устройствам

Я не могу воспроизвести это поведение. Даже если я присоединяюсь к чату с двумя устройствами, я появляюсь только как один человек. Я думаю, что это правильное поведение. Есть ли что-нибудь, что я могу сделать, чтобы люди не появлялись несколько раз?

+0

Я не совсем уверен, что вы спрашиваете; вы имеете в виду, что они объединяются с двумя разными псевдонимами, и вы хотите, чтобы сервер «объединил» их в одну запись в чат-реестре, или этот один человек дважды появляется, хотя у них, похоже, есть один и тот же псевдоним (он просто перечисленные дважды)? –

+0

Фактически, в настоящее время у меня есть оба случая, один пользователь дважды появляется с одним и тем же псевдонимом, а один появляется дважды, когда псевдонимы имеют разные оболочки («Пользователь» и «Пользователь»). Все остальные появляются только один раз, независимо от того, сколько устройств подключено. Я считаю это правильным поведением и ожидал, что каждый пользователь появится только один раз. Интересно, почему это происходит, и если я могу что-нибудь с этим поделать. Я уже пытался изменить muc от анонимного до не анонимного, но это не имеет никакого значения. –

ответ

1

Функция «multi-session nick» в Prosoody работает так, что если несколько устройств (ресурсы XMPP) с использованием одной и той же учетной записи XMPP (голый JID) пытаются использовать один и тот же псевдоним в комнате, происходит слияние (т. Е. ник поддерживается несколькими сеансами учетной записи). Я один из авторов Prosody и автор этой функциональности.

Проблема, которую вы описываете, заключается в том, что несколько устройств для этих пользователей НЕ используют один и тот же псевдоним (как предполагает комментарий Сэма Уайта), или они используют отдельные учетные записи XMPP. Прозвища всегда уникальны в комнате, и по определению они не могут появляться дважды.

Псевдонимы чувствительны к регистру («Пользователь» отличается от «пользователя»), и у пользователя, у которого есть тот же самый псевдоним, который появляется дважды, вероятно, имеет небольшую разницу (например, они, возможно, добавили пробел в конце псевдоним, или они могут использовать символы юникода, которые выглядят очень похожими, но отличаются).

Самое легкое решение - попросить этих пользователей изменить свой ник одинаковый. Альтернативным решением было бы написать плагин Prosody для обеспечения политики псевдонима (при условии, что вы являетесь администратором сервера).

+0

Можно ли как-то отключить функцию «multi-session nick»? –