refactor: clean up dead code and optimize performance

Major changes:
- Remove unused field `selecting_chat` from ChatState::Forward
- Remove unused field `start_offset` from WrappedLine in messages.rs
- Delete unused functions from modal_handler.rs (ModalAction enum, handle_modal_key, should_close_modal, should_confirm_modal)
- Delete unused functions from validation.rs (is_within_length, is_valid_chat_id, is_valid_message_id, is_valid_user_id, has_items, validate_text_input)
- Remove unused methods from Keybindings (from_event, matches, get_bindings, add_binding, remove_command)
- Delete unused input handlers (chat_list.rs, messages.rs, modal.rs, search.rs)
- Remove unused imports across multiple files

Performance optimizations:
- Fix slow chat opening: load only last 100 messages instead of i32::MAX (10-100x faster)
- Reduce timeout from 30s to 10s for initial message load
- Fix slow text input: replace O(n) string rebuilding with O(1) String::insert()/remove() operations
- Optimize Backspace, Delete, and Char input handlers

Bug fixes:
- Remove duplicate ChatSortOrder tests after enum deletion
- Fix test compilation errors after removing unused methods
- Update tests to use get_command() instead of removed matches() method

Code cleanup:
- Remove ~400 lines of dead code
- Remove 12 unused tests
- Clean up imports in config/mod.rs, main_input.rs, tdlib/messages.rs

Test status: 565 tests passing
Warnings reduced from 40+ to 9

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Mikhail Kilin
2026-02-04 22:27:02 +03:00
parent bd5e5be618
commit 1cc61ea026
20 changed files with 284 additions and 729 deletions

View File

@@ -1,26 +1,14 @@
//! Input handlers organized by screen/mode
//! Input handlers organized by functionality
//!
//! This module contains handlers for different input contexts:
//! - global: Global commands (Ctrl+R, Ctrl+S, etc.)
//! - profile: Profile mode input
//! - search: Search modes (chat search, message search)
//! - modal: Modal modes (pinned, reactions, delete, forward)
//! - messages: Message input when chat is open
//! - chat_list: Chat list navigation
//! - clipboard: Clipboard operations
//! - profile: Profile helper functions
pub mod chat_list;
pub mod clipboard;
pub mod global;
pub mod messages;
pub mod modal;
pub mod profile;
pub mod search;
// pub use chat_list::*; // Пока не используется
pub use clipboard::*;
pub use global::*;
// pub use messages::*; // Пока не используется
// pub use modal::*; // Пока не используется
pub use profile::get_available_actions_count; // Используется в main_input
// pub use search::*; // Пока не используется
pub use profile::get_available_actions_count;