Kim Alvefur
1cec114646
MUC: Don't default room name to JID localpart (API breaking change)
...
Behavior with turning empty name into localpart was originally introduced
in 711eb5bf94b4
This has caused some problems for clients, making it difficult to
differentiate between a room actually named like the localpart from a
room without a name.
Breaking:
The function signature of the :get_name() method changes from always
returning a string to optional string.
5 years ago
Matthew Wild
ccc5516646
mod_muc: Allow control over the server-admins-are-room-owners feature (see #1174 )
6 years ago
Kim Alvefur
de1efbb3df
MUC: Add ad-hoc command setting affiliation in a room ( fixes #1174 )
...
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.
6 years ago
Matthew Wild
b816830a99
MUC: Add initial hats support (broadcast only)
...
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.
6 years ago
Kim Alvefur
b2e9ee4b6b
MUC: Indicate the component as origin of various errors where there's no room
...
A room that doesn't exist can't return an error, can it?
6 years ago
Kim Alvefur
093ef6bb23
MUC: Indicate that the room is the origin of various errors where 'from' is an occupant JID
6 years ago
Kim Alvefur
8de5e91be6
MUC: Strictly validate room JID on creation
...
This should prevent any MUCs with invalid JID (according to current normalization routine)
6 years ago
Lance Stout
190c1e7772
MUC: Add controls for whose presence is broadcast ( closes #1335 )
...
Committed by Zash
6 years ago
Matthew Wild
66bad36147
MUC: Use defaults from config in create_room() if no config provided
7 years ago
Matthew Wild
bf1391b08e
MUC: Fix error logged when no persistent rooms present
8 years ago
Matthew Wild
d78ccd8301
MUC: Add support for registering with a MUC, including reserving a nickname as per XEP-0045
7 years ago
Matthew Wild
0c65168705
MUC: Add support for storing additional data with MUC affiliations
...
XEP-0045 registration provides examples of registering a nickname
and various other details. This also allows modules to store arbitrary
private data about an affiliated entity.
7 years ago
Kim Alvefur
4202869a5a
MUC: Normalize indentation
7 years ago
Matthew Wild
42ca023dec
MUC: Fix traceback when failing to restore a room
...
When a room exists in the DB but cannot be loaded (e.g. due to max_rooms
or a pre-restore handler) restore_room()/get_room_from_jid() returns false.
7 years ago
Kim Alvefur
88962f49f4
MUC: Pass missing argument to log message
7 years ago
Kim Alvefur
ae1e3a1930
MUC: Don't reply to errors with more errors ( fixes #1122 )
8 years ago
Kim Alvefur
4dbe36a6a0
MUC: Say something about storage failure before aborting (see #1091 )
8 years ago
Kim Alvefur
fdfa7a51fa
MUC: Prevent creation of room that could not be loaded from storage (see #1091 )
8 years ago
Kim Alvefur
cb9c562f0b
MUC: Abort module loading if unable to get list of persistent rooms from storage ( fixes #1091 )
8 years ago
Kim Alvefur
d36a5333ea
MUC: Only create rooms in a locked state when they are created by someone joining (fixes timed deletion of all rooms on startup)
9 years ago
Kim Alvefur
399ddd601d
MUC: Allow destruction of tombstones (eg via telnet or adhoc command)
...
Otherwise this just updates the timestamp, which is probably the
opposite of what the user wanted
8 years ago
Kim Alvefur
e4b27b4e7a
MUC: Split long lines [luacheck strict]
8 years ago
Matthew Wild
c2842236ae
mod_muc: Fire event when room is (and about to be) restored
8 years ago
Matthew Wild
f9aaa8ce3d
mod_muc: Add comment
8 years ago
Matthew Wild
78bc1a2cd5
MUC: Add some comments clarifying methods
8 years ago
Matthew Wild
f5aa8fe9b4
MUC: Add new iteration methods, all_rooms/live_rooms to eventually replace each_room
8 years ago
Matthew Wild
3462ae4c36
MUC: Rename variable for consistency with other code that uses the term 'live'
8 years ago
Kim Alvefur
195e112399
MUC: Return 'gone' error for destroyed rooms in other cases than attempted join
...
Lock expiry -> Reset
Admin wants to join -> Reset
Still locked -> cancel, gone
Don't return error in response to an error
8 years ago
Matthew Wild
1f50e15c8e
MUC: Add sections in room config form
8 years ago
Kim Alvefur
9aaa5d3ed1
MUC: Include redirect in 'gone' error for destroyed rooms
8 years ago
Kim Alvefur
6c4e78b318
MUC: Send an 'gone' error instead of unavailable + <destroyed>
...
List discussion here:
https://mail.jabber.org/pipermail/standards/2018-July/035228.html
8 years ago
Kim Alvefur
5162091467
MUC: Allow an admin to recreate destroyed rooms
8 years ago
Kim Alvefur
85fa97aa78
MUC: Add support for storing a tombstone for destroyed rooms ( #1182 )
8 years ago
Kim Alvefur
ce04878f1f
MUC: Remove room state on successful restoration from disk
8 years ago
Kim Alvefur
0f49ec5090
MUC: Purge saved room state when deleting a room
8 years ago
Kim Alvefur
c259a6b512
MUC: Log a debug message when a non-persistent room becomes empty and is destroyed
8 years ago
Kim Alvefur
4bf97ac791
MUC: Flag rooms being destroyed ( fixes #887 )
8 years ago
Matthew Wild
3154d7958a
mod_muc: Add support for muc_room_default_allow_member_invites
8 years ago
Matthew Wild
49677384f6
MUC: Add config option to allow members to invite other members to the room (previously only owners/admins could do this)
8 years ago
Matthew Wild
0a92cbb372
MUC: Remove affiliation notify support, nothing uses it
8 years ago
Kim Alvefur
150079e058
MUC: Measure cache hits and misses
8 years ago
Kim Alvefur
295a71930f
MUC: Rename eviction hit rate measure
8 years ago
Kim Alvefur
ca514bcbf6
MUC: Expose method for creating a bare room object
8 years ago
Kim Alvefur
eaffeb7521
MUC: Track rooms created via internal public API
...
Fixes muc:create() in the telnet console
8 years ago
Kim Alvefur
ffd368426d
MUC: Allow passing config to public create_room API
8 years ago
Kim Alvefur
4bcc8878b9
MUC: Fix Ooo (thanks pep.)
...
What time is it?
8 years ago
Kim Alvefur
57dd7642ff
MUC: Make rooms hidden (non-public) by default for improved privacy
...
Thanks to jonasw for highlighting this with the MUC crawler.
8 years ago
Kim Alvefur
9e955eb3c3
MUC: Use xml:lang from stanza that creates a room as default for language
8 years ago
Kim Alvefur
fb25b89894
MUC: Add support for setting MUC room defaults from the config file
...
Defaults are roughtly like this:
muc_rooom_default_public = true
muc_rooom_default_persistent = false
muc_rooom_default_members_only = false
muc_rooom_default_moderated = false
muc_rooom_default_public_jids = false
muc_rooom_default_change_subject = false
muc_room_default_history_length = 20
muc_room_default_language = nil
8 years ago
Kim Alvefur
586e8747b9
MUC: Move voice request into its own lib
8 years ago