This commit is contained in:
Mikhail Kilin
2026-01-24 02:22:47 +03:00
parent c18f43664e
commit 22c4e17377
9 changed files with 1199 additions and 226 deletions

View File

@@ -129,26 +129,6 @@ async fn run_app<B: ratatui::backend::Backend>(
app.td_client.process_pending_user_ids().await;
}
// Синхронизируем сообщения из td_client в app (для новых сообщений в реальном времени)
if app.selected_chat_id.is_some() && !app.td_client.current_chat_messages.is_empty() {
let prev_messages_len = app.current_messages.len();
// Синхронизируем все сообщения (включая обновлённые имена и is_read)
for td_msg in &app.td_client.current_chat_messages {
if let Some(app_msg) = app.current_messages.iter_mut().find(|m| m.id == td_msg.id) {
// Обновляем существующее сообщение
app_msg.sender_name = td_msg.sender_name.clone();
app_msg.is_read = td_msg.is_read;
} else {
// Добавляем новое сообщение
app.current_messages.push(td_msg.clone());
}
}
// Если добавились новые сообщения - нужна перерисовка
if app.current_messages.len() != prev_messages_len {
app.needs_redraw = true;
}
}
// Обновляем состояние экрана на основе auth_state
let screen_changed = update_screen_state(app).await;
if screen_changed {