Your Name
|
9083835bfd
|
chore: v1.7.0 -- vibe galaxy, CI pipeline, enrichment hardening, PWA, preprod sweep
- Bump frontend and backend to 1.7.0
- Update CHANGELOG with full 1.7.0 release notes
- Remove vibe-test dev prototype page and unused R3F components
(VibeUniverse, TrackCloud, TrackTooltip, universeUtils)
- Fix stale audio.completed counter: flush live DB count at isFullyComplete
transition -- counter was frozen at last audioQueued > 0 cycle value
- Add GitHub Actions CI pipeline: lint/typecheck, unit tests, security scan,
E2E predeploy, nightly Docker build and push to Hub + GHCR
- Add E2E enrichment cycle spec with 55-min timeout and memory monitoring script
- Add E2E vibe spec covering map, song path, search, alchemy, similar tracks
- PWA hardening: offline fallback, update banner, WCO, manifest fixes
- Production readiness: OOM memory caps in both compose files, DoS/SSRF/auth fixes
- Remove double-auth in systemSettings (requireAdmin already enforces auth)
- Fix mobile vibe page full-height rendering, vibe map timer leak, abort signal wiring
- Fix E2E test helpers: graceful skip with waitFor + try/catch for empty-library CI
- Fix create-e2e-user.sh: admin role, bcrypt shell expansion, psql heredoc quoting
|
2026-03-16 18:25:08 -05:00 |
|
Your Name
|
d6e414f2d1
|
ci: add full test suite and GitHub Actions CI agents
- Rewrite pr-checks.yml: typecheck (frontend + backend), backend unit
tests (Jest, webhookEventStore excluded), dep audit, Docker build gate
- Add integration.yml: Docker stack + Playwright e2e on push to main or
run-e2e label (predeploy, queue, playlists, api-contracts, security)
- Add nightly.yml: full Playwright suite at 03:00 UTC, opens GH issue on
failure
- Add security.yml: npm audit blocking on critical + security.spec.ts
against Docker stack on PRs and weekly
New tests:
- security.spec.ts: IDOR, XSS, unauthenticated access, input validation,
mass assignment (12 tests, all verified against localhost:3030)
- api-contracts.spec.ts: auth shapes, CRUD contracts, library/search
validation, health check (15 tests, all verified)
- playlists.spec.ts, queue.spec.ts: functional e2e tests
- global.setup.ts: shared auth token setup
Backend fixes:
- Fix discoverySeeding tests: add _max.playedAt to recentPlays mocks,
sync getFallbackSeedArtists mock to new artist.findMany+albums path,
add unavailableAlbum to Prisma mock factory
- Fix enrichmentStateMachine tests: add clearGate to mock, update
orphaned-audio assertion to match new where clause
- Add p-queue.cjs CJS mock + moduleNameMapper (pure ESM incompatible
with Jest CJS runner)
- Add typecheck scripts to frontend/backend package.json
scripts/create-e2e-user.sh: fix bcrypt hash corruption by passing
password via Docker -e env var instead of shell interpolation
|
2026-03-16 10:42:20 -05:00 |
|