Refactoring galley to support large conversations¶
To be able to suppport large conversations galley needs refactoring. This section in the developer docs is meant to contain useful references for this endeavor.
Call hierarchy¶
See large-conversations.yaml for call hierarchy of functions that load the full member list into memory.
Galley Endpoints¶
These are all the endpoints in galley with response types that contain the full member list of conversations.
In the ConversationAPI:
For type Conversation:
get-unqualified-conversationget-unqualified-conversation-legalhold-aliasget-conversation@v2get-conversationget-mls-self-conversation
For type ConversationList Conversation
get-conversations
For type ConversationsResponse:
list-conversations@v1list-conversations@v2list-conversations
For type ConversationResponse:
create-group-conversation@v2create-group-conversation@v3create-one-to-one-conversation@v2create-one-to-one-conversation
For type CreateGroupConversationResponse:
create-group-conversationcreate-self-conversation@v2create-self-conversation@v2create-self-conversation
For type Wire.API.Event.Conversation.Event (EventData might contain a Conversation object, but it’s not clear from API type alone if it contains one)
add-members-to-conversation-unqualifiedadd-members-to-conversation-unqualified2add-members-to-conversationjoin-conversation-by-id-unqualifiedjoin-conversation-by-code-unqualifiedcreate-conversation-code-unqualifiedremove-code-unqualifiedremove-member-unqualifiedupdate-conversation-name-deprecatedupdate-conversation-name-unqualifiedupdate-conversation-nameupdate-conversation-message-timer-unqualifiedupdate-conversation-message-timerupdate-conversation-receipt-modeupdate-conversation-access-unqualifiedupdate-conversation-access@v2update-conversation-access
In the MLSAPI:
mls-commit-bundlereturns aMLSMessageSendingStatuswhich contains list ofEvent, as well a list of unreachable users.mls-message-v1andmls-messagereturns list ofEvent
The MessagingAPI (Proetus) is not listed here, assuming that Proteus conversations won’t support large conversations.