fixes
This commit is contained in:
69
src/constants.rs
Normal file
69
src/constants.rs
Normal file
@@ -0,0 +1,69 @@
|
||||
// Application constants
|
||||
|
||||
// ============================================================================
|
||||
// Memory Limits
|
||||
// ============================================================================
|
||||
|
||||
/// Максимальное количество сообщений в одном чате (для оптимизации памяти)
|
||||
pub const MAX_MESSAGES_IN_CHAT: usize = 500;
|
||||
|
||||
/// Максимальный размер кэша пользователей (LRU)
|
||||
pub const MAX_USER_CACHE_SIZE: usize = 500;
|
||||
|
||||
/// Максимальное количество чатов для загрузки
|
||||
pub const MAX_CHATS: usize = 200;
|
||||
|
||||
/// Максимальное количество user_ids для хранения в чате
|
||||
pub const MAX_CHAT_USER_IDS: usize = 500;
|
||||
|
||||
// ============================================================================
|
||||
// UI Constants
|
||||
// ============================================================================
|
||||
|
||||
/// Количество колонок в emoji picker сетке
|
||||
pub const EMOJI_PICKER_COLUMNS: usize = 8;
|
||||
|
||||
/// Количество рядов в emoji picker сетке
|
||||
pub const EMOJI_PICKER_ROWS: usize = 6;
|
||||
|
||||
/// Максимальная высота поля ввода (в строках)
|
||||
pub const MAX_INPUT_HEIGHT: usize = 10;
|
||||
|
||||
/// Минимальная ширина терминала для корректного отображения
|
||||
pub const MIN_TERMINAL_WIDTH: u16 = 80;
|
||||
|
||||
/// Минимальная высота терминала для корректного отображения
|
||||
pub const MIN_TERMINAL_HEIGHT: u16 = 20;
|
||||
|
||||
// ============================================================================
|
||||
// Performance
|
||||
// ============================================================================
|
||||
|
||||
/// Таймаут poll для event loop (16ms = 60 FPS)
|
||||
pub const POLL_TIMEOUT_MS: u64 = 16;
|
||||
|
||||
/// Таймаут ожидания graceful shutdown (в секундах)
|
||||
pub const SHUTDOWN_TIMEOUT_SECS: u64 = 2;
|
||||
|
||||
/// Количество пользователей для ленивой загрузки за один тик
|
||||
pub const LAZY_LOAD_USERS_PER_TICK: usize = 5;
|
||||
|
||||
// ============================================================================
|
||||
// TDLib
|
||||
// ============================================================================
|
||||
|
||||
/// Лимит количества чатов для загрузки через TDLib за раз
|
||||
pub const TDLIB_CHAT_LIMIT: i32 = 50;
|
||||
|
||||
/// Лимит количества сообщений для загрузки через TDLib за раз
|
||||
pub const TDLIB_MESSAGE_LIMIT: i32 = 50;
|
||||
|
||||
// ============================================================================
|
||||
// Formatting
|
||||
// ============================================================================
|
||||
|
||||
/// Максимальная длина имени пользователя для отображения
|
||||
pub const MAX_USERNAME_DISPLAY_LENGTH: usize = 20;
|
||||
|
||||
/// Отступ для wrap текста сообщений
|
||||
pub const MESSAGE_TEXT_INDENT: usize = 2;
|
||||
Reference in New Issue
Block a user