Commit Graph

10 Commits

Author SHA1 Message Date
Leopoldadmin c63e7e49ab fix: SQLite boolean binding + React StrictMode race condition
- Fix: SqliteAdapter.createLayer/updateLayer: convert JS booleans to integers (true→1, false→0)
  - Root cause: better-sqlite3 cannot bind JS booleans, causing layer creation to fail
  - Without layers, no elements could be created, making the entire CAD editor non-functional
- Fix: loadProjectDataTyped: remove Superseded throw for React StrictMode double-render safety
  - Root cause: StrictMode double-render created two load requests, first was superseded and
    set savedStatus to 'Fehler beim Laden', overwriting the successful second request
- Fix: App.tsx catch block: ignore cancelled/superseded errors to prevent false error status
- All tests pass: Backend 239/239, Frontend 374/374
- UI Test verified: Login → Dashboard → Project → CAD Editor → Line drawing → 4 elements created
2026-07-04 10:40:23 +02:00
A0 Orchestrator aae93fe36b feat: dashboard 3-column layout — project folders treeview, project cards with open button, info panel 2026-07-03 17:21:42 +02:00
A0 Orchestrator 7b19a99b24 feat: global block library tree + grouping tool — 19 files, 588 tests green 2026-07-01 21:02:31 +02:00
A0 Orchestrator b503f75fe2 fix: LOW issues #37-#50 — remove mock data, type auth functions, ImageElement interface, remove dead code, implement zoom/format/search, cleanup 2026-06-30 14:37:59 +02:00
A0 Orchestrator 172f933456 fix: MEDIUM issues #23-#30 — stale deps, export modal, cache race, StrictMode dedup, SeatingService ref, SVG import persist, group-as-block multi-select, session expiry 2026-06-30 13:15:54 +02:00
A0 Orchestrator 5a21fc0bfa fix: HIGH issues #12,#15,#16,#17,#21 — backend persistence for import/layers/blocks + owner filtering 2026-06-30 12:16:49 +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 1d6c2cb30e feat: T27 AuthService DB session persistence - replace in-memory Map with SQLite sessions table 2026-06-26 14:55:38 +02:00
Leopoldadmin 4ec76fe406 feat: initial commit web-cad-neu with docker-compose, frontend and backend 2026-06-26 10:50:24 +02:00