Feature #216

Multi User Chat [XEP-0045]

Added by Vincent Véronis about 5 years ago. Updated almost 2 years ago.

Close
Status:NewStart date:11/19/2009
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Conception
Target version:-

Description

Please vote for ONE feature to choose the next improvement.

Basic implementation XEP-0045: Multi-User Chat

This feature allow multi user text conversation. We want to offer the basic functionality of multi user chat.
The user MUST be able to :
  1. Join a room
  2. Leave a room
  3. Send public message all around the room.
  4. Create a room
  5. Destroy a room
The user MAY BE able to :
  1. Change his nickname
  2. Invite an user to his room
  3. Send private message to particular user of the room.
  4. Converting 1 to 1 chat into multi user chat
  5. Requesting Voice like in IRC.

beem-muc.patch Magnifier (48.3 KB) Alexandre Chataignon, 08/26/2010 11:06 PM

Beem-muc.apk - Patched version of r797 (706 KB) Frédéric Barthéléry, 09/22/2010 10:34 AM

patch_beem_muc_015.patch Magnifier (51.4 KB) Alexandre Chataignon, 02/28/2011 05:03 PM

beem_muc_for_r969.patch Magnifier - Patch to add muc to r969 (56.3 KB) Andrew Dorney, 04/10/2012 11:09 PM

Beep-debug-r969-plus-muc-for-ics.apk - Debug APK I built using patch, Android 4.0.3, use at your own risk (867 KB) Andrew Dorney, 04/10/2012 11:09 PM


Related issues

Duplicated by Feature #307: MUC chatrooms Closed 10/22/2010

History

#1 Updated by Jean-Manuel Da Silva about 5 years ago

Vincent Veronis wrote:

Please vote for ONE feature to choose the next improvement.

Basic implementation XEP-0045: Multi-User Chat

This feature allow multi user text conversation. We want to offer the basic functionality of multi user chat.
The user MUST be able to :
  1. Join a room
  2. Leave a room
  3. Send public message all around the room.
  4. Create a room
  5. Destroy a room
The user MAY BE able to :
  1. Change his nickname
  2. Invite an user to his room
  3. Send private message to particular user of the room.
  4. Converting 1 to 1 chat into multi user chat
  5. Requesting Voice like in IRC.

Concernant les MUST features:
Tout est OK pour moi, excepté l'histoire de room.
Je pense que l'on doit se focaliser uniquement sur les room de type "Hidden Room".
Tout ce qui concerne les rooms publiques, avec modérations, semi-privés etc doivent être tout simplement oubliées pour le moment.

N'oublions pas que le but de l'EIP reste de la VOIP, et a la limite de la vidéo.
Le MUC reste interessant seulement dans le cas ou l'on part uniquement dans l'idée de faire du MUC style MSN, et ou le développement n'est pas conséquent.
Quand je vois la montagne que c'est de proposer une DialogBox, j'imagine pas pour une implémentation complète du MUC. Restons tout de même prudent.

Pour finir concernant les MAY features:
  1. Invite an user to his room
  2. Converting 1 to 1 chat into multi user chat

Je ne vois que ces deux la qui peuvent s'intégrer rapidement et qui semblent même logiques.

#2 Updated by Alexandre Chataignon about 4 years ago

Hi all,

You can find enclosed a patch adding MUC feature to Beem.

All the MUST features are implemented (a room is created when you join a unexistant room, and destroyed when it is empty)

About the MAY features, only the private messages are implemented, and there certainly are still bugs

To join a MUC, you need to show the menu in the buddies list, and click on MUC. A dialog will ask you the room and your nickname.
Another way is to add the MUC JID in your contact list and then show the contextual menu of this contact, then click on "Join as MUC" (it is quite dirty, better would be to implement bookmarks (XEP-0048)).

This patch is my first code for Android (I needed MUC and I prefer Beem from the other jabber clients), so the code may be a little bit dirty, but it works :)

--

Salut à tous,

