Merge branch 'dev' of https://dev.dscrs.site/discours.io/core into dev
This commit is contained in:
65
CHANGELOG.md
65
CHANGELOG.md
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
## [0.9.29] - 2025-10-08
|
||||
## [0.9.32] - 2025-10-08
|
||||
|
||||
### 🎯 Search Quality Upgrade: ColBERT + Native MUVERA + FAISS
|
||||
|
||||
@@ -68,6 +68,69 @@ SEARCH_MODEL_TYPE=biencoder
|
||||
- pylate issue: https://github.com/lightonai/pylate/issues/142
|
||||
- Model: `answerdotai/answerai-colbert-small-v1`
|
||||
|
||||
## [0.9.32] - 2025-10-05
|
||||
|
||||
### ✨ Features
|
||||
- **Редактирование мигрированных шаутов**: Добавлена мутация `create_draft_from_shout` для создания черновика из существующего опубликованного шаута
|
||||
- Создаёт черновик со всеми данными из шаута (title, body, lead, topics, authors, media, etc.)
|
||||
- Проверяет авторство перед созданием черновика
|
||||
- Переиспользует существующий черновик если он уже создан для этого шаута
|
||||
- Копирует все связи: авторов и темы (включая main topic)
|
||||
|
||||
### 🔧 Fixed
|
||||
- **NotificationEntity enum**: Исправлена ошибка `NotificationEntity.FOLLOWER` → `NotificationEntity.AUTHOR`
|
||||
- В enum не было значения `FOLLOWER`, используется `AUTHOR` для уведомлений о подписчиках
|
||||
|
||||
### Technical Details
|
||||
- `core/schema/mutation.graphql`: добавлена мутация `create_draft_from_shout(shout_id: Int!): CommonResult!`
|
||||
- `core/resolvers/draft.py`: добавлен resolver `create_draft_from_shout` с валидацией авторства
|
||||
- `core/resolvers/notifier.py`: исправлено использование `NotificationEntity.AUTHOR` вместо несуществующего `FOLLOWER`
|
||||
|
||||
## [0.9.31] - 2025-10-04
|
||||
|
||||
### ✅ Fixed: Notifications TODOs
|
||||
- **Уведомления о followers**: Добавлена обработка уведомлений о подписчиках в `notifications_seen_thread`
|
||||
- Теперь при клике на группу "followers" все уведомления о подписках помечаются как прочитанные
|
||||
- Исправлена обработка thread ID `"followers"` отдельно от shout/reaction threads
|
||||
- **Уведомления о новых публикациях**: Добавлена обработка уведомлений о новых shouts в `notifications_seen_thread`
|
||||
- При открытии публикации уведомления о ней тоже помечаются как прочитанные
|
||||
- Исправлена логика парсинга thread ID для поддержки разных форматов
|
||||
- **Code Quality**: Использованы enum константы (`NotificationAction`, `NotificationEntity`) вместо строк
|
||||
- **Убраны устаревшие TODO**: Удален TODO про `notification_id` как offset (текущая логика с timestamp работает корректно)
|
||||
|
||||
### Technical Details
|
||||
- `core/resolvers/notifier.py`: расширена функция `notifications_seen_thread` для поддержки всех типов уведомлений
|
||||
- Добавлена обработка `thread == "followers"` для уведомлений о подписках
|
||||
- Добавлена обработка `NotificationEntity.SHOUT` для уведомлений о новых публикациях
|
||||
- Улучшена обработка ошибок с `logger.warning()` вместо исключений
|
||||
|
||||
## [0.9.30] - 2025-10-02
|
||||
|
||||
### 🔧 Fixed
|
||||
- **Ревалидация кеша featured материалов**: Критическое исправление инвалидации кеша при изменении featured статуса
|
||||
- Добавлены ключи кеша для featured материалов в `invalidate_shout_related_cache`
|
||||
- Исправлена функция `set_featured`: добавлена инвалидация кеша лент
|
||||
- Исправлена функция `set_unfeatured`: добавлена инвалидация кеша лент
|
||||
- Теперь материалы корректно появляются/исчезают с главной страницы при фичеринге/расфичеринге
|
||||
- Улучшена производительность через асинхронную инвалидацию кеша
|
||||
|
||||
### ✅ Code Quality
|
||||
- **Python Standards Compliance**: Код соответствует стандартам 003-python-standards.mdc
|
||||
- Пройдены проверки Ruff (linting & formatting)
|
||||
- Пройдены проверки MyPy (type checking)
|
||||
- Все функции имеют типы и докстринги
|
||||
- Тесты проходят успешно
|
||||
|
||||
## [0.9.29] - 2025-10-01
|
||||
|
||||
### 🔧 Fixed
|
||||
- **Фичерение публикаций**: Исправлена логика автоматического фичерения/расфичерения
|
||||
- Теперь учитываются все положительные реакции (LIKE, ACCEPT, PROOF), а не только LIKE
|
||||
- Исправлен подсчет реакций в `check_to_unfeature`: используется POSITIVE + NEGATIVE вместо только RATING_REACTIONS
|
||||
- Добавлена явная проверка `reply_to.is_(None)` для исключения комментариев
|
||||
- **Ревалидация кеша**: Добавлена ревалидация кеша публикаций, авторов и тем при изменении `featured_at`
|
||||
- Улучшено логирование для отладки процесса фичерения
|
||||
|
||||
## [0.9.28] - 2025-09-28
|
||||
|
||||
### 🍪 CRITICAL Cross-Origin Auth
|
||||
|
||||
Reference in New Issue
Block a user