Fixes two critical bugs: 1. Unread badge not clearing when opening chat - incoming messages weren't marked as viewed 2. Only last 2-3 messages loaded instead of full history due to incorrect break condition Changes: - Add incoming message IDs to pending_view_messages queue on chat open - Remove premature break in get_chat_history() that stopped after 2 messages - Add FakeTdClient.pending_view_messages field for testing - Implement process_pending_view_messages() in FakeTdClient Tests added: - test_incoming_message_shows_unread_badge: verify "(1)" appears for unread - test_opening_chat_clears_unread_badge: verify badge clears after opening - test_opening_chat_loads_many_messages: verify all 50 messages load, not just last few All 28 chat_list tests pass.
12 KiB
12 KiB