status-im / status-desktop

Status Desktop client made in Nim & QML
https://status.app
Mozilla Public License 2.0
261 stars 76 forks source link

hideIfPermissionsNotMet flag is always false and hidden channels are visible #14608

Closed Parveshdhull closed 1 week ago

Parveshdhull commented 1 week ago

Bug Report

Description

While creating a channel I have selected Hide channel from members who don't have permission to view the channel. But hideIfPermissionsNotMet is always false. I created this channel in 2.28.1-rc.6 and checked these channels in mobile client and desktop. Also checked in 2.28.0

Steps to reproduce

Step 1: Create a channel with hideIfPermissionsNotMet true and add permission token Step 2: Open member account who have access/joined the same community but don't have required token for the channel view access Step 3: Channel is still visible

Expected behavior

Channel should not be visible

Actual behavior

Channel is visible

Additional Information

Parveshdhull commented 1 week ago

required for https://github.com/status-im/status-mobile/issues/19885

jrainville commented 1 week ago

We confirmed that the Status Community still works correctly on RC6 (the channel that should be hidden are indeed hidden).

Can you post screenshots of the settings and permissions and the resulting visible channel. It would be good to see if everything is setup correctly.

Parveshdhull commented 1 week ago

Thank you @jrainville for looking into this and your quick response. Here is the video with the steps.

https://github.com/status-im/status-desktop/assets/17097240/767d2da5-e7ab-45df-bf4b-a9595b942893

jrainville commented 1 week ago

Thanks for the video. It does seem like there is an issue.

We can see in the Owner screen that the channel's status does update correctly. The member list gets updated so that only the Owner is present in the list, filtering out the other members that do not have ETH.

However, on the member account, you can still see the channel. The member list is empty, so I wonder it's related to this issue: https://github.com/status-im/status-desktop/issues/14442

If you restart the app, does the channel finally get removed? And does the channel list stay empty? In theory, that's normal, because the member list is encrypted.

So either on first receiving the channel, the app doesn't compute the hideIfPermissionsNotMet property or there it's something completely broken. But then how does it work in the Status community :thinking:

Parveshdhull commented 1 week ago

so I wonder it's related to this issue: https://github.com/status-im/status-desktop/issues/14442

hi @jrainville, Even in mobile these community channels have hideIfPermissionsNotMet flag always false. So not sure if its related to members but more likely bug is happening while creating channel itself

But then how does it work in the Status community

Don't know, maybe status community are channels created before this bug.

Parveshdhull commented 1 week ago

If you restart the app, does the channel finally get removed?

No

And does the channel list stay empty?

Yes channel member list stays empty

jrainville commented 1 week ago

I can reproduce it seems. Something is weird indeed. It seems like old channels are hidden correctly, but newer ones aren't.

In this screenshot, the owner sees the two hidden channels, and the member on the right only sees one, even though he shouldn't see any of them. image

I see that the new hidden channel doesn't have the lock icon, so I think the issue is that we don't associate the permission correctly.

However, on further inspection, there is a bigger issue. Somehow, I have admin access, even though that account doesn't have a TokenMaster or Admin token. So something went very wrong in the evaluation of members. I know I have the "Pokt and Infura" down banner, so maybe it has something to do?

Anyway, we're gonna try to fix it for 2.29 as this seems like a very big issue.

edit: FYI, I am testing latest master, so maybe there is an additional problem

jrainville commented 1 week ago

Ah! I made a discovery! It seems like the issue only happens when the "Hide permission" check box is selected. I have no idea why that is the case, but it seems like it makes the issue appear.

"Hie Permission" ON -> Channel appears "Hide Permission" OFF -> Channel doesn't appear

Parveshdhull commented 6 days ago

@jrainville Thank you very for fixing the issue.

I am currently using a build (#11) from https://github.com/status-im/status-desktop/pull/14537, as this also includes your fix, but I am not able to add permission

https://github.com/status-im/status-desktop/assets/17097240/d3340da0-e3bf-4654-95ea-4e443574886b

jrainville commented 5 days ago

but I am not able to add permission

@Parveshdhull , that seems like a UI bug. It would be very kind of you to open it in an other issue.

If you want to create a permission in the meantime, I recommend using the Admin panels. Click on the community name at the top -> Permisisons -> Add