status-im / status-desktop

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

Community permissions - member who holds required token is unable to access token restricted channel #15966

Open virginiabalducci opened 1 month ago

virginiabalducci commented 1 month ago

Bug Report

Description

Steps to reproduce

  1. Have a community with two channels that have these permissions: Hidden channel: to see channel member needs to hold 2 tokens. view-only channel: view-only for members not holding 1 token, if member holds 1 token they can view and post.
  2. send 2 tokens to a member

Expected behavior

Member to be able to see and access both channels with permissions for 1 and 2 tokens.

Actual behavior

Member is unable to see these token-restricted channels even though they meet with the requirements by holding 2 tokens.

Channel permission for "siesta-time" channel Screenshot 2024-08-01 at 6 43 11 PM Channel permission for "view-only" channel Screenshot 2024-08-01 at 6 46 04 PM

Member shared addresses show they should see channels, for example in this case "view-only" (not hidden, 1 token) and "siesta-time" (hidden, 2 tokens required) Screenshot 2024-08-01 at 6 42 48 PM Screenshot 2024-08-01 at 6 44 26 PM

User has the tokens in their wallet 0x8d22ab5b77f532674362d6fdd5d91f2995069918 Screenshot 2024-08-01 at 6 47 12 PM

Additional Information

This issue was encountered while verifying the fix of issue 15122 on 2.30 rc-4 Tested on 2 different accounts.

geth.log.zip

Let me know if you need any other information. Feel free to contact me on discord and I'll be happy to help troubleshoot.

jrainville commented 1 month ago

I think the issue is that the member re-evaluation was not run yet.

Maybe this issue should be more a UX fix where if we detect that we hold the right tokens, but are not part of the member list yet, we should show another screen (similar to the one that @osmaczko did for the missing encryption keys).

I'll move it to 2.31

osmaczko commented 3 weeks ago

@virginiabalducci, can you please confirm if the member was eventually added?

image In this case it should say "Channel requirements met".

virginiabalducci commented 3 weeks ago

Hi @osmaczko

After many attempts I was able to get this user to see the channels restricted by tokens. I had to remote destruct the tokens, send new ones, share and un-share addresses. Sign out and sign in again with both the Owner (control node) and the user with the channel restricted tokens.

Screenshot 2024-08-20 at 8 16 19 PM

Not sure what happened with this user, but now it is fixed. I did this test with 2 other users who had no issues in accessing token restricted channels, given that these users had such tokens.

I think that if user holds the required tokens, they can directly access the channel. The message of "Channel requirements met" should not be seen, instead the user gets access to the channel. Which is the case of the screenshot attached.