Commit Graph

  • 7dd816cfce Add dedicated Bans page (bans.html) with active IP bans table, unban and refresh; nav item for admins; settings card kept dev 2026-09-12 00:53:35 +03:00
  • 19b0c855a9 Cache HTML/JS/CSS with no-cache revalidation (ETag 304): browsers always get fresh pages after docker restart; vendor and image caches unchanged dev 2026-09-12 00:47:18 +03:00
  • d5359dd31f Add honeypot field to login form: instant 24h IP ban on autofill dev 2026-09-12 00:40:29 +03:00
  • 2c7ec17c8b Add IP autoban system: banned_ips table, global ipGuard middleware, 24h bans on honeypot fill / 10 failed logins / 10 wrong share passwords; trust proxy for real client IPs behind funnel; admin API and settings UI to manage active bans dev 2026-09-12 00:35:51 +03:00
  • 2bebfc071c Replace emoji icons with lucide icons on settings page dev 2026-09-12 00:04:55 +03:00
  • fd9b470c4c Add server-side image thumbnails (sharp): /uploads/thumb/<name> route, ?thumb=1 on file endpoints, disk-cached 480px WebP previews; grids now load thumbnails with lazy loading dev 2026-09-12 00:02:23 +03:00
  • 9798872f20 Add in-memory caching layer with TTL and invalidation for settings, groups, students, entries, share payloads and stats; add static asset caching headers dev 2026-09-11 23:52:58 +03:00
  • f9d310c8ea Add .dockerignore to reduce build context from 542MB to 5kB dev 2026-09-11 23:29:58 +03:00
  • f8036fae79 Fix: backup/restore now includes group_photos and entry_photos tables; increase AI request timeout to 120s (configurable via AI_REQUEST_TIMEOUT_MS) dev 2026-09-11 23:12:16 +03:00
  • 4db02d75bc Add AI-check details modal on worker page and raise backup upload limit dev 2026-09-11 16:26:30 +03:00
  • ee19da7fa0 Add audit details modal and translate remaining action labels dev 2026-09-11 14:45:07 +03:00
  • 7044505915 Fix AI status badge sizing on worker page dev 2026-09-11 14:38:46 +03:00
  • ad81adfe71 Migrate UI to Lucide icons, reorder sidebar, and polish journal/groups UX dev 2026-09-11 14:33:41 +03:00
  • 275ed46dfb Add HF model auto-download with configurable AI env, and share link visibility toggles dev 2026-09-11 13:12:13 +03:00
  • b7e798b867 Add AI auto-check worker, share link message/link fields, and update journal/settings UI dev 2026-09-11 10:29:49 +03:00
  • 3850fe35e4 Update project files dev 2026-09-10 11:26:51 +03:00
  • 7ccc9199e0 Add cover_path column to groups table for group cover photo feature dev 2026-09-10 01:16:32 +03:00
  • 0d6d059f5b Add JFIF to JPG conversion for student photo uploads dev 2026-09-10 00:41:16 +03:00
  • 63494f322b Add pagination to audit page dev 2026-09-10 00:18:56 +03:00
  • 89152295ea Add AI text correction button to journal edit modal dev 2026-09-10 00:06:38 +03:00
  • 5ae476551d Fix trash: add missing deleted_at IS NOT NULL filter to main query dev 2026-09-09 23:44:37 +03:00
  • 0681831aaf Add debug logging to trash and restore endpoints dev 2026-09-09 23:39:30 +03:00
  • 6197f57c43 Fix trash: restore/perm delete buttons not working when clicking card content dev 2026-09-09 23:32:06 +03:00
  • 0f267ca6a9 Fix trash: improve error handling and add logging for restore/perm delete denials dev 2026-09-09 23:28:02 +03:00
  • bc3487639d Fix user edit modal: pass full user object instead of just ID dev 2026-09-09 12:25:49 +03:00
  • 018c65adc5 refactor: move frontend JS to external files and enable strict CSP dev 2026-09-09 10:06:49 +03:00
  • d6e589d2f5 feat: add branches feature, security audit, and multi-branch support dev 2026-09-09 09:41:07 +03:00
  • 7a003e5df6 Add system info dashboard to settings dev 2026-09-09 01:08:48 +03:00
  • 616dabb595 remove name autocomplete/datalist from index form dev 2026-09-08 12:16:38 +03:00
  • e0cec0f943 add admin audit log (11), hide stacktraces via NODE_ENV=production (13), validate spam_interval_min>=1 (16) dev 2026-09-08 12:12:29 +03:00
  • 441bdfe0fe group photo upload: respond 500 on DB error instead of hanging (async throw in express4) dev 2026-09-08 12:00:25 +03:00
  • eef33e457f support HEIC/HEIF uploads: convert to JPEG via heic-convert; graceful multer errors for group photos dev 2026-09-08 11:54:38 +03:00
  • ea14fd654f fix backup restore: stream-peek gzip content instead of zlib.gunzipFile (node20 API) dev 2026-09-08 11:38:38 +03:00
  • 8a50b46b7b harden anti-spam and file serving; backup restore to disk; json body limit dev 2026-09-08 11:36:34 +03:00
  • 57f2ea4f41 add share-link password/expiry, journal touch-ups, ddns helper and audit docs dev 2026-09-08 10:54:24 +03:00
  • dd5a2ea288 drop caddy and cloudflared; publish via tailscale funnel; rewrite README dev 2026-09-08 10:40:20 +03:00
  • 6844d659fc harden security and add public TLS scaffold dev 2026-09-07 11:27:04 +03:00
  • b15abc34aa stop tracking .env and backup archives; add comprehensive .gitignore dev 2026-09-07 09:50:02 +03:00
  • f3885dc0fc write full project README dev 2026-09-07 09:48:39 +03:00
  • 7c58cd0d4c Merge remote-tracking branch 'origin/main' dev 2026-09-07 09:46:33 +03:00
  • f13031e9b3 add detach files feature, utf8 filename fix, and error pages dev 2026-09-07 09:42:28 +03:00
  • 3b0761530e Initial commit admin 2026-09-07 06:41:48 +00:00
  • 71803d4dcf expose uploads volume to host via bind mount dev 2026-09-07 09:41:23 +03:00
  • 84fed96097 add full dashboard: activity chart, recent entries, group photos, quick actions, active groups, top students dev 2026-09-06 15:08:39 +03:00
  • 65e5651be2 redesign settings page UX/UI: structured cards, consistent fields, sticky save bar, backup stats and loading states dev 2026-09-06 14:56:06 +03:00
  • 621c3c3b5c add soft delete with trash page and group photo chronology with styling dev 2026-09-06 13:51:47 +03:00
  • 3c22d72a27 show attached files as type icons labeled as resident's works on share page dev 2026-09-06 12:37:42 +03:00
  • d8802b508d add Files admin section: list with filters, search, student/group/date, pagination dev 2026-09-06 12:25:39 +03:00
  • 9fbd88983c open attachment images in the same-page lightbox like photos dev 2026-09-06 12:05:32 +03:00
  • 3d3856bf35 show project files in share page cards with image preview and file download dev 2026-09-06 11:50:02 +03:00
  • a117184a2a make project file tokens public; keep name links with image preview and file download dev 2026-09-06 11:35:40 +03:00
  • ac8621c5aa serve project files by token hash, preview images inline and download other files dev 2026-09-06 11:33:33 +03:00
  • c5fdf006f5 add project file upload to student form, project_files table with backup/restore, download in journal, and crash-proof entries endpoint dev 2026-09-06 11:29:34 +03:00
  • c2c5f2ed42 add photo placeholder, mirrored camera capture, configurable footer, and student .url zip export dev 2026-09-06 11:22:00 +03:00
  • 1d25275fd1 redesign index.html: 2-column layout (photo left, fields right), responsive dev 2026-09-06 00:44:35 +03:00
  • 5f4dfda799 mirror camera preview by default (scaleX(-1)) dev 2026-09-06 00:42:59 +03:00
  • 94ea5606ff style student filter inputs (#studentFilter, #linkStudent) to match admin design dev 2026-09-05 20:30:36 +03:00
  • 3b1341a0c2 add autocomplete input for student selection in journal filters, link creation, and links admin dev 2026-09-05 20:26:21 +03:00
  • 6dc54e49b8 batch add students: add optional group selection in batch modal dev 2026-09-05 18:31:28 +03:00