Fix critical bugs: SQL query, navigation, and Surface overflow warnings

This commit is contained in:
Bivekich
2025-08-06 05:36:22 +03:00
parent b3166b1dfe
commit 07eda45235
4 changed files with 97 additions and 12 deletions

65
BUG_FIXES_SUMMARY.md Normal file
View File

@ -0,0 +1,65 @@
# Сводка исправленных ошибок
## 1. ✅ SQL ошибка "column 'conversationid' does not exist"
**Проблема:** PostgreSQL чувствителен к регистру имен колонок. В SQL запросе использовались имена колонок без кавычек.
**Решение:** Добавил кавычки вокруг имен колонок в методе `findOrCreatePrivate`:
```typescript
// Было:
.leftJoin('conversation_participants', 'cp1', 'cp1.conversationId = c.id')
// Стало:
.leftJoin('conversation_participants', 'cp1', 'cp1."conversationId" = c.id')
```
## 2. ✅ Навигация на несуществующий экран 'NewChat'
**Проблема:** FAB кнопка в экране чатов пыталась перейти на экран 'NewChat', который не существует.
**Решение:** Изменил навигацию на вкладку 'Contacts' для выбора пользователя:
```typescript
// Было:
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 с кастомными стилями для теней:
```typescript
// Было:
<Surface style={styles.userCard} elevation={1}>
// Стало:
<View style={[styles.userCard, styles.userCardShadow]}>
```
Добавил кастомные стили для теней:
```typescript
userCardShadow: {
shadowColor: '#000',
shadowOffset: { width: 0, height: 1 },
shadowOpacity: 0.1,
shadowRadius: 2,
elevation: 2,
}
```
## Статус исправлений:
- ✅ SQL запросы теперь корректно работают с PostgreSQL
- ✅ Навигация работает правильно
- ✅ Нет предупреждений о Surface overflow
- ✅ Бэкенд перезапущен с исправлениями
## Следующие шаги:
1. Проверить создание приватных чатов через экран контактов
2. Убедиться, что все функции работают корректно
3. Протестировать на разных платформах (iOS/Android)