unfollow-fix
This commit is contained in:
16
CHANGELOG.md
16
CHANGELOG.md
@@ -7,6 +7,13 @@
|
||||
- Интеграция с функцией `get_with_stat` для единого подхода к получению статистики
|
||||
|
||||
### Исправлено
|
||||
- **КРИТИЧНО**: Ошибка в функции `unfollow` с некорректным состоянием UI:
|
||||
- **Проблема**: При попытке отписки от несуществующей подписки сервер возвращал ошибку "following was not found" с пустым списком подписок `[]`, что приводило к тому, что клиент не обновлял UI состояние из-за условия `if (result && !result.error)`
|
||||
- **Решение**:
|
||||
- Функция `unfollow` теперь всегда возвращает актуальный список подписок из кэша/БД, даже если подписка не найдена
|
||||
- Добавлена инвалидация кэша подписок после операций follow/unfollow: `author:follows-{entity_type}s:{follower_id}`
|
||||
- Улучшено логирование для отладки операций подписок
|
||||
- **Результат**: UI корректно отображает реальное состояние подписок пользователя
|
||||
- Ошибка "'dict' object has no attribute 'id'" в функции `load_shouts_search`:
|
||||
- Исправлен доступ к атрибуту `id` у объектов shout, которые возвращаются как словари из `get_shouts_with_links`
|
||||
- Заменен `shout.id` на `shout["id"]` и `shout.score` на `shout["score"]` в функции поиска публикаций
|
||||
@@ -26,6 +33,15 @@
|
||||
- Улучшена документация функции с описанием обработки результатов запроса
|
||||
- Оптимизирована сортировка и группировка результатов для корректной работы с joined eager loads
|
||||
|
||||
### Улучшено
|
||||
- Система кэширования подписок:
|
||||
- Добавлена автоматическая инвалидация кэша после операций follow/unfollow
|
||||
- Унифицирована обработка ошибок в мутациях подписок
|
||||
- Добавлен тестовый скрипт `test_unfollow_fix.py` для проверки исправлений
|
||||
- Документация системы подписок:
|
||||
- Обновлен `docs/follower.md` с подробным описанием исправлений
|
||||
- Добавлены примеры кода и диаграммы потока данных
|
||||
|
||||
#### [0.4.23] - 2025-05-25
|
||||
|
||||
### Исправлено
|
||||
|
Reference in New Issue
Block a user