feat(3155): Add private channels with modifiable membership (no removals) to desktop#3177
feat(3155): Add private channels with modifiable membership (no removals) to desktop#3177islathehut wants to merge 70 commits intodevelopfrom
Conversation
…ining with peers)
…nit since we can start initialization via qss or libp2p events
| this.socketService.emit(SocketEvents.USERS_UPDATED, { users }) | ||
| this.emit('updated') | ||
| private handleChainUpdate = async () => { | ||
| this.emit(SigchainEvents.UPDATED) |
There was a problem hiding this comment.
I had to move the USERS_UPDATED logic out of the sigchain service and into the connection manager because I had to pull channel data to map role names to channel ids/names. To obfuscate membership and hide private channel names from non-members (and QSS) the role names are deterministically generated from channel IDs but aren't decodable without already knowing the channel ID itself. To determine channel membership we have to pull the private channels from the channel metadata DB and match the two. Since storage has the sigchain as a dependency I couldn't just pull it in as a dependency here so the logic had to be moved.
|
@islathehut I found a few superficial design issues on desktop and I think fixed them in this branch (off of your PR branch): https://github.com/TryQuiet/quiet/tree/fix/private-channel-icons There might be similar issues on mobile. Can you address them on mobile while you're finishing that? |
Pull Request Checklist
(Optional) Mobile checklist
Please ensure you completed the following checks if you did any changes to the mobile package: