Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Fixes #1533 Hats don't get sent out to own MUC user | JC Brand | 2020-04-22 | 1 | -0/+1 | |
| | | ||||||
* | | MUC: Enforce strict resourceprep when registering room nicknames | Kim Alvefur | 2020-05-02 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | If nickname enforcement is enabled this would otherwise let you bypass the join check in muc.lib by registering an invalid nickname and then joining with any nickname, letting register.lib change it to the invalid registered nick. | |||||
* | | MUC: Adapt rules for what should be stored from mod_mam | Kim Alvefur | 2020-04-26 | 1 | -1/+21 | |
| | | | | | | | | | | | | This is the subset of mod_mam rules I believe makes sense in MUC. Note that mod_muc_mam does not have its own rules, but uses these. | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-04-23 | 1 | -1/+1 | |
|\| | ||||||
| * | MUC: Always include 'affiliation'/'role' attributes, defaulting to 'none' if nil | Matthew Wild | 2020-04-23 | 1 | -1/+1 | |
| | | ||||||
| * | MUC: Persist affiliation_data in new MUC format! | Matthew Wild | 2020-03-12 | 1 | -0/+1 | |
| | | ||||||
* | | MUC: Switch hats to new presence APIs | Matthew Wild | 2020-04-11 | 1 | -3/+4 | |
| | | ||||||
* | | MUC: Add API for adding 'filtered namespaces' to be stripped from inbound ↵ | Matthew Wild | 2020-04-11 | 1 | -7/+11 | |
| | | | | | | | | presence | |||||
* | | MUC: Add new event 'muc-build-occupant-presence' for plugins to extend ↵ | Matthew Wild | 2020-04-11 | 1 | -0/+2 | |
| | | | | | | | | occupant presence | |||||
* | | MUC: Add ad-hoc command setting affiliation in a room (fixes #1174) | Kim Alvefur | 2020-03-21 | 1 | -0/+43 | |
| | | | | | | | | | | | | | | | | | | | | This gives service admins a way to set an arbitrary affiliation in any room. Enables various administrative use cases such as room ownership reassignment or recovery. Reduces the need for the admins-as-owners feature, as this can be used by admins to make themselves owner in any room when needed, instead of being owners all the time. | |||||
* | | MUC: Add initial hats support (broadcast only) | Matthew Wild | 2020-03-18 | 2 | -0/+24 | |
| | | | | | | | | | | | | | | | | Based on the currently-deferred XEP-0317. The protocol differs a little (because XEP-0317 is incomplete), therefore currently we use a custom namespace. The plan is to update and finish XEP-0317. | |||||
* | | MUC: Persist affiliation_data in new MUC format! | Matthew Wild | 2020-03-12 | 1 | -0/+1 | |
| | | ||||||
* | | MUC: Switch to new storage format by default | Matthew Wild | 2020-03-12 | 1 | -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 users | Matthew Wild | 2020-03-12 | 2 | -3/+24 | |
| | | | | | | | | Activated when muc#roomconfig_presencebroadcast includes the "none" role. | |||||
* | | MUC: Pass previous role to :publicise_occupant_status() when destroying a MUC | Matthew Wild | 2020-03-12 | 1 | -3/+4 | |
| | | ||||||
* | | MUC: Don't unconditionally broadcast presence with role="none" | Matthew Wild | 2020-03-12 | 1 | -4/+0 | |
| | | | | | | | | | | | | Detailed explanation in de607875d4bd. A presence with role="none" (which is always type="unavailable") should only be broadcast if available presence was previously broadcast for that occupant. | |||||
* | | MUC: Pass previous role to :publicise_occupant_status() whenever possible | Matthew Wild | 2020-03-12 | 1 | -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 event | Maxime “pep” Buquet | 2020-02-24 | 1 | -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. | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-02-13 | 1 | -1/+2 | |
|\| | ||||||
| * | mod_muc: Allow control over the server-admins-are-room-owners feature (see ↵ | Matthew Wild | 2020-02-13 | 1 | -1/+2 | |
| | | | | | | | | #1174) | |||||
* | | MUC: Make note to handle configuration form errors [luacheck] | Kim Alvefur | 2019-12-23 | 1 | -0/+2 | |
| | | ||||||
* | | MUC: Remove some unused variables [luacheck] | Kim Alvefur | 2019-12-23 | 1 | -4/+4 | |
| | | ||||||
* | | MUC: Improve presence broadcast form field label | Matthew Wild | 2019-12-22 | 1 | -1/+1 | |
| | | ||||||
* | | MUC: Add missing reference to room (thanks buildbot) [luacheck] | Kim Alvefur | 2019-11-26 | 1 | -0/+1 | |
| | | ||||||
* | | MUC: Indicate the component as origin of various errors where there's no room | Kim Alvefur | 2019-11-26 | 2 | -7/+7 | |
| | | | | | | | | A room that doesn't exist can't return an error, can it? | |||||
* | | MUC: Indicate that the room is the origin of various errors where 'from' is ↵ | Kim Alvefur | 2019-11-25 | 3 | -16/+19 | |
| | | | | | | | | an occupant JID | |||||
* | | MUC: Indicate origin of registration related errors | Kim Alvefur | 2019-11-25 | 1 | -3/+3 | |
| | | ||||||
* | | MUC: Indicate origin of password related errors | Kim Alvefur | 2019-11-25 | 1 | -1/+1 | |
| | | ||||||
* | | Merge 0.11->trunk | Kim Alvefur | 2019-11-23 | 7 | -44/+229 | |
|\ \ | |/ |/| | ||||||
| * | MUC: Make nickname field in registration form required | Kim Alvefur | 2019-11-02 | 1 | -1/+1 | |
| | | | | | | | | | | | | Prevents traceback from resourceprep(nil) muc#register_roomnick is also required in XEP-0045 | |||||
| * | MUC: Strictly validate room JID on creation | Kim Alvefur | 2019-11-01 | 1 | -0/+8 | |
| | | | | | | | | This should prevent any MUCs with invalid JID (according to current normalization routine) | |||||
| * | MUC: Enforce strict resourceprep on nicknames (bye bye robot face) | Kim Alvefur | 2019-09-23 | 1 | -0/+16 | |
| | | ||||||
| * | MUC: Advertise history related fields as integers via XEP-0122 | Kim Alvefur | 2019-10-20 | 1 | -2/+4 | |
| | | | | | | | | This takes advantage of data type validation and conversion done in util.dataforms. | |||||
| * | MUC: Add controls for whose presence is broadcast (closes #1335) | Lance Stout | 2019-10-20 | 3 | -5/+112 | |
| | | | | | | | | Committed by Zash | |||||
| * | Merge 0.11->trunk | Kim Alvefur | 2019-10-20 | 1 | -2/+0 | |
| |\ | ||||||
| * | | MUC: Validate registration dataform more carefully | Kim Alvefur | 2019-10-20 | 1 | -1/+13 | |
| | | | ||||||
| * | | Merge 0.11-trunk | Kim Alvefur | 2019-09-29 | 1 | -0/+1 | |
| |\ \ | ||||||
| * \ \ | Merge 0.11->trunk | Kim Alvefur | 2019-08-31 | 1 | -2/+2 | |
| |\ \ \ | ||||||
| * | | | | MUC: Simplify nickname refresh loop | Kim Alvefur | 2019-08-25 | 1 | -2/+1 | |
| | | | | | | | | | | | | | | | | | | | | Affiliation data is passed as a loop variable so no need to retrieve it | |||||
| * | | | | Merge 0.11->trunk | Kim Alvefur | 2019-08-21 | 1 | -0/+1 | |
| |\ \ \ \ | ||||||
| * | | | | | MUC: Advertise language field as such via XEP-0122 | Kim Alvefur | 2019-07-07 | 1 | -0/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets clients know that the field is a language field and should be in RFC 5646 format. Field validation code in util.dataforms left for future commit. | |||||
| * | | | | | MUC: Reflow event tables to improve readability | Kim Alvefur | 2019-06-19 | 1 | -4/+20 | |
| | | | | | | | | | | | | | | | | | | | | | | | | Also makes it easier to read diffs of added fields. | |||||
| * | | | | | MUC: Update error message for consistency | Matthew Wild | 2019-03-18 | 1 | -1/+1 | |
| | | | | | | ||||||
| * | | | | | MUC: Fire an event to allow affecting decision of whether to allow a role change | Kim Alvefur | 2019-02-24 | 1 | -0/+12 | |
| | | | | | | ||||||
| * | | | | | MUC: Factor out role change permission check into its own method | Kim Alvefur | 2019-02-24 | 1 | -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->trunk | Matthew Wild | 2019-02-04 | 1 | -3/+3 | |
| |\ \ \ \ \ | ||||||
| * | | | | | | MUC: Rename import to avoid name clash [luacheck] | Kim Alvefur | 2019-01-06 | 1 | -2/+2 | |
| | | | | | | | ||||||
| * | | | | | | MUC: add ID to message if no ID is present | Jonas Wielicki | 2019-01-06 | 1 | -0/+4 | |
| | | | | | | | ||||||
| * | | | | | | Merge 0.11->trunk | Kim Alvefur | 2018-12-20 | 1 | -1/+1 | |
| |\ \ \ \ \ \ | ||||||
| * \ \ \ \ \ \ | Merge 0.11->trunk | Matthew Wild | 2018-12-19 | 2 | -2/+2 | |
| |\ \ \ \ \ \ \ |