We're updating the issue view to help you get more done. 

Fix for the "Broadcast presence for" option in the room settings

Description

http://www.igniterealtime.org/community/message/196266

Currently when you uncheck the "broadcast presence for" for a certain role (say visitor), their join presence is correctly supressed, but their unavailable presence is not when they leave the room. This is because Openfire (correctly) sets their role to none upon departure.

Unfortunately this is done right before the check to see if their presence should be broadcast, resulting in the presence always being sent to the entire room, despite them previously being a visitor.

To solve this, I created a shouldBroadcastPresence function, and check to see if the user's original presence should be broadcast. If not, the new presence (with role=none) is only sent to the user, and not the entire room. This also fixes the issue listed above where unavailable presence packets were being sent twice upon user departure.

Environment

None

Acceptance Test - Entry

None

Activity

Show:
Ben Vinson
September 22, 2009, 9:21 PM

patch for LocalMUCRoom

Ben Vinson
September 22, 2009, 9:22 PM

The patch for this also fixes

Guenther Niess
November 6, 2009, 4:50 PM

Ben, I like your patch. It looks very efficient I applied a small modified version to r11365.

Assignee

Gaston Dombiak

Reporter

wroot

Labels

None

Expected Effort

None

Ignite Forum URL

None

Components

Fix versions

Affects versions

Priority

Major
Configure