Communities
Enabling communities
Key source files
- ui/app/AppLayouts/Profile/Sections/AdvancedContainer.qml
- ui/app/AppMain.qml
- ui/app/AppLayouts/Chat/ContactsColumn/AddChat.qml
General
Joining a community
join community popup
- ui/app/AppLayouts/Chat/ContactsColumn/AddChat.qml
- ui/app/AppLayouts/Chat/ContactsColumn.qml
- ui/app/AppLayouts/Chat/CommunityComponents/CommunitiesPopup.qml
listing communities
- ui/app/AppLayouts/Chat/CommunityComponents/CommunitiesPopup.qml
- src/app/chat/view.nim
- src/app/chat/views/community_list.nim
- src/app/chat/views/communities.nim
- `src/status/chat.nim#
- src/status/libstatus/chat.nim
selecting a community
- ui/app/AppLayouts/Chat/CommunityComponents/CommunitiesPopup.qml
- src/app/chat/view.nim
- src/app/chat/views/communities.nim
- src/app/chat/views/community_item.nim
joining a community
- ui/app/AppLayouts/Chat/ContactsColumn.qml
- ui/app/AppLayouts/Chat/CommunityComponents/CommunityDetailPopup.qml
- src/app/chat/views/communities.nim
- src/status/chat.nim
- src/status/libstatus/chat.nim
Creating a community
- ui/app/AppLayouts/Chat/CommunityComponents/CommunitiesPopup.qml
- ui/app/AppLayouts/Chat/ContactsColumn.qml
- ui/app/AppLayouts/Chat/CommunityComponents/CreateCommunityPopup.qml
- src/app/chat/views/communities.nim
- src/status/chat.nim
- src/status/libstatus/chat.nim
uploading a thumbnail image
// TODO: describe choosing file dialog, cropping image, uploading image
setting community color
setting membership requirement
- ui/app/AppLayouts/Chat/CommunityComponents/CreateCommunityPopup.qml
- ui/app/AppLayouts/Chat/CommunityComponents/MembershipRequirementPopup.qml
Leaving a community
- ui/app/AppLayouts/Chat/CommunityComponents/CommunityList.qml
- src/app/chat/views/communities.nim
- src/status/chat.nim
- src/status/libstatus/chat.nim
Manage Community
Creating Channels
Categories
Channels within a community might be organized in categories. Only the community admin might create/edit/delete a category. Creating a channel in a category works by calling wakuext_reorderCommunityChat after the chat is created, then the Chat is immediatly assigned a categoryId.
Creating Categories
Key source files
- src/app/chat/views/category_list.nim
- src/app/chat/views/communities.nim
- src/app/chat/views/community_item
- src/app/chat/views/community_list.nim
- src/status/chat.nim
- src/status/libstatus/chat.nim
- src/status/signals/messages.nim
- ui/app/AppLayouts/Chat/CommunityComponents/CategoryList.qml
- ui/app/AppLayouts/Chat/CommunityComponents/CreateCategoryPopup.qml
- ui/app/AppLayouts/Chat/CommunityColumn.qml
PR
- status-desktop: feat: create community categories #2564
- status-go: Community categories #2228
Notes
An admin can create a category and add channels to it as long as those categories have not been assigned before (categoryId == "").
Editing Categories
Key source files
- src/app/chat/views/communities.nim
- src/app/chat/views/community_item.nim
- src/status/chat.nim
- src/status/libstatus/chat.nim
- ui/app/AppLayouts/Chat/CommunityComponents/CategoryList.qml
- ui/app/AppLayouts/Chat/CommunityComponents/CreateCategoryPopup.qml
PR
- status-desktop: feat: edit community categories #2569
- status-go: Community categories #2228
Notes
Editing categories reuses the same modal popup used to create categories, the difference being that it’s prefilled with information from the selected category, and has the isEdit attribute set to true, which determines the UI behavior for editing the category as well as knowing the right slot to call.
Delete Categories
Key source files
- src/app/chat/views/community_item.nim
- src/app/chat/views/community_list.nim
- src/status/chat.nim
- src/status/libstatus/chat.nim
- ui/app/AppLayouts/Chat/CommunityComponents/CategoryList.qml
- ui/app/AppLayouts/Chat/CommunityComponents/CreateCategoryPopup.qml
PR
- status-desktop: feat: edit community categories #2569
- status-go: Community categories #2228
Notes
Deleting a category will remove the categoryId from any chat assigned to the category being deleted.