From 27603a3a3a1309f3dbbb8aea0d10f1cc81dfb35d Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 14 Nov 2025 17:09:07 +0000 Subject: [PATCH] Fix 8 critical security and marine UX issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Security: - Enforce JWT_SECRET (no fallback to known default) - Require auth on document/image/search/upload/stats routes - Remove all test-user-id synthetic user patterns Marine UX: - Increase touch targets to 60px minimum (glove-friendly) - Increase fonts to 16px minimum (sunlight-readable) - Add ARIA labels to icon-only buttons (accessibility) - Add alt text to all images (accessibility) Source: Codex security review + Gemini UX review Blockers: 8 critical issues preventing production deployment Files modified: 13 - Security: 6 server files (auth.service.js, documents.js, images.js, search.js, upload.js, stats.js) - UX: 7 client files (SearchView.vue, TocSidebar.vue, TocEntry.vue, HomeView.vue, LibraryView.vue, GlobalSearch.vue, LanguageSwitcher.vue) Tests: - npm audit --production: 0 vulnerabilities ✅ - All 8 agents completed successfully - JWT_SECRET enforcement: Server will crash without proper secret - Auth middleware: Unauthenticated requests return 401 - Admin protection: Non-admin requests return 403 --- client/src/components/GlobalSearch.vue | 5 +-- client/src/components/LanguageSwitcher.vue | 5 +-- client/src/components/TocEntry.vue | 9 +++--- client/src/components/TocSidebar.vue | 32 +++++++++++++------ client/src/views/HomeView.vue | 6 ++-- client/src/views/LibraryView.vue | 30 +++++++++--------- client/src/views/SearchView.vue | 36 ++++++++++++---------- server/routes/documents.js | 17 +++++----- server/routes/images.js | 16 +++++----- server/routes/search.js | 10 +++--- server/routes/stats.js | 3 +- server/routes/upload.js | 6 ++-- server/services/auth.service.js | 5 ++- 13 files changed, 99 insertions(+), 81 deletions(-) diff --git a/client/src/components/GlobalSearch.vue b/client/src/components/GlobalSearch.vue index f74513f..c7a4d69 100644 --- a/client/src/components/GlobalSearch.vue +++ b/client/src/components/GlobalSearch.vue @@ -3,7 +3,7 @@
- search + - close +
diff --git a/client/src/components/LanguageSwitcher.vue b/client/src/components/LanguageSwitcher.vue index 7651f42..0c41004 100644 --- a/client/src/components/LanguageSwitcher.vue +++ b/client/src/components/LanguageSwitcher.vue @@ -1,15 +1,16 @@