Mercurial > prosody-modules
comparison mod_minimix/README.md @ 5975:fe081789f7b5
All community modules: Unify file extention of Markdown files to .md
| author | Menel <menel@snikket.de> |
|---|---|
| date | Tue, 22 Oct 2024 10:26:01 +0200 |
| parents | mod_minimix/README.markdown@140cda94c342 |
| children |
comparison
equal
deleted
inserted
replaced
| 5974:5a65a632d5b9 | 5975:fe081789f7b5 |
|---|---|
| 1 # Account based MUC joining | |
| 2 | |
| 3 Normally when joining a MUC groupchat, it is each individual client that | |
| 4 joins. This means their presence in the group is tied to the session, | |
| 5 which can be short-lived or unstable, especially in the case of mobile | |
| 6 clients. | |
| 7 | |
| 8 This has a few problems. For one, for every message to the groupchat, a | |
| 9 copy is sent to each joined client. This means that at the account | |
| 10 level, each message would pass by once for each client that is joined, | |
| 11 making it difficult to archive these messages in the users personal | |
| 12 archive. | |
| 13 | |
| 14 A potentially better approach would be that the user account itself is | |
| 15 the entity that joins the groupchat. Since the account is an entity that | |
| 16 lives in the server itself, and the server tends to be online on a good | |
| 17 connection most of the time, this may improve the experience and | |
| 18 simplify some problems. | |
| 19 | |
| 20 This is one of the essential changes in the MIX architecture, which is | |
| 21 being designed to replace MUC. | |
| 22 | |
| 23 `mod_minimix` is an experiment meant to determine if things can be | |
| 24 improved without replacing the entire MUC standard. It works by | |
| 25 pretending to each client that nothing is different and that they are | |
| 26 joining MUCs directly, but behind the scenes, it arranges it such that | |
| 27 only the account itself joins each groupchat. Which sessions have joined | |
| 28 which groups are kept track of. Groupchat messages are then forked to | |
| 29 those sessions, similar to how normal chat messages work. | |
| 30 | |
| 31 ## Known issues | |
| 32 | |
| 33 - You can never leave. | |
| 34 - You will never see anyone leave. | |
| 35 - Being kicked is not handled. | |
| 36 | |
| 37 ## Unknown issues | |
| 38 | |
| 39 - Probably many. | |
| 40 | |
| 41 ## TODO | |
| 42 | |
| 43 - Integrate with bookmarks | |
| 44 - tracking outgoing presence | |
| 45 - leaving rooms | |
| 46 - nickname management | |
| 47 - bookmark sync | |
| 48 | |
| 49 # Compatibility | |
| 50 | |
| 51 Briefly tested with Prosody trunk (as of this writing). |
