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-conversation
get-unqualified-conversation-legalhold-alias
get-conversation@v2
get-conversation
get-mls-self-conversation
For type ConversationList Conversation
get-conversations
For type ConversationsResponse
:
list-conversations@v1
list-conversations@v2
list-conversations
For type ConversationResponse
:
create-group-conversation@v2
create-group-conversation@v3
create-one-to-one-conversation@v2
create-one-to-one-conversation
For type CreateGroupConversationResponse
:
create-group-conversation
create-self-conversation@v2
create-self-conversation@v2
create-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-unqualified
add-members-to-conversation-unqualified2
add-members-to-conversation
join-conversation-by-id-unqualified
join-conversation-by-code-unqualified
create-conversation-code-unqualified
remove-code-unqualified
remove-member-unqualified
update-conversation-name-deprecated
update-conversation-name-unqualified
update-conversation-name
update-conversation-message-timer-unqualified
update-conversation-message-timer
update-conversation-receipt-mode
update-conversation-access-unqualified
update-conversation-access@v2
update-conversation-access
In the MLSAPI
:
mls-commit-bundle
returns aMLSMessageSendingStatus
which contains list ofEvent
, as well a list of unreachable users.mls-message-v1
andmls-message
returns list ofEvent
The MessagingAPI
(Proetus) is not listed here, assuming that Proteus conversations won’t support large conversations.