Commit Graph

9 Commits

Author SHA1 Message Date
Leopoldadmin cf62a777d2 fix(backend+frontend): WebSocket auth, Yjs persistence fix, keep docs in memory (Issues #2, #4, #5) 2026-06-29 23:33:58 +02:00
Leopoldadmin 2e9dfdfec0 fix(backend): add auth middleware to all CRUD routes + restrict CORS (Issues #1, #3) 2026-06-29 23:17:19 +02:00
Leopoldadmin e9b6f188c8 fix: security and UX improvements for notifications and shares
- Add ownership checks on all notification and share routes (403 Forbidden)
- Validate permission field (only view/edit/admin allowed)
- Remove user_id from POST notifications (only self-notifications)
- Add getNotification/getProjectShare to DB interface + adapter
- Add res.ok checks on all frontend API calls
- Add click-outside handler for notification dropdown
- Add initial notification load on mount for badge count
- Add email validation + duplicate check in ShareDialog
- Add Enter key handler in ShareDialog
- Add submitting state to prevent double-click
- Guard against null token in Dashboard
2026-06-28 14:16:50 +02:00
Leopoldadmin 20432f4b47 feat: add notifications and project shares features
- Backend: notifications + shares routes, DB tables, SqliteAdapter methods
- Frontend: NotificationPanel (bell icon + dropdown), ShareDialog, Dashboard integration
- Styles: notification + share dialog CSS
2026-06-28 13:59:49 +02:00
Leopoldadmin 1bcfaffdd4 fix: replace hardcoded localhost:3001 with relative API URL + add canvas mock and integration test
- Fix frontend Network error: API_BASE now defaults to empty string (same-origin)
- Fix 3 files: api.ts, AuthContext.tsx, Dashboard.tsx
- Add Canvas 2D context mock in tests/setup.ts for jsdom
- Fix -0 vs +0 in ZoomPanController.getViewport()
- Add IntegrationWorkflow.test.ts (35 tests, full CAD workflow)
2026-06-26 17:48:24 +02:00
Leopoldadmin 89b91a1050 test: T29-T31 component tests (20) + frontend stresstest (7) + backend DB stresstest (6) with 50k elements 2026-06-26 16:20:09 +02:00
Leopoldadmin 1d6c2cb30e feat: T27 AuthService DB session persistence - replace in-memory Map with SQLite sessions table 2026-06-26 14:55:38 +02:00
Leopoldadmin f853372c90 test: add Vitest setup with 115 tests (backend + frontend) 2026-06-26 14:19:50 +02:00
Leopoldadmin 4ec76fe406 feat: initial commit web-cad-neu with docker-compose, frontend and backend 2026-06-26 10:50:24 +02:00