-
Couldn't load subscription status.
- Fork 12
Description
PR with details about events: nostr-protocol/nips#1079
The current "memberships" stuff all has to do with relays and groups that the user has bookmarked. This should determine which spaces/rooms show up in navigation, but we'll also need to request and read access from the relay itself, on both relay and room levels.
To that end, we'll want to determine relay membership using kind 8000, 8001, and 13534 events, as well as a room membership using kind 9000, 9001 and 39002 events.
For each, we'll want to prefer the replaceable lists if available, falling back to the event sourced ones, and finally to user bookmarks. The purpose of these lists is just to 1. determine if the current user has access to post in a given space/room, and 2. display member lists. If in doubt, allow the user to post, showing an error if the event is rejected (like we currently do).
In terms of implementation:
- Fetch relay membership list when the user opens the space menu. Show loading on the "show members" menu item until loaded, as well as in the member list dialog.
- Show NIP 29 9000/9001 events as "x joined" in chat. Show 8000 and 8001 in the relay-level chat the same way (i.e., if nip 29 isn't enabled).
- Add event generation to zooid
- Validate that signatures match self