privateMessages (ViewModels/ChatTransportEventCoordinator.swift)

bitchat · bitchat/ViewModels/ChatTransportEventCoordinator.swift · swift · Unlicense
chat, realtime

Module exposing: privateMessages, appendPrivateMessage, removePrivateChat, markPrivateChatUnread, markPrivateChatRead, unmarkReadReceiptsSent, notifyUIChanged, isMessageBlocked

// Source: https://github.com/permissionlesstech/bitchat | License: Unlicense
// Provided via justclaw.it.com; keep this notice with the code.
import BitFoundation
import BitLogger
import Foundation

/// The narrow surface `ChatTransportEventCoordinator` needs from its owner.
///
/// Follows the `ChatDeliveryContext` exemplar: the coordinator depends on the
/// minimal context it actually uses instead of holding an `unowned` back-ref
/// to the whole `ChatViewModel`. This keeps the coordinator independently
/// testable (see `ChatTransportEventCoordinatorContextTests`) and makes its
/// true dependencies explicit.
@MainActor
protocol ChatTransportEventContext: AnyObject {
    // MARK: Connection & chat state
    var isConnected: Bool { get set }
    var nickname: String { get }
    var myP

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key