vinterliste/server
Ole-Morten Duesund dc349a9373 chore(sessions): schedule periodic expired-session GC
gcSessions() existed but only ran on signup. On low-volume instances the
sessions table would grow forever as users logged in/out without ever
triggering a sweep. Schedule it hourly from server boot via
setInterval(...).unref() so it doesn't keep the process alive. Run once
on boot too, to clean up whatever accumulated while the previous instance
was down. Tests import individual route modules instead of server/index.ts,
so this only fires in a real server boot.

Surfaced by /audit simplify.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 17:50:06 +02:00
..
activities.ts perf(activities): bulk-fetch list serialisation (N+1 → constant) 2026-05-25 17:45:46 +02:00
admin.ts Admin role, root/home URL split, activity permalinks 2026-05-25 13:23:13 +02:00
auth.ts External profile links (max 5 per user) 2026-05-25 16:20:04 +02:00
db.ts Drag-and-drop unified activity list with per-user sort order 2026-05-25 16:47:55 +02:00
feedback.ts fix(feedback): stop exposing done_by user id in API responses 2026-05-25 13:54:07 +02:00
friends.ts Friends + friends-only visibility + blocking 2026-05-25 14:47:20 +02:00
index.ts chore(sessions): schedule periodic expired-session GC 2026-05-25 17:50:06 +02:00
invites.ts fix(invites): build share URL on the client, not the server 2026-05-25 16:25:55 +02:00
og.ts OpenGraph meta on the SPA's shareable routes 2026-05-25 16:05:43 +02:00
roles.ts Admin role, root/home URL split, activity permalinks 2026-05-25 13:23:13 +02:00
session.ts Scaffold Vinterliste — end-to-end encrypted winter activity list 2026-05-25 12:27:14 +02:00
settings.ts Self-registry toggle, invite links with attribution, first-user-admin 2026-05-25 13:45:32 +02:00
tags.ts perf(activities): bulk-fetch list serialisation (N+1 → constant) 2026-05-25 17:45:46 +02:00
users.ts perf(activities): bulk-fetch list serialisation (N+1 → constant) 2026-05-25 17:45:46 +02:00