#1300 [muc] rooms are hidden after restart/reload of muc module

Reporter David
Owner Nobody
Stars ★★ (2)
  • Type-Defect
  • Status-NeedInfo
  • Priority-Medium
  1. David on

    What steps will reproduce the problem? 1. Create a room that is public(listed) 2. Restart or reload muc 3. Use a xmpp client to list the rooms What is the expected output? The room should show up What do you see instead? it does not list the room What version of the product are you using? On what operating system? using 0.11.2 on ubuntu xenial. Please provide any additional information below. upgraded from 0.10 the rooms had been created on 0.10. I managed to mitigate this behavior by setting `muc_room_default_public` to true on the component. As far as i understood it should only affect new rooms and not "restored" rooms, but it seems to affect restored rooms. We use storage_internal. At runtime we could make the rooms visible by marking the as hidden and then marking them public again.

  2. Zash on

    Thanks for the report! muc_room_default_public defaults to false for privacy reasons, see https://hg.prosody.im/trunk/rev/7277797a4988 Rooms created before you changed this would have the then defaults recorded in their individual configurations. These settings only affect rooms at the moment of creation, not existing rooms. Please check the data in muchost/config/room.dat what it says for "hidden". If this matches the visibility in disco items then I don't see any issue.

    • tags Status-NeedInfo
  3. David on

    Thanks for you quick reply! The stored files don't contain any "hidden" section, they do however when i configure the room to be hidden. Once i make the room public the section is removed again. All rooms had been set to be public and when looking in '/config' with pidgin they showed as being publicly searchable. Deactivating that checkbox and re-enabling it helped to make the room visible again until one restarted prosody or reloaded the muc module. So from what i could see in the files "hidden" would either be true or nil but never false.

  4. Zash on

    What other configuration does the rooms have? And what MUC related settings are in the config file?

  5. David on

    The muc settings had only been: Component "HOSTNAME" "muc" I since have added some defaults to make the rooms show up again. the settings of one of the rooms(right now): return { ["jid"] = "webscale@HOSTNAME"; ["_data"] = { ["subject"] = "https://twitter.com/sadserver/status/1008844109895774208"; ["whois"] = "moderators"; ["subject_from"] = "webscale@Hostname/Anna"; ["persistent"] = true; ["history_length"] = 200; }; ["_affiliation_data"] = {}; ["_affiliations"] = { ["JID1@hostname"] = "owner"; ["jid2@hostname"] = "owner"; ["jid3@hostname"] = "owner"; ["jid4@hostname"] = "owner"; }; };

  6. Zash on

    > added some defaults And these are?

  7. Zash on

    > 1. Create a room that is public(listed) Is it persistent too? If not, it is likely lost on restart.

  8. David on

    muc_room_default_public = true muc_room_default_history_length = 200 muc_room_default_language = "en" The first one i have added specifically to make the rooms reappear. The last two are just sane defaults for our use case, that i added after verifying that `muc_room_default_public = true` made the rooms reappear. Yes, the room has been persistent. the room config i pasted above has not changed during the process (that is apart from me marking it at hidden once and then marking it public again, as described above)

  9. Zash on

    What is the content of `persistent.dat` under the MUCs directory?

  10. David on

    It has all our persistent rooms listed the room mentioned above is also present: return { ["rooma@hostname"] = true; ["webscale@hostname"] = true; ["roomc@hostname"] = true; };

  11. Zash on

    And the matching configurations have persistent = true and hidden = nil? Still unable to reproduce. Closest I got was by deleting persistent.dat, but it manages to recover from that.

  12. David on

    Yes, persistent is true and hidden is unset. That said, i can only see the room config files from after the update to 0.11 (from 0.10).

New comment

Not published. Used for spam prevention and optional update notifications.