dev
1145be02f3
feat: persistent photo job queue, worker, history with rollback
...
- Replace in-memory photoAiJobs Map with DB-backed photo_jobs table
- Background photo worker (worker.js) with retry, backoff, stale reset
- Handles both AI (Real-ESRGAN) and server-side (sharp) enhancement
- Controlled via photo_worker_enabled setting
- Photo job history in enhance modal with before/after thumbnails + rollback
- Worker dashboard: photo jobs section with status counts, recent table,
compare slider for before/after, rollback from worker UI
- New endpoints: /api/photo-jobs/status|wake|enabled|requeue-failed,
/api/entries/:id/photo/jobs (history), .../rollback
- swapEntryPhotoFiles logs every mutation to photo_jobs table
2026-09-17 17:36:56 +03:00
dev
3a345cbefd
feat: AI photo enhancement (Real-ESRGAN container) + restore original
...
- new photo-ai service: FastAPI + Real-ESRGAN x2plus on CPU, internal only
- async job queue in server (POST enhance-ai / GET status), 5min timeout, sequential processing
- keep original photo backup (entries.photo_original_path, uploads/.originals), restore-original endpoint
- UI: AI button and restore-original button in enhance modal
- db: photo_original_path column (init.sql, migration.sql, runtime ensure)
2026-09-17 15:37:49 +03:00
dev
57e48a9d4f
fix(ai): adaptive max_tokens per backend (reasoning profiles get 1024+, native llama.cpp stays compact; per-profile max_tokens override); include entry texts in ai_status SSE notify so journal updates live without reload; audit log action filter; links pagination; settings validation & UI improvements
2026-09-17 14:12:36 +03:00
dev
bbfde902a5
feat(journal): live AI status updates in entry cards via Postgres NOTIFY trigger + SSE ai_status events
2026-09-17 11:14:27 +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
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
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
7ccc9199e0
Add cover_path column to groups table for group cover photo feature
2026-09-10 01:16:32 +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
57f2ea4f41
add share-link password/expiry, journal touch-ups, ddns helper and audit docs
2026-09-08 10:54:24 +03:00
dev
f13031e9b3
add detach files feature, utf8 filename fix, and error pages
2026-09-07 09:42:28 +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
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
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