igor_nadein bc20d7e61e fix: Исправлена система автоотметки прочитанных сообщений
- Удалено поле last_read_at из ChatReadState, используется только last_read_message FK
- Исправлена логика автоотметки: отмечается последнее ЗАГРУЖЕННОЕ сообщение, а не последнее в чате
- Убран вызов chat.mark_read() при WebSocket open_chat (отмечал последнее в чате вместо загруженного)
- Добавлен signal для мониторинга изменений ChatReadState
- Исправлена логика скролла: убран автоскролл при дозагрузке вниз
- Добавлена проверка разрывов при WebSocket сообщениях (предотвращает пропуск сообщений)
- Реализована автоотметка WebSocket сообщений (только если пользователь внизу)
- Асимметричная загрузка: 24 контекста + 6 новых сообщений
- Добавлен ScrollableMessageList компонент для корректной работы скролла
- Миграции: 0028 (удаление last_read_at), 0029 (индекс на last_read_message)
2026-02-25 20:29:00 +03:00
..

Руководства разработчика

Активные гайды и инструкции для работы с проектом.

📚 Доступные руководства

Валидация и формы

  • LIVE_VALIDATION_GUIDE.md - живая валидация форм
  • NAME_VALIDATION.md - валидация имен

Миграция и обновление

  • REALTIME_MIGRATION_GUIDE.md - миграция на realtime
  • WEBSOCKET_UNIFIED_MIGRATION.md - унифицированный WebSocket

Быстрый старт

  • MESSENGER_QUICKSTART.md - быстрый старт с мессенджером

UX и интерфейс

  • RECIPIENT_PICKER_UX_IMPROVEMENTS.md - улучшения выбора получателей

Кэширование и оптимизация

  • CACHE_OPTIMIZATION_SUMMARY.md - оптимизация кэширования
  • CACHING_SETUP.md - настройка кэша

Безопасность

  • IP_RESTRICTIONS_README.md - IP ограничения
  • IP_REGISTRATION_RESTRICTIONS.md - ограничения регистрации

🎯 Использование

Эти гайды содержат актуальные инструкции для разработчиков. При внесении изменений в функционал - обновляйте соответствующие гайды.