グループチャット機能も備えたチャットクライアントにejabberd XMPPサーバーを使用しています。私の問題は、新しいユーザーがグループ ルームに参加すると、history_size が (今のところ) 200 に設定されているにもかかわらず、ルームから最初の 20 件のメッセージしか取得できないことです。クライアント側では、新しいユーザーがルームに参加すると、プレゼンス スタンザに履歴要素が含まれ、1970 年以降に送信されたメッセージを要求します。サーバーの時刻は 2014 年であるため、理論的にはすべてのメッセージ、または少なくとも 200 件のメッセージを送信する必要があります。
ejabberd.cfg muc フラグメント:
{mod_muc, [
%%{host, "conference.@HOST@"},
{access, muc},
{access_create, muc},
{access_persistent, muc},
{access_admin, muc_admin},
{history_size, 50},
{max_users, 500}
]}
ルームに参加するために送信された XMPP スタンザ:
<presence
from='someusername@host'
id='someid'
to='somegroup@ccc.host/somenickname'>
<x xmlns='http://jabber.org/protocol/muc'>
<history since='1970-01-01T00:00:00Z'/>
</x>
</presence>