dev
fac668567e
feat: редизайн страницы отчёта ученика — портфолио-стиль, галерея с листанием и видео
...
- renderStudentReport: детский учебный дизайн (крупные скругления, sticky-навигация, секции-карточки)
- журнал занятий в две колонки (одна на мобильных)
- единая галерея фото и видео: листание кнопками/стрелками, счётчик
- воспроизведение видео прямо в лайтбоксе
- кнопка закрытия ✕, закрытие по фону и Esc
- модалка экспорта отчёта ученика (период и выбор содержимого)
2026-09-12 23:55:35 +03:00
dev
9203eee5d2
fix: требовать фотографию при создании записи (POST /api/entries) на уровне API
2026-09-12 17:26:51 +03:00
dev
fd753c1318
Add cookie notice with settings, jfif preview support, and share page title from link name
2026-09-12 10:05:02 +03:00
dev
5aee2ce3f5
Bans page: users-style table with badges, client-side pagination, manual ban modal (POST /api/bans with ip/reason/hours), unban row buttons
2026-09-12 00:59:32 +03:00
dev
19b0c855a9
Cache HTML/JS/CSS with no-cache revalidation (ETag 304): browsers always get fresh pages after docker restart; vendor and image caches unchanged
2026-09-12 00:47:18 +03:00
dev
d5359dd31f
Add honeypot field to login form: instant 24h IP ban on autofill
2026-09-12 00:40:29 +03:00
dev
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
2026-09-12 00:35:51 +03:00
dev
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
2026-09-12 00:02:23 +03:00
dev
9798872f20
Add in-memory caching layer with TTL and invalidation for settings, groups, students, entries, share payloads and stats; add static asset caching headers
2026-09-11 23:52:58 +03:00
dev
f8036fae79
Fix: backup/restore now includes group_photos and entry_photos tables; increase AI request timeout to 120s (configurable via AI_REQUEST_TIMEOUT_MS)
2026-09-11 23:12:16 +03:00
dev
4db02d75bc
Add AI-check details modal on worker page and raise backup upload limit
2026-09-11 16:26:30 +03:00
dev
275ed46dfb
Add HF model auto-download with configurable AI env, and share link visibility toggles
2026-09-11 13:12:13 +03:00
dev
b7e798b867
Add AI auto-check worker, share link message/link fields, and update journal/settings UI
2026-09-11 10:29:49 +03:00
dev
3850fe35e4
Update project files
2026-09-10 11:26:51 +03:00
dev
0d6d059f5b
Add JFIF to JPG conversion for student photo uploads
2026-09-10 00:41:16 +03:00
dev
63494f322b
Add pagination to audit page
2026-09-10 00:18:56 +03:00
dev
89152295ea
Add AI text correction button to journal edit modal
2026-09-10 00:06:38 +03:00
dev
5ae476551d
Fix trash: add missing deleted_at IS NOT NULL filter to main query
2026-09-09 23:44:37 +03:00
dev
0681831aaf
Add debug logging to trash and restore endpoints
2026-09-09 23:39:30 +03:00
dev
0f267ca6a9
Fix trash: improve error handling and add logging for restore/perm delete denials
2026-09-09 23:28:02 +03:00
dev
018c65adc5
refactor: move frontend JS to external files and enable strict CSP
2026-09-09 10:06:49 +03:00
dev
d6e589d2f5
feat: add branches feature, security audit, and multi-branch support
2026-09-09 09:41:07 +03:00
dev
7a003e5df6
Add system info dashboard to settings
...
- New /api/system-info endpoint returning DB size, table sizes, photo/file counts, uploads stats, disk usage
- System info cards in settings page (responsive grid)
- Replaced inline onclick handlers with data attributes + event delegation in groups.html
2026-09-09 01:08:48 +03:00
dev
e0cec0f943
add admin audit log (11), hide stacktraces via NODE_ENV=production (13), validate spam_interval_min>=1 (16)
2026-09-08 12:12:29 +03:00
dev
441bdfe0fe
group photo upload: respond 500 on DB error instead of hanging (async throw in express4)
2026-09-08 12:00:25 +03:00
dev
eef33e457f
support HEIC/HEIF uploads: convert to JPEG via heic-convert; graceful multer errors for group photos
2026-09-08 11:54:38 +03:00
dev
ea14fd654f
fix backup restore: stream-peek gzip content instead of zlib.gunzipFile (node20 API)
2026-09-08 11:38:38 +03:00
dev
8a50b46b7b
harden anti-spam and file serving; backup restore to disk; json body limit
...
- Add honeypot field to public submission form + server-side check
- Serve shared files only in context of a valid share link (/api/share/:shareToken/files/:fileToken)
- Switch backup restore upload to diskStorage (50MB) with temp-dir cleanup
- Limit JSON body to 1mb
- Document fixed audit items
2026-09-08 11:36:34 +03:00
dev
57f2ea4f41
add share-link password/expiry, journal touch-ups, ddns helper and audit docs
2026-09-08 10:54:24 +03:00
dev
6844d659fc
harden security and add public TLS scaffold
...
- require ADMIN_PASSWORD (no default), remove CORS
- close public DB port, move DB credentials to .env (DB_PASSWORD)
- fix HTML escaping, add helmet + sec headers (no CSP due to inline scripts)
- rate limit public routes by IP (express-rate-limit)
- validate restore data and confine file unlinking to uploads/
- block dangerous upload extensions, 30MB per-entry limit, SVG not served inline
- return 400 on unknown group_id in POST /api/entries
- add commented Caddy/Let's Encrypt reverse-proxy scaffold + Caddyfile.example
- update README
2026-09-07 11:27:04 +03:00
dev
f13031e9b3
add detach files feature, utf8 filename fix, and error pages
2026-09-07 09:42:28 +03:00
dev
84fed96097
add full dashboard: activity chart, recent entries, group photos, quick actions, active groups, top students
2026-09-06 15:08:39 +03:00
dev
621c3c3b5c
add soft delete with trash page and group photo chronology with styling
2026-09-06 13:51:47 +03:00
dev
d8802b508d
add Files admin section: list with filters, search, student/group/date, pagination
2026-09-06 12:25:39 +03:00
dev
3d3856bf35
show project files in share page cards with image preview and file download
2026-09-06 11:50:02 +03:00
dev
a117184a2a
make project file tokens public; keep name links with image preview and file download
2026-09-06 11:35:40 +03:00
dev
ac8621c5aa
serve project files by token hash, preview images inline and download other files
2026-09-06 11:33:33 +03:00
dev
c5fdf006f5
add project file upload to student form, project_files table with backup/restore, download in journal, and crash-proof entries endpoint
2026-09-06 11:29:34 +03:00
dev
c2c5f2ed42
add photo placeholder, mirrored camera capture, configurable footer, and student .url zip export
2026-09-06 11:22:00 +03:00
dev
3b1341a0c2
add autocomplete input for student selection in journal filters, link creation, and links admin
2026-09-05 20:26:21 +03:00
dev
6dc54e49b8
batch add students: add optional group selection in batch modal
2026-09-05 18:31:28 +03:00