Difference between revisions of "Multi-Session Nicks"

Jump to navigation Jump to search
253 bytes added ,  08:07, 28 February 2019
m
no edit summary
m
(3 intermediate revisions by 2 users not shown)
Line 10: Line 10:
* [https://www.ejabberd.im/ ejabberd]
* [https://www.ejabberd.im/ ejabberd]
* [http://isode.com/products/m-link.html M-Link]
* [http://isode.com/products/m-link.html M-Link]
* [https://igniterealtime.org/projects/openfire/index.jsp Openfire]
* [https://igniterealtime.org/projects/openfire/ Openfire]


It might be possible to implement nick sharing on an XMPP server, so it only sends a single presence to a MUC component. That would require the XMPP server to cache the MUC state information.
It might be possible to implement nick sharing on an XMPP server, so it only sends a single presence to a MUC component. That would require the XMPP server to cache the MUC state information.
Line 43: Line 43:
== Optimal XMPP server behavior ==
== Optimal XMPP server behavior ==


* a server should not carbon-copy incoming MUC-PMs to other clients (that requires tracking of MUC presence, or analysis of the <x/> element)
* a server should not carbon-copy incoming MUC-PMs to other clients (this requires tracking of MUC presence, or analysis of the <x/> element)
* a server should carbon-copy outgoing ("sent") MUC-PMs to other clients that are joined to the MUC, or to all clients as a fallback
* a server should carbon-copy outgoing ("sent") MUC-PMs to other clients that are joined to the MUC
** if the server knows for sure those messages are MUC-PMs, it should add an <x/> tag to the message before CCing
** as a fallback, the server may send the carbon copy to all (other) clients if it doesn't track MUC presence


== Client-side workaround behavior ==
== Client-side workaround behavior ==


* when sending a MUC-PM, the client should tag it with <x/> (to let their server know), but not with <private/> (to allow sync to the user's other clients)
* when sending a MUC-PM, the client <del>should tag it with <x/> (to let their server know)</del> (this might prevent Carbon-copying to other clients), but not with <private/> (to allow sync to the user's other clients)
* when receiving a '''"sent" Carbon''':
* when receiving a '''"sent" Carbon''':
*# determine whether the bare JID is a MUC
*# determine whether the bare JID is a MUC
Line 75: Line 77:
|M-Link x.xx||?||?||?||?||?
|M-Link x.xx||?||?||?||?||?
|-
|-
|prosody 0.9||forwards all||?||to IQ sender||to ?, marked with <x>, carbon prevention||?
|prosody 0.9 - 0.10||forwards all||?||to IQ sender||to ?, marked with <x>, carbon prevention||?
|-
|-
|prosody trunk||primary session (first joined)||primary session||to IQ sender||to all sessions, marked with <x>, carbon prevention||<x> with <item>s for all sessions
|prosody 0.11+||primary session (first joined)||primary session||to IQ sender||to all sessions, marked with <x>, carbon prevention||<x> with <item>s for all sessions
|-
|-
|}
|}
216

edits

Navigation menu