3.0 KiB
3.0 KiB
Сводка исправленных ошибок
1. ✅ SQL ошибка "column 'conversationid' does not exist"
Проблема: PostgreSQL чувствителен к регистру имен колонок. В SQL запросе использовались имена колонок без кавычек.
Решение: Добавил кавычки вокруг имен колонок в методе findOrCreatePrivate
:
// Было:
.leftJoin('conversation_participants', 'cp1', 'cp1.conversationId = c.id')
// Стало:
.leftJoin('conversation_participants', 'cp1', 'cp1."conversationId" = c.id')
2. ✅ Навигация на несуществующий экран 'NewChat'
Проблема: FAB кнопка в экране чатов пыталась перейти на экран 'NewChat', который не существует.
Решение: Изменил навигацию на вкладку 'Contacts' для выбора пользователя:
// Было:
onPress={() => navigation.navigate('NewChat')}
// Стало:
onPress={() => navigation.navigate('Contacts')}
3. ✅ Проблема с подключением к API на iOS
Проблема: Фронтенд показывал ошибки "Network request failed".
Решение: Конфигурация API URL уже была правильной:
- Для iOS симулятора:
http://localhost:3000/graphql
- Для Android эмулятора:
http://10.0.2.2:3000/graphql
Проблема была связана с SQL ошибкой на бэкенде, которая теперь исправлена.
4. ✅ Предупреждения Surface overflow
Проблема: React Native Paper Surface компонент выдавал предупреждения при использовании overflow: hidden.
Решение: Заменил Surface на View с кастомными стилями для теней:
// Было:
<Surface style={styles.userCard} elevation={1}>
// Стало:
<View style={[styles.userCard, styles.userCardShadow]}>
Добавил кастомные стили для теней:
userCardShadow: {
shadowColor: '#000',
shadowOffset: { width: 0, height: 1 },
shadowOpacity: 0.1,
shadowRadius: 2,
elevation: 2,
}
Статус исправлений:
- ✅ SQL запросы теперь корректно работают с PostgreSQL
- ✅ Навигация работает правильно
- ✅ Нет предупреждений о Surface overflow
- ✅ Бэкенд перезапущен с исправлениями
Следующие шаги:
- Проверить создание приватных чатов через экран контактов
- Убедиться, что все функции работают корректно
- Протестировать на разных платформах (iOS/Android)