Commit Graph

1879 Commits

Author SHA1 Message Date
3e7431b601 docs-restruct
All checks were successful
Deploy on push / deploy (push) Successful in 3m11s
2025-10-02 01:16:14 +03:00
31cf6b6961 invalidation-fix4
All checks were successful
Deploy on push / deploy (push) Successful in 3m9s
2025-10-01 23:59:09 +03:00
116deb16d7 invalidation-follow-fix3
All checks were successful
Deploy on push / deploy (push) Successful in 3m12s
2025-10-01 23:53:09 +03:00
2dacb837f3 follow-cache-invalidation-fix
All checks were successful
Deploy on push / deploy (push) Successful in 3m18s
2025-10-01 23:41:28 +03:00
50539a71ba following-cache-invalidation-fix
All checks were successful
Deploy on push / deploy (push) Successful in 3m20s
2025-10-01 17:53:28 +03:00
4800f227bc follow-cache-invalidate-before-fix
All checks were successful
Deploy on push / deploy (push) Successful in 5m18s
2025-10-01 15:04:36 +03:00
3ae675c52c auth-fix
All checks were successful
Deploy on push / deploy (push) Successful in 5m44s
2025-09-30 19:20:41 +03:00
a0ab20f276 cleaner-log3
All checks were successful
Deploy on push / deploy (push) Successful in 3m2s
2025-09-29 01:00:18 +03:00
af0f3e3dea lesslogs
All checks were successful
Deploy on push / deploy (push) Successful in 2m55s
2025-09-28 17:26:23 +03:00
752e2dcbdc [0.9.28] - 2025-09-28
All checks were successful
Deploy on push / deploy (push) Successful in 2m46s
### 🍪 CRITICAL Cross-Origin Auth
- **🔧 SESSION_COOKIE_DOMAIN**: Добавлена поддержка поддоменов `.discours.io` для cross-origin cookies
- **🌐 Cross-Origin SSE**: Исправлена работа Server-Sent Events с httpOnly cookies между поддоменами
- **🔐 Unified Auth**: Унифицированы настройки cookies для OAuth, login, refresh, logout операций
- **📝 MyPy Compliance**: Исправлена типизация `SESSION_COOKIE_SAMESITE` с использованием `cast()`

### 🛠️ Technical Changes
- **settings.py**: Добавлен `SESSION_COOKIE_DOMAIN` с типобезопасной настройкой SameSite
- **auth/oauth.py**: Обновлены все `set_cookie` вызовы с `domain` параметром
- **auth/middleware.py**: Добавлена поддержка `SESSION_COOKIE_DOMAIN` в logout операциях
- **resolvers/auth.py**: Унифицированы cookie настройки в login/refresh/logout resolvers
- **auth/__init__.py**: Обновлены cookie операции с domain поддержкой

### 📚 Documentation
- **docs/auth/sse-httponly-integration.md**: Новая документация по SSE + httpOnly cookies интеграции
- **docs/auth/architecture.md**: Обновлены диаграммы для unified httpOnly cookie архитектуры

### 🎯 Impact
-  **GraphQL API** (`v3.discours.io`) теперь работает с httpOnly cookies cross-origin
-  **SSE сервер** (`connect.discours.io`) работает с теми же cookies
-  **Безопасность**: httpOnly cookies защищают от XSS атак
-  **UX**: Автоматическая аутентификация без управления токенами в JavaScript
2025-09-28 13:06:03 +03:00
fb98a1c6c8 [0.9.28] - OAuth/Auth with httpOnly cookie
All checks were successful
Deploy on push / deploy (push) Successful in 4m32s
2025-09-28 12:22:37 +03:00
634cec657c notifications-stats-todo
All checks were successful
Deploy on push / deploy (push) Successful in 8m16s
2025-09-16 12:52:14 +03:00
75c78dacad dockerfix 2025-09-10 11:00:46 +03:00
698e8be638 0.9.20-fix-authors
Some checks failed
Deploy on push / deploy (push) Failing after 2m34s
2025-09-10 10:03:27 +03:00
06d4b64b1f bypass-cache-topic
Some checks failed
Deploy on push / deploy (push) Failing after 4m57s
2025-09-03 13:15:57 +03:00
f99f14759c author-topic-filter-fix
Some checks failed
Deploy on push / deploy (push) Failing after 2m2s
2025-09-03 12:44:24 +03:00
35af07f067 topic-filtered-authors
Some checks failed
Deploy on push / deploy (push) Failing after 2m1s
2025-09-01 10:53:38 +03:00
7c066b460a minor-fixes
Some checks failed
Deploy on push / deploy (push) Failing after 8s
2025-09-01 09:40:52 +03:00
30644f6513 author-debug
Some checks failed
Deploy on push / deploy (push) Failing after 2m38s
2025-09-01 09:07:37 +03:00
b044b26587 author-stats-fix
Some checks failed
Deploy on push / deploy (push) Failing after 2m41s
2025-09-01 06:16:44 +03:00
62529959a9 testing-fix
Some checks failed
Deploy on push / deploy (push) Failing after 4m52s
2025-09-01 00:13:46 +03:00
3086f22c2e admin-panel-fix
Some checks failed
Deploy on push / deploy (push) Has been cancelled
2025-08-31 23:51:12 +03:00
7258ddf059 authors-stats-fix2
Some checks failed
Deploy on push / deploy (push) Failing after 3m33s
2025-08-31 22:54:40 +03:00
d68030faca author-stats-fix
Some checks failed
Deploy on push / deploy (push) Failing after 4m45s
2025-08-31 22:42:21 +03:00
aebca9c522 author-stats-fix
Some checks failed
Deploy on push / deploy (push) Failing after 6m48s
2025-08-31 22:29:40 +03:00
832f6529e7 author-stats-upgrade
Some checks failed
Deploy on push / deploy (push) Failing after 3m47s
2025-08-31 22:12:18 +03:00
2660ad5cb3 fmt-fix
All checks were successful
Deploy on push / deploy (push) Successful in 10m37s
2025-08-31 20:03:44 +03:00
d65f8f9fa7 [0.9.17] - 2025-08-31
Some checks failed
Deploy on push / deploy (push) Failing after 8s
### 👥 Author Statistics Enhancement
- **📊 Полная статистика авторов**: Добавлены все недостающие счётчики в AuthorStat
  - `topics`: Количество уникальных тем, в которых участвовал автор
  - `coauthors`: Количество соавторов
  - `replies_count`: Количество вызванных комментариев
  - `rating_shouts`: Рейтинг публикаций автора (сумма реакций LIKE/AGREE/ACCEPT/PROOF/CREDIT минус DISLIKE/DISAGREE/REJECT/DISPROOF)
  - `rating_comments`: Рейтинг комментариев автора (реакции на его комментарии)
  - `replies_count`: Количество вызванных комментариев
  - `comments`: Количество созданных комментариев и цитат
  - `viewed_shouts`: Общее количество просмотров всех публикаций автора
- **🔄 Улучшенная сортировка**: Поддержка сортировки по всем новым полям статистики
- ** Оптимизированные запросы**: Batch-запросы для получения всей статистики одним вызовом
- **🧪 Подробное логирование**: Эмодзи-маркеры для каждого типа статистики

### 🔧 Technical Implementation
- **Resolvers**: Обновлён `load_authors_by` для включения всех счётчиков
- **Database**: Оптимизированные SQL-запросы с JOIN для статистики
- **Caching**: Интеграция с ViewedStorage для подсчёта просмотров
- **GraphQL Schema**: Обновлён тип AuthorStat с новыми полями
2025-08-31 20:01:40 +03:00
c9733ece24 following
All checks were successful
Deploy on push / deploy (push) Successful in 6m9s
2025-08-30 21:38:27 +03:00
7d9a3a59e3 search-debug
All checks were successful
Deploy on push / deploy (push) Successful in 5m40s
2025-08-30 20:06:12 +03:00
5729e65e55 search-index-fixed2
All checks were successful
Deploy on push / deploy (push) Successful in 5m43s
2025-08-30 19:42:00 +03:00
2dad23f86c search-index-fixed
All checks were successful
Deploy on push / deploy (push) Successful in 5m49s
2025-08-30 18:53:38 +03:00
05b5c3defd follower-notification
Some checks failed
Deploy on push / deploy (push) Failing after 11s
2025-08-30 18:47:27 +03:00
9752a470e0 invalidate-new-follower
All checks were successful
Deploy on push / deploy (push) Successful in 5m45s
2025-08-30 18:35:25 +03:00
f891b73608 following-debug
All checks were successful
Deploy on push / deploy (push) Successful in 5m46s
2025-08-30 18:23:15 +03:00
f6253f2007 fmt2
All checks were successful
Deploy on push / deploy (push) Successful in 5m34s
2025-08-30 17:07:37 +03:00
1ad4b9118e fmt
Some checks failed
Deploy on push / deploy (push) Failing after 6s
2025-08-30 17:05:58 +03:00
ecae526d1b follow-resolver-fix2
Some checks failed
Deploy on push / deploy (push) Failing after 6s
2025-08-30 15:38:39 +03:00
dfeadf6a54 follow-resolver-fix
Some checks failed
Deploy on push / deploy (push) Failing after 38s
2025-08-30 15:19:43 +03:00
f3fc6c34ae e2e-improved
Some checks failed
Deploy on push / deploy (push) Failing after 7s
2025-08-27 18:31:51 +03:00
32f1fab867 views-count-fix
Some checks failed
Deploy on push / deploy (push) Failing after 7s
2025-08-27 15:22:18 +03:00
4d42e01bd0 [0.9.13] - 2025-08-27
Some checks failed
Deploy on push / deploy (push) Failing after 3m6s
### 🚨 Исправлено
- **Удалено поле username из модели Author**: Поле `username` больше не является частью модели `Author`
  - Убрано свойство `@property def username` из `orm/author.py`
  - Обновлены все сервисы для использования `email` или `slug` вместо `username`
  - Исправлены резолверы для исключения `username` при обработке данных автора
  - Поле `username` теперь используется только в JWT токенах для совместимости

### 🧪 Исправлено
- **E2E тесты админ-панели**: Полностью переработаны E2E тесты для работы с реальным API
  - Тесты теперь делают реальные HTTP запросы к GraphQL API
  - Бэкенд для тестов использует выделенную тестовую БД (`test_e2e.db`)
  - Создан фикстура `backend_server` для запуска тестового сервера
  - Добавлен фикстура `create_test_users_in_backend_db` для регистрации пользователей через API
  - Убраны несуществующие GraphQL запросы (`get_community_stats`)
  - Тесты корректно работают с системой ролей и правами администратора

### �� Техническое
- **Рефакторинг аутентификации**: Упрощена логика работы с пользователями
  - Убраны зависимости от несуществующих полей в ORM моделях
  - Обновлены сервисы аутентификации для корректной работы без `username`
  - Исправлены все места использования `username` в коде
- **Улучшена тестовая инфраструктура**:
  - Тесты теперь используют реальный HTTP API вместо прямых DB проверок
  - Правильная изоляция тестовых данных через отдельную БД
  - Корректная работа с системой ролей и правами
2025-08-27 12:15:01 +03:00
90aece7a60 load authors by followers fix
Some checks failed
Deploy on push / deploy (push) Failing after 3m33s
2025-08-26 14:15:19 +03:00
2a6fcc3f45 [0.9.12] - 2025-08-26
Some checks failed
Deploy on push / deploy (push) Failing after 2m54s
### 🚨 Исправлено
- **Лимит топиков API**: Убрано жесткое ограничение в 100 топиков, теперь поддерживается до 1000 топиков
  - Обновлен лимит функции `get_topics_with_stats` с 100 до 1000
  - Обновлен лимит по умолчанию резолвера `get_topics_by_community` с 100 до 1000
  - Это решает проблему, когда API искусственно ограничивал получение топиков

### 🧪 Исправлено
- **Тест-сьют**: Исправлены все падающие тесты для достижения 100% прохождения
  - Исправлено утверждение теста уведомлений для невалидных действий (fallback к CREATE)
  - Исправлены тесты публикации черновиков путем добавления обязательных топиков
  - Исправлен контекст авторизации в тестах черновиков (добавлены роли и токен)
  - Установлены браузеры Playwright для решения проблем с браузерными тестами
  - Все тесты теперь проходят: 361 пройден, 31 пропущен, 0 провален

### 🔧 Техническое
- Улучшены тестовые фикстуры с правильным созданием топиков для черновиков
- Улучшено тестовое мокирование для GraphQL контекста с требуемыми данными авторизации
- Добавлена правильная обработка ошибок для требований публикации черновиков
2025-08-26 13:28:28 +03:00
94af896c2d [0.9.11] - 2025-08-25
Some checks failed
Deploy on push / deploy (push) Failing after 3m6s
### 📦 Added
- **Автоматическое определение главного топика**: Система автоматически назначает главный топик при публикации
- **Валидация топиков при публикации**: Проверка наличия хотя бы одного топика перед публикацией

### 🏗️ Changed
- **Исправлена логика публикации черновиков**: Теперь автоматически устанавливается главный топик при отсутствии
- **Обновлена логика создания статей**: Гарантируется наличие главного топика во всех публикациях

### 🐛 Fixed
- **Исправлена критическая ошибка с публикацией статей**: Статьи теперь корректно появляются в фидах после публикации
- **Гарантирован главный топик**: Все опубликованные статьи теперь обязательно имеют главный топик (`main=True`)
2025-08-25 02:30:56 +03:00
de94408e04 tests-fix
Some checks failed
Deploy on push / deploy (push) Failing after 2m41s
2025-08-24 22:14:47 +03:00
b1370d1eeb unpublish-fixing 2025-08-23 19:35:44 +03:00
394fadfbd1 draft-shout-link-fix 2025-08-23 18:15:05 +03:00
421defe776 published-at-fix2 2025-08-23 15:22:13 +03:00
e60b97a5c5 published-at-fix
Some checks failed
Deploy on push / deploy (push) Failing after 1m0s
2025-08-23 15:06:53 +03:00