Module app

Module app 

Source
Expand description

Application state and data structures.

This module contains the core data structures for managing the application state, including user data, messages, message history, UI state, and connection status.

§Key Types

  • App - Main application state
  • ConversationView - Per-peer message history with lazy loading
  • Tab - UI tab navigation
  • User - User information
  • Message - Chat message data
  • Secret - Secure string wrapper with automatic zeroization

§Message History

The module implements efficient message history management through ConversationView, which uses a VecDeque for O(1) prepending when loading older messages. This enables infinite scrolling with lazy loading from the persistent SQLite storage.

Structs§

AdminForm
Form state for Admin actions.
App
Main application state.
Certificate
Certificate information for a user.
ConversationView
Manages a conversation with message history.
DetailedUser
Detailed user information from admin user list.
EngineStatus
Engine status information from cryptic_engine.
Message
Represents a chat message.
Secret
Secure string wrapper with automatic memory zeroization.
SessionDetail
Details about a specific Double Ratchet session.
SystemMessage
A system message with display timing information.
User
Represents a user in the messaging system.
UserMetadata
Optional metadata for a user. Contains arbitrary key-value pairs like team, name, note, etc.

Enums§

AdminField
Identifies active admin form field.
AdminMode
Admin view mode
AppScreen
Application screen state.
Tab
UI tab navigation.