feat: jwt cache, redis health, help-ticket admin, and write rate limits
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m33s

Cut Auth.js DB load with cached jwtVersion checks, surface Redis in /api/health and deploy warnings, add admin help-center ticket reply UI, rate-limit API tickets/reactions/referral claims, and revoke PATs on sign-out-everywhere.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-07-21 21:58:48 +02:00
1 parent 3bb96eb6f3
commit 968ca15c27
23 files changed
+1344 -205

No files matched your search

+37
View File
@@ -1001,6 +1001,7 @@
"writeableBoxes": "Writeable boxes",
"photos": "Photos",
"tickets": "Tickets",
"helpTickets": "Help center tickets",
"events": "Events",
"polls": "Polls",
"banners": "Banners",
@@ -1523,6 +1524,41 @@
"colDate": "Date",
"meta": "by {user} · {count} msg · {category}"
},
"helpTickets": {
"title": "Help center tickets",
"subtitle": "Player tickets from /help/tickets",
"noTickets": "No open help center tickets",
"searchPlaceholder": "Search title, user or ID…",
"presetOpen": "Open",
"presetAll": "All",
"statusOpen": "Open",
"statusClosed": "Closed",
"colTicket": "Ticket",
"colStatus": "Status",
"colUser": "User",
"colCreated": "Created",
"colUpdated": "Updated",
"meta": "by {user} · {count} replies",
"backToList": "Back to list",
"threadTitle": "Conversation",
"staffBadge": "Staff",
"replyPlaceholder": "Reply as staff…",
"replySubmit": "Send reply",
"replyHint": "Ctrl+Enter to send.",
"closeSubmit": "Close ticket",
"reopenSubmit": "Reopen ticket",
"closedHint": "This ticket is closed.",
"actionsTitle": "Actions",
"requesterTitle": "Requester",
"detailsTitle": "Details",
"rankLabel": "Rank {rank}",
"messageCountLabel": "Messages",
"success": {
"replied": "Reply sent.",
"closed": "Ticket closed.",
"reopened": "Ticket reopened."
}
},
"cfh": {
"title": "Call for Help",
"subtitle": "In-game CFH / support tickets",
@@ -2393,6 +2429,7 @@
"eventTypes": "Event types",
"polls": "Polls",
"tickets": "Tickets",
"helpTickets": "Help center tickets",
"templates": "Templates",
"directory": "Directory",
"multiAccounts": "Multi-accounts",
+37
View File
@@ -953,6 +953,7 @@
"writeableBoxes": "Box modificabili",
"photos": "Foto",
"tickets": "Ticket",
"helpTickets": "Ticket centro assistenza",
"events": "Eventi",
"polls": "Sondaggi",
"banners": "Banner",
@@ -1479,6 +1480,41 @@
"colDate": "Data",
"meta": "di {user} · {count} msg · {category}"
},
"helpTickets": {
"title": "Ticket centro assistenza",
"subtitle": "Ticket dei giocatori da /help/tickets",
"noTickets": "Nessun ticket aperto nel centro assistenza",
"searchPlaceholder": "Cerca titolo, utente o ID…",
"presetOpen": "Aperti",
"presetAll": "Tutti",
"statusOpen": "Aperti",
"statusClosed": "Chiusi",
"colTicket": "Ticket",
"colStatus": "Stato",
"colUser": "Utente",
"colCreated": "Creato",
"colUpdated": "Aggiornato",
"meta": "di {user} · {count} risposte",
"backToList": "Torna all'elenco",
"threadTitle": "Conversazione",
"staffBadge": "Staff",
"replyPlaceholder": "Rispondi come staff…",
"replySubmit": "Invia risposta",
"replyHint": "Ctrl+Invio per inviare.",
"closeSubmit": "Chiudi ticket",
"reopenSubmit": "Riapri ticket",
"closedHint": "Questo ticket è chiuso.",
"actionsTitle": "Azioni",
"requesterTitle": "Richiedente",
"detailsTitle": "Dettagli",
"rankLabel": "Rank {rank}",
"messageCountLabel": "Messaggi",
"success": {
"replied": "Risposta inviata.",
"closed": "Ticket chiuso.",
"reopened": "Ticket riaperto."
}
},
"cfh": {
"title": "Call for Help",
"subtitle": "Ticket CFH in-game",
@@ -2628,6 +2664,7 @@
"eventTypes": "Tipi evento",
"polls": "Sondaggi",
"tickets": "Ticket",
"helpTickets": "Ticket centro assistenza",
"templates": "Template",
"directory": "Directory",
"multiAccounts": "Multi-account",
+37
View File
@@ -998,6 +998,7 @@
"writeableBoxes": "Bewerkbare boxes",
"photos": "Foto's",
"tickets": "Tickets",
"helpTickets": "Helpcentrum-tickets",
"events": "Events",
"polls": "Polls",
"banners": "Banners",
@@ -2729,6 +2730,7 @@
"eventTypes": "Evenementtypen",
"polls": "Polls",
"tickets": "Tickets",
"helpTickets": "Helpcentrum-tickets",
"templates": "Sjablonen",
"directory": "Adresboek",
"multiAccounts": "Multi-accounts",
@@ -2815,6 +2817,41 @@
"colDate": "Datum",
"meta": "door {user} · {count} berichten · {category}"
},
"helpTickets": {
"title": "Helpcentrum-tickets",
"subtitle": "Spelertickets van /help/tickets",
"noTickets": "Geen open helpcentrum-tickets",
"searchPlaceholder": "Zoek op titel, gebruiker of ID…",
"presetOpen": "Open",
"presetAll": "Alle",
"statusOpen": "Open",
"statusClosed": "Gesloten",
"colTicket": "Ticket",
"colStatus": "Status",
"colUser": "Gebruiker",
"colCreated": "Aangemaakt",
"colUpdated": "Bijgewerkt",
"meta": "door {user} · {count} antwoorden",
"backToList": "Terug naar lijst",
"threadTitle": "Gesprek",
"staffBadge": "Staff",
"replyPlaceholder": "Antwoord als staff…",
"replySubmit": "Antwoord versturen",
"replyHint": "Ctrl+Enter om te versturen.",
"closeSubmit": "Ticket sluiten",
"reopenSubmit": "Ticket heropenen",
"closedHint": "Dit ticket is gesloten.",
"actionsTitle": "Acties",
"requesterTitle": "Aanvrager",
"detailsTitle": "Details",
"rankLabel": "Rank {rank}",
"messageCountLabel": "Berichten",
"success": {
"replied": "Antwoord verzonden.",
"closed": "Ticket gesloten.",
"reopened": "Ticket heropend."
}
},
"cfh": {
"title": "Call for Help",
"subtitle": "In-game CFH / ondersteuningstickets",