Repository navigation
PROD: показать статистику участников - #382
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.
На странице «Участники» вместо заглушки показаны четыре глобальных счётчика. Загрузка и ошибка отображаются как
—, реальное нулевое значение — как0. Поиск, фильтры и пагинация списка не меняют статистику.Основа и объём переноса
master:cbcb5bffbaeb13a37176411a3ebda035618a5879.cdc242f356055005938b6aecf17699e2e5464617.19927ec09d337a69eee63c7050bc6d46f89f79a4.Контракт и реализация
GET /auth/public-users/stats/→{total, in_projects, in_programs, new_last_30_days}. Существующий interceptor преобразует ключи в camelCase; repository проверяет четыре неотрицательных целых числа. Цепочка: adapter → repository → use-case → facade → отдельныйMemberStatisticsCardComponent. Прямого HTTP в MembersComponent нет; один запрос на открытие страницы.Связанный backend draft — #757; ограничение его полного PostgreSQL suite описано в backend PR. Backend-источник — DEV #756. Все метрики считают только активных legacy MEMBER: все участники; уникальные лидеры или collaborators проектов с
draft=false,is_public=true; уникальные участники программ сdraft=false; зарегистрированные с включительной границыnow − 30 days. В ответе только четыре числа, без персональных данных. Backend используетExists/Count: один SQL при 10/100/1000 участниках.Геометрия и браузер
Desktop sidebar и карточка — 157 px, карточка — 157 × 280 px;
max-width:157px,min-width:0,box-sizing:border-box. При ширине <1000 px тот же компонент занимает всю ширину списка, метрики 2×2. Порядок: поиск → фильтры/профиль → статистика → список участников.Chrome 154 / Windows, viewport height 1000, DPR 1. Для каждой ширины проверены 0, 9, 63, 999, 1 248, 12 345, 999 999, loading/error: 63 сценария + 7 обычных отображений. Ширина сетки также совпадает до/после. Выполнены проверки поиска, фильтров, добавления карточек и смены layout: один вызов статистики, значения неизменны.
Стенд использует настоящие компоненты страницы и SCSS office с одинаковыми синтетическими данными для exact master и ветки переноса. Это браузерная проверка интерфейса, без обращений к PROD API. API mapping проверен контрактными тестами. Все измерения.
Desktop до · Desktop после · Mobile 375 · Все 20 скриншотов.
Проверки
projects/**/*.scss: пройден.git diff --check: пройдены.npm run build:prod: пройден, initial bundle 1.40 MB / transfer 314.36 kB. Сохраняются существующие предупреждения Angular/Sass/CommonJS/budgets; NG0912 воспроизводится и в baseline.npm_config_script_shell; итоговый спрайт совпадает с master. Скрипты и lockfile не менялись.Draft для самостоятельного review и merge. Merge и deploy не выполнялись.