Package-level declarations

Types

Link copied to clipboard
internal class ComposerSending(messages: Lazy<MessageScope>, syncStateObserver: SyncStateObserver, cells: Lazy<CellsScope>, conversations: ConversationRepository) : ShareOutboxSending

Stores handed-off items with the composer's use cases. A stored message is the app's, sent or not.

Functions

Link copied to clipboard
suspend fun UserSessionScope.serveShareExtension(doorbell: Flow<Unit>, refused: suspend (ConversationId, conversationName: String?, reason: String) -> Unit)

Answers the share extension while the app owns this account, live or not (ADR 13). It lists the account's conversations when the extension asks, and stores handed-off shares as the composer would: now, and whenever doorbell rings. Runs until cancelled, which must happen before the app releases the account. Servers of one account take turns. A share it refuses after the extension stopped waiting goes to refused, for the app to tell the user.