Je vous soumets un patch ajoutant le support des salons MUC dans Beem.

Il respecte toutes les MUST (la création d'un MUC se fait en rejoignant un MUC non existant, et le salon se détruit si il n'y a plus personne dedans).

Concernant les MAY, seuls les messages privés sont implémentées, et encore il doit rester quelques bugs...

Pour rejoindre un MUC, il suffit de faire apparaître le menu dans la liste des contacts, et cliquer sur MUC. Une fenetre s'ouvrira et permettra de regler le nom de la salle et le pseudo voulu.
Une autre solution est de rajouter la salle dans ses contacts, puis de faire apparaitre le menu contextuel et cliquer sur "Join as MUC" (ce n'est pas très propre, il faudrait implementrer les bookmarks (XEP-0048)).

Ce patch est ma première expérience Android (j'avais besoin du MUC et je prefère Beem aux autres clients Jabber), donc tout ne doit pas être propre, néanmoins, ca marche :)

#3 Updated by Frédéric Barthéléry about 4 years ago

I just test it a few minutes and it seems to work fine. I will look at the code this week end. but anyway it is a great contribution which will make lot of people happy.
Good job.
PS : Sur le bug tracker on essaie de parler anglais juste pour les nombreux anglophones.

#4 Updated by Frédéric Barthéléry about 4 years ago

Since a lot of users request it, I upload an apk patched with the muc.patch . Use at your own risk.
We have not start to clean it because we are working on other things for the moment.
But I'll be glad to help Alexandre to improve this patch so we can integrate it soon.

#5 Updated by Alexandre Chataignon over 3 years ago

Hi,

Here is attached the patch to add MUC support in Beem 0.1.5.
The patch was adapted by Antoine Pierlot-Garcin <antoine at bokbox dot com>.
In addition to this patch, I have added the support of highlights that wasn't in my previous patch.

#6 Updated by Alexandre Chataignon over 3 years ago

Hi,

Here is attached the patch to add MUC support in Beem 0.1.5.
The patch was adapted by Antoine Pierlot-Garcin <antoine at bokbox dot com>.
In addition to this patch, I have added the support of highlights that wasn't in my previous patch.

#7 Updated by Nikita Kozlov over 3 years ago

Hi Alexandre,

Thanks for the patch, we will try to review it and give you a proper reply asap.
Also, have you subscribed to Beem mailing list in the case of reply on it ?

#8 Updated by Davide Cozzolino over 3 years ago

but ascmak has a bug in multichat, read http://code.google.com/p/asmack/issues/detail?id=28

#9 Updated by Frédéric Barthéléry over 3 years ago

Davide Cozzolino wrote:

but ascmak has a bug in multichat, read http://code.google.com/p/asmack/issues/detail?id=28

In Beem, we are contourning this bug by loading the smack extensions manually during the initialization of the application. So this is not really impacting us.

#10 Updated by Andrew Clunis almost 3 years ago

Hey, is anything in particular blocking this patch from getting merged?

#11 Updated by Andrew Dorney over 2 years ago

I'm not much of a developer, but I've got enough experience that I was able to port Alexandre Chataignon's 015 patch to the latest HG revision, r969. See attached.

For those wishing to try it out, I've attached the APK above. For those who want to build one themselves, here's what I did:
hg clone -u 969 beem
cd beem
patch -p0 < add_muc_to_r969.patch
android update project -p . target <your target>
ant debug

I built against android-15 (ICS 4.0.3) and it's working pretty well.

Known issues:
  • Crashes if I attempt to enter a chat room with a space in the name rather than handling it gracefully.
  • When the phone sleeps, it disconnects me from the MUC rather than leaving it open to receive messages, etc.

#12 Updated by Christian Fischer almost 2 years ago

Thank you Andrew Dorney for your work!

I will try to fix the issues with the current revision.

Porting to github for development and keeping track: https://github.com/computerlyrik/beem-muc

Also available in: Atom PDF