aboutsummaryrefslogtreecommitdiff
path: root/src/mod_muc.erl (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add some missing RFCs and remove problematic leading 0 in xep versionsBadlop2022-11-041-0/+1
|
* Store role, and use it when joining a moderated room (#3330)Badlop2022-09-131-1/+1
|
* Annotate options and commands recently addedBadlop2022-05-041-0/+2
|
* Update options configurable in default_room_optionsBadlop2022-05-021-1/+38
|
* Guard agains erlang:system_info(logical_processors) not always returning numberPaweł Chmielowski2022-04-281-2/+2
|
* Optimize room_unused_* commandsPaweł Chmielowski2022-02-181-10/+22
| | | | | | Previously to check if hibernated room was old enough we had to fetch info about all rooms from database. Now we repurpose created_at field in sql to store that info, that allow us to have more efficient query just for it.
* Update copyright year to 2022Badlop2022-02-111-1/+1
|
* Use the same wording in all the identical options db_type and ram_db_typeBadlop2022-02-031-5/+4
|
* Optimize user removal handling in mod_mucAlexey Shchepin2021-12-201-2/+2
|
* Handle user removal in mod_mucAlexey Shchepin2021-12-141-0/+39
|
* Fix previous commit: add forgotten endline blankspacesBadlop2021-09-141-2/+2
|
* Update documentation to match the implemented options values (#3675)Badlop2021-09-141-4/+5
|
* Optimize MucSub processingAlexey Shchepin2021-09-131-2/+10
|
* Use specific syntax so modules and top-level will be linksBadlop2021-08-231-2/+2
| | | | | | If we use _`whatever`_ here in ejabberd man pages, it is converted to *`whatever`* in markdown, and docs.ejabberd.im/Makefile converts to the proper links
* Update documentation: mod_muc ram_db_type supports SQL since 17.04 (#3632)Badlop2021-07-081-3/+2
|
* Use the new 'note' field to annotate changes in 20.01..21.03Badlop2021-05-051-0/+2
|
* Use monitors to track muc roomsPaweł Chmielowski2021-03-031-19/+48
| | | | | This should prevent keeping rooms that were hard killed from in online table.
* Update newest copyright year to 2021 (#3464)Badlop2021-01-271-1/+1
|
* mod_muc/mod_muc_room: add option limits for password and captcha_whitelist ↵Jing Sun2021-01-211-0/+18
| | | | (#2255)
* Make mod_muc_admin command work correctly with hibernated roomsPaweł Chmielowski2020-10-131-1/+13
| | | | | This should first try to unhibernate rooms before trying to send messages to processes handling them.
* Use include_lib() to include headers from dependencies (#3369)Stu Tomlinson2020-09-031-1/+1
|
* Show nick also in oneself list of subscriptions (#3206)Badlop2020-08-261-9/+9
|
* Don't forget not-persistent rooms in load_permanent_roomsPaweł Chmielowski2020-08-061-12/+7
| | | | | | | | | Only non-persistent rooms that we are storing are those that were hibernated but also have mucsub subscribers in them. I don't think it makes sense to destroy those rooms on restart/reload if we didn't destroy them in first place when last member did leave room, let just handle those rooms like they are persistent, and kill them only when all user unsubscribe from them or they are destroyed from api.
* Copy more option explanations from ejabberd Docs siteBadlop2020-04-081-2/+13
|
* Update copyright to 2020 (#3149)Badlop2020-01-281-1/+1
|
* Generate ejabberd.yml.5 man page from source code directlyEvgeny Khramtsov2020-01-081-0/+378
| | | | | | | Several documentation callbacks (doc/0 and mod_doc/0) are implemented and `ejabberdctl man` command is added to generate a man page. Note that the command requires a2x to be installed (which is a part of asciidoc package).
* Correctly handle unicode in log messagesEvgeny Khramtsov2019-09-231-8/+8
|
* When join new room with password, set pass and password_protected (#2668)Badlop2019-08-131-3/+30
|
* Don't retain module option on gen_mod supervisorEvgeny Khramtsov2019-08-041-5/+6
| | | | | | When module's options were updated (e.g. by reloading ejabberd.yml) and, later, the module's process crashed, gen_mod supervisor restarts the process with outdated options. This is now fixed.
* Introduce 'vcard' option for the modules supporting vCardsEvgeny Khramtsov2019-08-021-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The mapping between vCard's XML elements and YAML elements of 'vcard' option is straightforward. For example, if you want mod_muc to return the following vCard: ``` <vCard xmlns='vcard-temp'> <FN>Conferences</FN> <ADR> <WORK/> <STREET>Elm Street</STREET> </ADR> </vCard> ``` you need to set the configuration as: ``` modules: ... mod_muc: vcard: fn: Conferences adr: - work: true street: Elm Street ... ```
* Change time unit of hibernation_timeout option to 'second'Evgeny Khramtsov2019-07-161-1/+1
| | | | This is done for the sake of consistency with other options
* Fix typos using codespellEvgeny Khramtsov2019-07-161-1/+1
|
* Avoid record duplicationEvgeny Khramtsov2019-07-161-18/+22
|
* Use econf:timeout/2Evgeny Khramtsov2019-07-161-1/+1
|
* Add code for hibernating inactive muc_room processesPaweł Chmielowski2019-07-161-2/+14
|
* Compile some regexps as unicodeEvgeny Khramtsov2019-07-151-1/+1
|
* Fix regexp matchingEvgeny Khramtsov2019-07-151-1/+1
|
* Attach mod_muc_room processes to a supervisorEvgeny Khramtsov2019-07-151-7/+10
|
* Don't expose internal FSM API of mod_muc_roomEvgeny Khramtsov2019-07-091-26/+17
|
* Avoid routing packets through a single processEvgeny Khramtsov2019-07-061-6/+8
|
* Do not call the same function twiceEvgeny Khramtsov2019-07-061-1/+0
|
* Restore room when receiving message or generic iq for not started roomPaweł Chmielowski2019-07-051-45/+63
|
* Limit number of rooms that we return for disco_items from mucPaweł Chmielowski2019-07-051-8/+20
| | | | | We will limit it to max_room_discoitems and return rsm that would allow fetching more
* Distribute routing of MUC messages accross all CPU coresEvgeny Khramtsov2019-07-051-259/+379
| | | | Also relay as less stanzas as possible through mod_muc workers
* Make logging messages more consistentEvgeny Khramtsov2019-06-241-2/+2
|
* Improve extraction of translated stringsEvgeny Khramtsov2019-06-221-27/+26
| | | | | | | | | | | | | Now every such string MUST be encapsulated into ?T() macro. The macro itself is defined in include/translate.hrl. Example: -module(foo). -export([bar/1]). -include("translate.hrl"). bar(Lang) -> translate:translate(Lang, ?T("baz")).
* Get rid of "well-known" typeEvgeny Khramtsov2019-06-151-5/+5
|
* Use new configuration validatorEvgeny Khramtsov2019-06-141-128/+97
|
* Use system_time/1 instead of monotonic_time/1Evgeny Khramtsov2019-06-061-1/+1
| | | | | | | The value of monotonic_time/1 may differ significantly between nodes in a cluster due to different erlang:time_offset/0 values. Thanks to Christoph Scholz for spotting this
* Avoid late arrival of get_disco_item responseEvgeny Khramtsov2019-05-111-11/+15
|