Converse.js: Hide participant list in "embedded" mode on mobile devices

Created on 16 Jan 2019  路  7Comments  路  Source: conversejs/converse.js

It would be great to have "embedded" mode work both on mobile and on desktop devices. One of the last missing pieces is that the participant list of a MUC is always shown by default. It would be awesome to have it hidden on mobile devices and only show on the desktop / in landscape mode by default.

Edit: I don't want to disable it by CSS because it should be still available and work normally when the user decides to toggle it.

mobile

Most helpful comment

@licaon-kter, I don't think your issue here is related to the display of the participant list itself, it's probably that converse gets swamped processing presences for 5k participants. That should probably be a separate issue.

All 7 comments

I was going to report a similar issue. I would argue the participant list should be hidden by default on mobile at all, (not just in embedded mode).

I think the participant list should always be hidden by default. I use a plugin to ensure that and also provide a command to open and peek at who is in the groupchat without leaving the input text-area.

        if (command == "who")
        {
            view.toggleOccupants(null, false);
            view.scrollDown();
            return true;
        }

@licaon-kter, I don't think your issue here is related to the display of the participant list itself, it's probably that converse gets swamped processing presences for 5k participants. That should probably be a separate issue.

If it helps anyone, I worked around it locally by emulating a click on the "hide participant list plugin":

  converse.initialize({
    ...
  }).then(() => {
    var toggleButton = document.getElementsByClassName("toggle-occupants fa-angle-double-right")[0];
    if (toggleButton) {
      toggleButton.click();
    }
  });

In Converse 5.x, the class name is toggle-occupants float-right fa fa-angle-double-right but it seems not to work for me. Maybe this code needs to be called after the nickname is entered and the join completes?

@ge0rg, it also works intermittently for me. It used to work reliably, not sure what's going on.

Was this page helpful?
0 / 5 - 0 ratings