7dd816cfce
Add dedicated Bans page (bans.html) with active IP bans table, unban and refresh; nav item for admins; settings card kept
dev2026-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
dev2026-09-12 00:47:18 +03:00
d5359dd31f
Add honeypot field to login form: instant 24h IP ban on autofill
dev2026-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
dev2026-09-12 00:35:51 +03:00
2bebfc071c
Replace emoji icons with lucide icons on settings page
dev2026-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
dev2026-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
dev2026-09-11 23:52:58 +03:00
f9d310c8ea
Add .dockerignore to reduce build context from 542MB to 5kB
dev2026-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)
dev2026-09-11 23:12:16 +03:00
4db02d75bc
Add AI-check details modal on worker page and raise backup upload limit
dev2026-09-11 16:26:30 +03:00
71803d4dcf
expose uploads volume to host via bind mount
dev2026-09-07 09:41:23 +03:00
84fed96097
add full dashboard: activity chart, recent entries, group photos, quick actions, active groups, top students
dev2026-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
dev2026-09-06 14:56:06 +03:00
621c3c3b5c
add soft delete with trash page and group photo chronology with styling
dev2026-09-06 13:51:47 +03:00
3c22d72a27
show attached files as type icons labeled as resident's works on share page
dev2026-09-06 12:37:42 +03:00
d8802b508d
add Files admin section: list with filters, search, student/group/date, pagination
dev2026-09-06 12:25:39 +03:00
9fbd88983c
open attachment images in the same-page lightbox like photos
dev2026-09-06 12:05:32 +03:00
3d3856bf35
show project files in share page cards with image preview and file download
dev2026-09-06 11:50:02 +03:00
a117184a2a
make project file tokens public; keep name links with image preview and file download
dev2026-09-06 11:35:40 +03:00
ac8621c5aa
serve project files by token hash, preview images inline and download other files
dev2026-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
dev2026-09-06 11:29:34 +03:00
c2c5f2ed42
add photo placeholder, mirrored camera capture, configurable footer, and student .url zip export
dev2026-09-06 11:22:00 +03:00