ci / module boundaries / boundaries (push) Successful in 6s
ci / api / api (push) Successful in 47s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m2s
ci / db / db (push) Successful in 1m4s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m30s
ci / ts / ts (packages + web) (push) Successful in 2m54s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m14s
1.2 KiB
1.2 KiB
Web и desktop UI
- Маршруты:
src/app/router.tsx; сессия:src/app/session.tsx; страницы собирают возможности,src/featuresвладеет сценариями. - Воспроизведение:
src/player/player.ts— фасад; адаптеры рядом. Общие правила очереди, событий и волны —packages/core/src. - Загрузки:
src/features/uploads; страница очереди —src/pages/admin/UploadQueuePage.tsx. Сохраняй query keys/invalidation, права и поведение диалогов. pnpm --filter @pipu/web typecheck;pnpm --filter @pipu/web test. Для локальной проверки можно передать путь теста послеtest.- UI/навигация/диалоги:
pnpm --filter @pipu/web test:e2e. Проверки используют fake API; реальная серверная авторизация покрывается Go отдельно. - Restore не запускает музыку и не создаёт событие прослушивания. Ошибка preload не пропускает трек. Dispose должен освобождать обработчики.