aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/muc/muc.lib.lua
Commit message (Collapse)AuthorAgeFilesLines
* Merge 0.11->trunkMatthew Wild2020-04-231-1/+1
|\
| * MUC: Always include 'affiliation'/'role' attributes, defaulting to 'none' if nilMatthew Wild2020-04-231-1/+1
| |
| * MUC: Persist affiliation_data in new MUC format!Matthew Wild2020-03-121-0/+1
| |
* | MUC: Add new event 'muc-build-occupant-presence' for plugins to extend ↵Matthew Wild2020-04-111-0/+2
| | | | | | | | occupant presence
* | MUC: Persist affiliation_data in new MUC format!Matthew Wild2020-03-121-0/+1
| |
* | MUC: Switch to new storage format by defaultMatthew Wild2020-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Changing the default setting of `new_muc_storage_format` from false to true. The code supports reading both formats since 0.11, but servers with MUCs stored using the new format will not be able to downgrade to 0.10 or earlier. The new format is clearer (less nesting for the most commonly-accessed data), and combined with the new map-store methods, allows for some operations to become more efficient (such as finding out which MUCs on a service a given user is affiliated with).
* | MUC: Support for broadcasting unavailable presence for affiliated offline usersMatthew Wild2020-03-121-2/+23
| | | | | | | | Activated when muc#roomconfig_presencebroadcast includes the "none" role.
* | MUC: Pass previous role to :publicise_occupant_status() when destroying a MUCMatthew Wild2020-03-121-3/+4
| |
* | MUC: Pass previous role to :publicise_occupant_status() whenever possibleMatthew Wild2020-03-121-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there is what amounts to a hack in presence_broadcast.lib.lua to make it always broadcast presence with roles of "none". This is to ensure that if you previously saw available presence for someone, you will also see the unavailable presence (which always has role="none"). The correct approach is to take into account what the previous role was ( i.e. answer the question: "Was the available presence for this occupant a role for which presence broadcast is enabled?). The logic is already in place to do this correctly, but most call sites do not provide the previous role (prev_role argument) of the occupant, which causes it to not be used. In its place the hack to always broadcast presence of role="none" has allowed things to continue to work. The intention is that a subsequent commit will remove the unconditional broadcast of role="none".
* | mod_muc: add muc-private-message eventMaxime “pep” Buquet2020-02-241-1/+3
| | | | | | | | | | This seems to be the one place handling MUC-PMs. This event is added so that plugins (such as muc_occupant_id) can edit them without having to redo the work.
* | MUC: Make note to handle configuration form errors [luacheck]Kim Alvefur2019-12-231-0/+2
| |
* | MUC: Remove some unused variables [luacheck]Kim Alvefur2019-12-231-4/+4
| |
* | MUC: Add missing reference to room (thanks buildbot) [luacheck]Kim Alvefur2019-11-261-0/+1
| |
* | MUC: Indicate that the room is the origin of various errors where 'from' is ↵Kim Alvefur2019-11-251-13/+16
| | | | | | | | an occupant JID
* | Merge 0.11->trunkKim Alvefur2019-11-231-37/+100
|\ \ | |/ |/|
| * MUC: Enforce strict resourceprep on nicknames (bye bye robot face)Kim Alvefur2019-09-231-0/+16
| |
| * MUC: Add controls for whose presence is broadcast (closes #1335)Lance Stout2019-10-201-5/+18
| | | | | | | | Committed by Zash
| * Merge 0.11-trunkKim Alvefur2019-09-291-0/+1
| |\
| * \ Merge 0.11->trunkKim Alvefur2019-08-211-0/+1
| |\ \
| * | | MUC: Reflow event tables to improve readabilityKim Alvefur2019-06-191-4/+20
| | | | | | | | | | | | | | | | Also makes it easier to read diffs of added fields.
| * | | MUC: Update error message for consistencyMatthew Wild2019-03-181-1/+1
| | | |
| * | | MUC: Fire an event to allow affecting decision of whether to allow a role changeKim Alvefur2019-02-241-0/+12
| | | |
| * | | MUC: Factor out role change permission check into its own methodKim Alvefur2019-02-241-18/+27
| | | | | | | | | | | | | | | | | | | | | | | | I would like to invert this logic so that it checks if the role change is allowed instead of checking if it is not allowed as it does now, in order to make it easier to understand.
| * | | Merge 0.11->trunkMatthew Wild2019-02-041-3/+3
| |\ \ \
| * | | | MUC: Rename import to avoid name clash [luacheck]Kim Alvefur2019-01-061-2/+2
| | | | |
| * | | | MUC: add ID to message if no ID is presentJonas Wielicki2019-01-061-0/+4
| | | | |
| * | | | Merge 0.11->trunkKim Alvefur2018-12-201-1/+1
| |\ \ \ \
| * \ \ \ \ Merge 0.11->trunkMatthew Wild2018-12-191-1/+1
| |\ \ \ \ \
| * | | | | | MUC: Move check for explicit room join earlier in room creation flowKim Alvefur2018-11-271-7/+0
| | | | | | |
| * | | | | | Merge 0.11->trunkKim Alvefur2018-11-251-0/+1
| |\ \ \ \ \ \
| * | | | | | | MUC: Fix spelling in commentsKim Alvefur2018-11-101-5/+5
| | | | | | | |
* | | | | | | | MUC: Keep role across nickname change (fixes #1466)Kim Alvefur2019-11-231-0/+3
| |_|_|_|_|_|/ |/| | | | | |
* | | | | | | MUC: Strip tags with MUC-related namespaces from private messages (fixes #1427)Kim Alvefur2019-09-291-0/+1
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | Prevents duplication since it adds another <{muc#user}x> here
* | | | | | MUC: Advertise XEP-0410 supportKim Alvefur2019-07-301-0/+1
| |_|_|_|/ |/| | | | | | | | | | | | | | Unsure if the feature was in the XEP at the time of 7c1cdf5f9f83
* | | | | MUC: Add error message to error bounces when not joined to roomMatthew Wild2019-02-041-3/+3
| |_|_|/ |/| | |
* | | | MUC: Allow changing data attached to an only owner (fixes #1273)Kim Alvefur2018-12-201-1/+1
| |_|/ |/| | | | | | | | | | | | | | | | | This previously prevented a single owner from setting their own nickname via admin query. The form method uses `true` as actor so it bypasses this check.
* | | MUC: Adjust priorities of muc-get-default-role handlers (fixes #1272)Matthew Wild2018-12-191-1/+1
| |/ |/|
* | MUC: Fix traceback on muc#admin query with missing <item> child (#1242)Kim Alvefur2018-11-251-0/+1
|/ | | | Caused by a missing return statement introduced in 494938dec5d8
* MUC: Allow anyone read access to all affiliation lists in non-anonymous ↵Kim Alvefur2018-11-091-1/+1
| | | | rooms (fixes #1230)
* MUC: Clarify condition with parenthesisKim Alvefur2018-11-091-2/+2
|
* MUC: Announce affiliation changes for JIDs that are not in the roomMatthew Wild2018-10-311-12/+23
|
* MUC: Remove debug logMatthew Wild2018-10-251-1/+0
|
* MUC: Add function to retrieve affiliation data for a given JIDMatthew Wild2018-10-211-0/+9
|
* MUC: Include affiliation data when iterating over affiliations with a roomMatthew Wild2018-10-211-11/+8
|
* MUC: Use the bare JID when performing a lookup for COMPAT with clients that ↵Matthew Wild2018-10-211-1/+1
| | | | | | don't set it (fixes #1224) The full JID is never meant to be the target of affiliation changes.
* MUC: Respond to ping per XEP-0410: MUC Self-Ping server optimization (closes ↵Kim Alvefur2018-10-071-0/+5
| | | | #1220)
* MUC: Don't kick user of a reserved nick if it's theirs (thanks pep.)Matthew Wild2018-09-141-1/+4
|
* MUC: Include 'nick' attribute in affiliation lists (thanks jc)Matthew Wild2018-09-141-1/+2
|
* MUC: Fix to correctly return 'node' in disco#info responses (thanks jc)Matthew Wild2018-09-131-1/+1
|
* MUC: Initialize room with empty affiliation_data if none storedMatthew Wild2018-09-041-1/+1
|