Page MenuHomePhorge

[Web] Persistent chat settings should not be clickable or visible when the chat is minimized
Open, Needs TriagePublic

Description

Steps to reproduce:

  1. join a chat room
  2. go outside of conpherence
  3. click the chat icon on top left and check persistent chat
  4. open a chat which will pop up on the bottom right of the screen
  5. minimize the popup
  6. click to the left next to the up arrow icon
  7. you should see the context menu in the edge of the screen or when you bring it up
  8. minimizing with the context menu open shows up on the bottom

Related Objects

Mentioned In
Z1: Phorge

Event Timeline

Thanks I'm trying to reproduce. Can you please help me in understanding "click to the left next to the up arrow icon"? I probably don't get "click the left"

Thanks I'm trying to reproduce. Can you please help me in understanding "click to the left next to the up arrow icon"? I probably don't get "click the left"

there's a box with an arrow when the chat is collapsed
you're supposed to click the location where the cogwheel would be when it's open

Got it! Nice catch!

It seems the thing is defined here:

https://we.phorge.it/source/phorge/browse/master/src/applications/conpherence/view/ConpherenceDurableColumnView.php

I was not able to find anything client-side:

$ cd phorge/
$ grep -R --include="*.js" conpherence-settings .
< nothing >

Any idea about how to troubleshoot this client part would be useful. Help needed.

@valerio.bozzolan I found the js section where with the listener for open/close the persistent chat. From there I can get element somehow (by ID I don't think it would be good, because it seems to be auto-generated (UQ3_0)) and remove the class "core-menu-item" and the invisible gear icon will no longer be clickable. If the chat is not minimized, we add the class back so we can see it and click it.

Seems to be working fine from my side, the only thing is to find a way to better get the element. I manged to get the element like this:

document.querySelector('[data-sigil="conpherence-settings-menu"]');

and from my side it's still working.

May I create a diff with my possible solution?

I absolutely don't know what we are doing here since I don't know the supposed "Phabricator way" to interact with the DOM via JavaScript using its library.

BTW this is the known documentation:

we.phorge.it/book/javelin/article/sigils_metadata/

Feel free to propose a patch as stub to attract more eyes on this problem