fixes
This commit is contained in:
20
src/main.rs
20
src/main.rs
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user