24 Commits

Author SHA1 Message Date
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
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
ee98d6844a fix(frontend): add @types/node, fix Playwright base.extend type in fixtures
Some checks failed
Release / release (push) Failing after 1m27s
2026-04-29 21:42:32 +02:00
bbcdbf957e feat: add IF NOT EXISTS to migrations, add courses nav item, lock playwright deps 2026-04-29 04:38:20 +02:00
8ea3d57239 feat(tests): add playwright config, globalSetup, reset fixture, migrate superadmin spec 2026-04-29 04:22:11 +02:00
4dce11dd26 feat(tests): add test-env.sh, gitignore updates, package.json scripts 2026-04-29 04:03:14 +02:00
279c60a5eb Merge branch 'feature-superadmin-crud'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2026-04-29 02:48:43 +02:00
e222085a72 fix: frontend type errors and add k8s manifests 2026-04-29 02:43:23 +02:00
8a45f6a06e feat: implement superadmin CRUD for courses and tutors 2026-04-29 02:42:33 +02:00
d6ccdaff1e feat(frontend): merge paper/notebook design overhaul
Complete redesign of the SvelteKit frontend with a paper/notebook
aesthetic: design tokens, Google Fonts, 10 new components, responsive
student check-in, live seat map, and redesigned admin pages.
2026-04-29 01:27:55 +02:00
d8869a441c fix(frontend): correct checkin API paths (remove duplicate /api/ prefix) 2026-04-29 01:20:26 +02:00
0c5afb7e29 fix(frontend): render login page when unauthenticated 2026-04-28 23:58:57 +02:00
316b7defb8 feat: add demo seed data, update Makefile, and fix .gitignore 2026-04-28 21:39:17 +02:00
19f2b5ae7f fix(frontend): fix slot deprecation and a11y label warnings 2026-04-28 19:22:30 +02:00
74255f23ac chore(frontend): delete obsolete login and notes routes 2026-04-28 19:16:06 +02:00
0298e03781 feat(frontend): redesign sessions, courses, live view, and student check-in 2026-04-28 19:15:39 +02:00
60c871dec0 feat(frontend): redesign dashboard, attendance, students, login with paper aesthetic 2026-04-28 18:55:44 +02:00
bbccef4436 feat(frontend): route migration - add /admin/login, /admin/students, /admin/live/[slotId], rooms/[roomId] 2026-04-28 17:46:50 +02:00
7e326153a8 feat(frontend): add TutorShell sidebar layout and NoteEditor with auto-save 2026-04-28 15:39:28 +02:00
7da7c1e1d0 feat(frontend): add SeatMap component (tutor/student/student-self variants) 2026-04-28 15:13:35 +02:00
04155c182a feat(frontend): add primitive UI components (Icon, StatusPill, UnderlineStroke, StatCard, Tally, Field) 2026-04-28 15:08:50 +02:00
97a3c2196b feat(frontend): add paper design tokens and Google Fonts 2026-04-28 15:01:22 +02:00
c7ab5d8689 feat(frontend): implement all views using Svelte 5 runes and TS 7.0 2026-04-28 05:19:30 +02:00
f9c721d841 feat(frontend): scaffold SvelteKit with TS 7.0 (native-preview) and tsgo 2026-04-28 05:16:19 +02:00