Skip to content

Add various improvements to mod_muc_light#4749

Open
kamilwaz wants to merge 2 commits into
masterfrom
muc-light-improvements
Open

Add various improvements to mod_muc_light#4749
kamilwaz wants to merge 2 commits into
masterfrom
muc-light-improvements

Conversation

@kamilwaz

@kamilwaz kamilwaz commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

This PR introduces several MUC Light improvements:

  • Adds support for per-room configuration options that override the corresponding module options (all_can_configure and all_can_invte)
  • Adds the promote_on_last_owner_leave option to control whether the last owner can leave without promoting another occupant
  • Fixes a bug that allowed members to demote owners in rooms with multiple owners
  • Updates the MUC Light documentation

MIM-2756

@kamilwaz kamilwaz self-assigned this Jul 15, 2026
@mongoose-im

mongoose-im commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

CircleCI results for f9b01fd


small_tests_legacy / small_tests / 1d573ef
Reports root / small


small_tests_latest / small_tests / 1d573ef
Reports root / small


small_tests_latest_arm64 / small_tests / 1d573ef
Reports root / small


ldap_mnesia_latest / ldap_mnesia / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 2316 / Failed: 0 / User-skipped: 1567 / Auto-skipped: 0


internal_mnesia_latest / internal_mnesia / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 2465 / Failed: 0 / User-skipped: 1418 / Auto-skipped: 0


dynamic_domains_pgsql_cets_legacy / pgsql_cets / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 5177 / Failed: 0 / User-skipped: 237 / Auto-skipped: 0


dynamic_domains_pgsql_cets_latest / pgsql_cets / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 5177 / Failed: 0 / User-skipped: 237 / Auto-skipped: 0


pgsql_cets_latest / pgsql_cets / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 5498 / Failed: 0 / User-skipped: 213 / Auto-skipped: 0


pgsql_cets_legacy / pgsql_cets / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 5498 / Failed: 0 / User-skipped: 213 / Auto-skipped: 0


mysql_cets_latest / mysql_cets / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 5496 / Failed: 0 / User-skipped: 215 / Auto-skipped: 0


pgsql_redis_latest / pgsql_redis / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 5578 / Failed: 0 / User-skipped: 378 / Auto-skipped: 0


cockroachdb_cets_latest / cockroachdb_cets / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 5498 / Failed: 0 / User-skipped: 213 / Auto-skipped: 0


elasticsearch_and_cassandra_mnesia_latest / elasticsearch_and_cassandra_mnesia / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 3134 / Failed: 0 / User-skipped: 1444 / Auto-skipped: 0

mongoose_elasticsearch_SUITE:end_per_suite
{error,
  {{badrpc,
     {'EXIT',
       {#{what => event_already_registered,
        event_name => wpool_global_queue_lengths,
        labels => #{pool_type => elastic,pool_tag => default}},
        [{mongoose_instrument,set_up,3,
           [{file,
            "/home/circleci/project/src/instrument/mongoose_instrument.erl"},
          {line,114}]},
         {lists,foreach_1,2,[{file,"lists.erl"},{line,2641}]},
         {mongoose_wpool,start,5,
           [{file,
            "/home/circleci/project/src/wpool/mongoose_wpool.erl"},
          {line,162}]},
         {mongoose_wpool,'-start_configured_pools/3-lc$^1/1-1-',1,
           [{file,
            "/home/circleci/project/src/wpool/mongoose_wpool.erl"},
          {line,129}]},
         {mongoose_wpool,start_configured_pools,1,[]}]}}},
   [{distributed_helper,rpc,
      [#{node => mongooseim@localhost},
       mongoose_wpool,start_configured_pools,
       [[#{scope => global,tag => default,type => elastic,
         opts =>
           #{strategy => best_worker,workers => 10,
           call_timeout => 5000},
         conn_opts => #{port => 9200,host => <<"localhost">>}}]]],
      [{file,
         "/home/circleci/project/big_tests/../test/common/distributed_helper.erl"},
       {line,143}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1799}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_server.erl"},{line,1396}]},
    {test_server,run_test_case_eval,9,
      [{file,"test_server.erl"},{line,1240}]}]}...

Report log


pgsql_mnesia_latest / pgsql_mnesia / 1d573ef
Status: 🟢 Passed
Reports root/ big
OK: 5612 / Failed: 0 / User-skipped: 344 / Auto-skipped: 0

@codecov

codecov Bot commented Jul 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 73.91304% with 12 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.16%. Comparing base (e24bfee) to head (1d573ef).
⚠️ Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
src/muc_light/mod_muc_light.erl 0.00% 9 Missing ⚠️
src/muc_light/mod_muc_light_room_config.erl 75.00% 2 Missing ⚠️
src/muc_light/mod_muc_light_room.erl 94.11% 1 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (e24bfee) and HEAD (1d573ef). Click for more details.

HEAD has 13 uploads less than BASE
Flag BASE (e24bfee) HEAD (1d573ef)
14 1
Additional details and impacted files
@@             Coverage Diff             @@
##           master    #4749       +/-   ##
===========================================
- Coverage   86.91%   75.16%   -11.76%     
===========================================
  Files         554      554               
  Lines       33497    33484       -13     
===========================================
- Hits        29115    25168     -3947     
- Misses       4382     8316     +3934     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kamilwaz
kamilwaz marked this pull request as ready for review July 23, 2026 05:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants