Repository navigation
PROD: добавить статистику участников - #757
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Добавлен публичный
GET /auth/public-users/stats/: четыре глобальных агрегата каталога участников. Пустой каталог возвращает нули; параметры поиска, фильтров и пагинации не влияют на результат.Ограничение проверки: полный PostgreSQL suite остаётся не зелёным из-за WebSocket timeout в неизменённом тесте чатов. Подробности и сравнение с base приведены ниже.
Основа и объём переноса
master:1b2087787a1554733768a1984da12b0070c1ee05.49b894ba2247b971e3b3757a32115b74ed321b5c.11f1e66a85e266d57fc6b0f8c080ee8cd0683f19.Контракт и определения
{ "total": 1248, "in_projects": 684, "in_programs": 214, "new_last_30_days": 63 }Все показатели считают только активных legacy
CustomUserсuser_type=MEMBER:totalin_projectsProject.leaderилиCollaborator.userпроекта сdraft=falseиis_public=truein_programsPartnerProgramUserProfileдля программы сdraft=falsenew_last_30_daysdatetime_created >= timezone.now() - 30 days, граница включительнаРоли и несколько связей не удваивают человека.
AllowAnyсохранён из DEV #756; POST возвращает 405. Ответ содержит только четыре целых числа — без ID, email, phone, birthday, данных проектов и программ.Производительность
Exists/Countвыполняют один агрегирующий SQL-запрос без обхода пользователей в Python и без N+1. Через полный анонимный HTTP GET проверено:Отдельный тест подтверждает один запрос при множественных связях с проектами и программами.
Проверки
Python 3.11.15, PostgreSQL 18.1, изолированная тестовая БД; SQLite не использовался.
NEXTGEN_SURFACE_ENABLED=False): 30 тестов, OK, 2 ожидаемых skip — статистика, quarantine и уведомления.git diff --check: пройден.Полный suite не зелёный: в последнем запуске
TimeoutErrorвозник в неизменённомchats.tests.test_direct.DirectTests.test_edit_other_message_in_other_chatпри ожидании WebSocket-ответа. Первый полный запуск завершился двумя такими таймаутами вchats.tests.test_project.DirectTests.test_delete_message_in_other_project_other_messageиtest_edit_message_in_my_project_my_message, а удалению тестовой БД помешали оставшиеся соединения. Повтор выполнялся со штатным для CI--keepdb.Все три упавших теста затем прошли отдельно 3/3 на exact master и 3/3 на head; код
chats/совпадает с base. Это указывает на нестабильность полного локального прогона, но не заменяет его зелёный результат. Все тесты статистики прошли в обоих full runs. Изменения чатов и таймаутов в перенос не включены.Согласованный интерфейс и скриншоты
Angular draft #382 селективно переносит DEV #381. Desktop sidebar 157 px, карточка 157 × 280 px,
max-width:157px,min-width:0,box-sizing:border-box. На compact/mobile тот же компонент занимает ширину списка и показывает метрики 2×2 после controls, перед участниками. X-позиция и ширина сетки до/после совпадают; overflow 0 на 1440/1280/1024/768/414/390/375 px.Desktop · Mobile · Все 20 скриншотов и измерения.
Draft для самостоятельного review и merge. Merge и deploy не выполнялись.