Commit Graph

10 Commits

Author SHA1 Message Date
mpuchstein 3b9c755e39 feat: unified bug fixes, tutor lifecycle, and room editor refactor
CI / test (push) Failing after 10m30s
CI / test (pull_request) Failing after 7m25s
- Security: Fixed RUSTSEC-2023-0071 via aws_lc_rs
- API: Fixed empty 200 body parsing and check-in typing
- Tutors: Added is_active flag, safe deletion with 409 conflict checks, and admin toggle UI
- Rooms: Migrated room layouts from pixel to grid scale, added additive layout validators
- UI: Improved RoomCanvas with dynamic sizing, interactive editing, snap-to-grid
- App: Replaced static SeatMap component with dynamic RoomCanvas across live and checkin views
2026-05-05 00:47:05 +02:00
mpuchstein 8c7678d06a feat: implement dual-token JWT auth, Argon2id migration, and zero-warnings quality mandate
Release / release (push) Successful in 5m24s
2026-05-03 00:41:50 +02:00
mpuchstein 31f8ef74fe chore: remediate code audit findings and fix CI pipeline failures
- Security: Add Secure flag to checkin identity cookie, implement rate limiting on login, and harden Helm security context.
- Security: Add cargo-audit to CI and Release pipelines for dependency vulnerability scanning.
- Backend: Enable SQLite WAL mode and fix AppState initialization in tests.
- Frontend: Fully type the API client, fix importStudents FormData handling, and pin dependency versions.
- Frontend: Add auto-logout on 401 and resolve authentication initialization race conditions.
- CI/CD: Pin pnpm version in release workflow and include lint/audit quality gates.
2026-05-02 20:40:05 +02:00
mpuchstein 6cb5968b7b fix: resolve Docker build failure and E2E authentication race conditions
- Dockerfile: Update binary name from attendance to tutortool to fix the release build pipeline failure.
- Backend: Expose test_mode in AppState to conditionally disable the secure flag on auth cookies during local E2E testing over HTTP.
- Backend: Enable tower-http trace feature and attach TraceLayer for improved request logging.
- Frontend: Refactor auth.svelte.ts to a plain reactive object to resolve initialization race conditions during tests.
- Frontend: Append cache-busting timestamp to /api/auth/me to prevent stale session states.
- Frontend: Update Playwright locator in superadmin.spec.ts for greater resilience.
- Makefile: Inject required environment variables (STATIC_DIR, JWT_SECRET) into the test-up target.
2026-05-02 05:25:04 +02:00
mpuchstein ff5ad26cfc feat: harden security with httpOnly cookies and modernize frontend with Svelte 5 runes
- Switched to secure httpOnly, SameSite=Strict cookies for JWT authentication.
- Refactored backend to use AppState for shared secrets and database pool caching.
- Modernized frontend with Svelte 5 runes ($state) and removed localStorage reliance.
- Gated destructive test endpoints behind debug_assertions and fixed unsafe test patterns.
- Enhanced CI pipeline with cargo clippy, cargo fmt, and pinned pnpm version.
- Updated documentation and implementation plans to match the hardened architecture.
2026-05-02 03:16:33 +02:00
mpuchstein abf0ebcce2 feat: courses and students CRUD endpoints 2026-04-28 01:42:22 +02:00
mpuchstein 83b25b1693 feat: JWT auth, login endpoint, and test helpers 2026-04-28 01:33:14 +02:00
mpuchstein 83ebff3b3e chore: edition 2024, rust 1.95.0, bump all deps to latest stable 2026-04-28 01:12:16 +02:00
mpuchstein fbd697759d fix: bump thiserror to v2, rand to v0.9, improve error logging 2026-04-28 01:06:55 +02:00
mpuchstein 42465839d0 feat: scaffold Rust/Axum backend 2026-04-28 00:55:36 +02:00