保持线程在多个设备之间同步(ejabberd/conversations)

保持线程在多个设备之间同步(ejabberd/conversations)

我想使用两个具有相同 jabber ID 的不同客户端设备,并且我希望消息线程对它们两个都显示相同,即使其中一个客户端离线一段时间。两个客户端都运行 Conversations,服务器是 ejabberd 21.12。

mod_carboncopy(XEP-0208)和 mod_mam 均在 ejabberd.yml 中激活。

mod_mam 的激活方式如下:

mod_mam:
    db_type: sql
    access_preferences: none
    assume_mam_usage: true
    default: never

观察到的行为是:

  • 如果两个客户端都在线,则发送到该帐户的消息会同时发送给这两个客户端。
  • 如果只有一个客户端在线,则消息会发送到在线客户端的帐户。第二个客户端上线时不会收到这些消息。
  • 从任一客户端发送的消息都会出现在两个客户端的线程中(我相信这是 mod_carboncopy 的操作)。

期望的行为:

  • 发送到帐户的消息会发送给两个客户端。如果其中一个客户端在线,则会收到消息。第二个客户端稍后上线时会收到消息。

答案1

回答我自己:在 ejabberd.yml 中的 mod_mam 下将“default: never”更改为“default: always”。

我仍想找到一种方法来控制消息存档的保存时间。

相关内容